[linux]linux下的iptables配置简介

简介: iptables常用命令:iptables -A 将一个规则添加到链末尾iptables -D 将指定的链中删除规则iptables -F 将指定的链中删除所有规则iptables -I 将在指定链的指定编号位置插...

iptables常用命令:

iptables -A 将一个规则添加到链末尾
iptables -D 将指定的链中删除规则
iptables -F 将指定的链中删除所有规则
iptables -I 将在指定链的指定编号位置插入一个规则
iptables -L 列出指定链中所有规则
iptables -t nat -L 列出所有NAT链中所有规则
iptables -N 建立用户定义链
iptables -X 删除用户定义链
iptables -P 修改链的默认设置,如将iptables -P INPUT DROP (将INPUT链设置为DROP)

常见设置参数介绍:

    --dport 指定目标TCP/IP端口 如 –dport 80
    --sport 指定源TCP/IP端口 如 –sport 80
    -p tcp 指定协议为tcp
    -p icmp 指定协议为ICMP
    -p udp 指定协议为UDP
    -j DROP 拒绝
    -j ACCEPT 允许
    -j REJECT 拒绝并向发出消息的计算机发一个消息
    -j LOG 在/var/log/messages中登记分组匹配的记录
    -m mac –mac 绑定MAC地址
    -m limit –limit 1/s 1/m 设置时间策列
    -s 10.10.0.0或10.10.0.0/16 指定源地址或地址段
    -d 10.10.0.0或10.10.0.0/16 指定目标地址或地址段
    -s ! 10.10.0.0 指定源地址以外的

iptables匹配包的状态解释

指定要匹配包的的状态,当前有 4 种状态可用:INVALID,ESTABLISHED,NEW 和 RELATED。


INVALID 意味着这个包没有已知的流或连接与之关联,也可能是它包含的数据或包头有问题。

ESTABLISHED 意思是包是完全有效的,而且属于一个已建立的连接,这个连接的两端都已经有数据发送。

NEW 表示包将要或已经开始建立一个新的连接,或者是这个包和一个还没有在两端都有数据发送的连接有关。

RELATED 说明包正在建立一个新的连接,这个连接是和一个已建立的连接相关的。比如,FTP data transfer,ICMP error 和一个 TCP 或 UDP 连接相关。注意 NEW 状态并不在试图建立新连接的 TCP 包里寻找 SYN 标记,因此它不应该不加修改地用在只有一个防火墙或在不同的防火墙之间没有启用负载平衡的地方。

配置文件位置:

 /etc/sysconfig/iptables

iptables服务命令

-- 启动服务
# /etc/init.d/iptables start 
# service iptables start

-- 停止服务
# /etc/init.d/iptables stop
# service iptables stop

-- 重启服务
# /etc/init.d/iptables restart
# service iptables restart

-- 保存设置
# /etc/init.d/iptables save
# service iptables save

例子

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
允许外部tcp协议访问端口为3306转台绑定为new
目录
相关文章
|
2月前
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
140 64
|
2月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
214 73
|
5天前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
20 2
|
29天前
|
Unix 关系型数据库 MySQL
Linux 简介
Linux 简介
40 2
Linux 简介
|
18天前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
164 3
|
22天前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
26天前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
33 1
|
2月前
|
Linux Docker 容器
Linux的namespace和cgroups简介
本文介绍了Linux的Namespace技术和cgroups,解释了它们如何帮助实现容器的隔离和资源限制。
89 7
Linux的namespace和cgroups简介
|
2月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
2月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
68 1