iptables是一个用于管理防火墙策略的命令,同时也是一个基于内核级别的防火墙服务,用户可以基于它对数据包进行过滤操作,拒绝掉危险的外部请求流量,保护内网的安全。iptables命令默认仅支持IPv4协议,如需支持IPv6协议,则需使用ip6tables命令。

语法格式:iptables 参数 对象

常用参数:

-A向规则链中追加条目 -L显示规则链中的已有条目
-c初始化包计数器和字节计数器-N创建新的用户自定义规则链
-D从规则链中删除条目-o设置数据包离开本机时所使用的网络接口
-E重命名指定的用户自定链-p设置要匹配数据包的协议类型
-F清除规则链中的现有条目-P设置规则链中的默认目标策略
-t设置要管理的表-R替换规则链中的指定条目
-h显示帮助信息-s设置要匹配数据包的源IP地址
-i设置数据包进入本机的网络接口-v显示执行过程详细信息
-j设置要跳转的目标-X删除指定的用户自定链
-I向规则链中插入条目-Z清空规则链中的包计数器和字节计数器

参考示例

显示当前防火墙策略中全部的过滤表信息:

[root@linuxcool ~]# iptables -L

显示当前防火墙策略中指定的NAT表信息:

[root@linuxcool ~]# iptables -L -t nat

禁止指定的远程主机访问本地全部的服务(通通禁止):

[root@linuxcool ~]# iptables -I INPUT -s 192.168.10.10 -j DROP

禁止指定的远程主机访问本地的某个端口,但允许访问其余端口:

[root@linuxcool ~]# iptables -I INPUT -s 192.168.10.10 -p tcp --dport 22 -j DROP
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。