CentOS7 iptables安装及操作

添加规则时的考量点:
(1)要实现哪种功能:判断添加在哪张表上;
(2)报文流经的路径:判断添加在哪个链上;

链上规则的次序:
(1)同类规则(访问同一应用),匹配范围小的放上面;
(2)不同类规则(访问不同应用),匹配到报文频率较大的放上面;

功能的优先级次序:raw --> mangle --> nat --> filter

安装:

[root@bogon ~]# yum install -y iptables-services

启动:

[root@bogon ~]# systemctl start iptables

[root@bogon ~]# systemctl enable iptables

查看所有规则:

[root@bogon ~]# iptables -vnL

[root@bogon ~]# cat /etc/sysconfig/iptables

常用选项:

-A:追加到规则的最后一条


-D:删除记录


-I:添加到规则的第一条

-P:修改表默认策略

-s:源ip地址或ip网段

--sport:源端口

-d:目的ip地址或ip网段

--dport:目的端口

-p:(proto)规定通信协议,常见的协议有:tcp、udp、icmp、all

-t:(table)指定表,不指定默认为filter表,可选的表有:filter,raw,mangle,nat

-i:进入的网卡,可配搭的链有:PREROUTING,INPUT, FORWARD

-o:出去的网卡,可配搭的链有:POSTROUTING,OUTPUT,FORWARD

-m:模块,可选模块有:state,mac


-j:(jump)指定要跳转的目标,常见的目标有:ACCEPT(接收数据包)、DROP(丢弃数据包)、REJECT(拒绝),LOG(记录日志)

增加规则

放通22端口:

[root@bogon ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许ping:

[root@bogon ~]# iptables -I INPUT -p icmp --icmp-type 8 -j ACCEPT

允许lo接口所有数据:

[root@bogon ~]# iptables -A INPUT -i lo -j ACCEPT

放通tcp10000-20000端口:

[root@bogon ~]# iptables -I INPUT -p tcp --dport 10000:20000

允许所有已建立连接或已建立连接相关连接的数据包:

[root@bogon ~]# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

删除某个规则:

首先显示已有规则及序号:

[root@bogon ~]# iptables -vnL --line-numbers

删除序号为2的规则:

[root@bogon ~]# iptables -D INPUT 2

设置默认入站策略:

[root@bogon ~]# iptables -P INPUT DROP

清空规则:

清空规则之前先设置默认允许所有:

[root@bogon ~]# iptables -P INPUT ACCEPT

清空所有除默认规则以外的规则:

[root@bogon ~]# iptables -F

清空所有自定义链:

[root@bogon ~]# iptables -X

重置所有计数器

[root@bogon ~]# iptables -Z

保存规则:

[root@bogon ~]# service iptables save

保存规则版本:

[root@bogon ~]# iptables-save > /etc/sysconfig/iptables.20191018

恢复指定版本规则:

[root@bogon ~]# iptables-restore /etc/sysconfig/iptables.20191018

原文地址:https://www.cnblogs.com/heqiuyong/p/11253463.html