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

语法格式: iptables [参数]

常用参数:

-t<表>指定要操纵的表
-A向规则链中追加条目
-D从规则链中删除条目
-I向规则链中插入条目
-R替换规则链中的相应条目
-L显示规则链中的已有条目
-F清除规则链中的现有条目
-Z清空规则链中的数据包计数器和字节计数器
-N创建新的用户自定义规则链
-P定义规则链中的默认目标(策略)
-h显示帮助信息
-p<协议>指定要匹配的数据包的协议类型
-s<源地址>指定要匹配的数据包的源IP地址
-j<目标>指定要跳转的目标
-i<网络接口>指定数据包进入本机的网络接口
-o<网络接口>指定数据包离开本机做使用的网络接口
-c<包计数>在执行插入、追加和替换操作时初始化包计数器和字节计数器

参考实例

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

[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认证架构师,教育学(计算机专业硕士)。