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

 

posted @ 2019-07-26 23:31  heqiuyong  阅读(1891)  评论(0编辑  收藏  举报