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