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