Linux iptables命令详解(附带实例)
Linux 中的 iptables 是一个用于管理防火墙策略的命令,同时也是一个基于内核级别的防火墙服务。
基于 iptables 命令,用户可以对数据包进行过滤操作,拒绝掉危险的外部请求流量,保护内网的安全。iptables 命令默认仅支持 IPv4 协议,如需支持 IPv6 协议,则需使用 ip6tables 命令。
iptables 命令的语法格式如下:
【实例 1】显示当前防火墙策略中全部的过滤表信息:
【实例 2】显示当前防火墙策略中指定的 NAT 表信息:
【实例 3】禁止指定的远程主机访问本地全部的服务(通通禁止):
【实例 4】禁止指定的远程主机访问本地的某个端口,但允许访问其余端口:
基于 iptables 命令,用户可以对数据包进行过滤操作,拒绝掉危险的外部请求流量,保护内网的安全。iptables 命令默认仅支持 IPv4 协议,如需支持 IPv6 协议,则需使用 ip6tables 命令。
iptables 命令的语法格式如下:
iptables 参数 对象
常用参数见下表:选项 | 描述 | 选项 | 描述 |
---|---|---|---|
-A | 向规则链中追加条目 | -L | 显示规则链中的已有条目 |
-c | 初始化包计数器和字节计数器 | -N | 创建新的用户自定义规则链 |
-D | 从规则链中删除条目 | -o | 设置数据包离开本机时所使用的网络接口 |
-E | 重命名指定的用户自定链 | -p | 设置要匹配数据包的协议类型 |
-F | 清除规则链中的现有条目 | -P | 设置规则链中的默认目标策略 |
-t | 设置要管理的表 | -R | 替换规则链中的指定条目 |
-h | 显示帮助信息 | -s | 设置要匹配数据包的源IP地址 |
-i | 设置数据包进入本机的网络接口 | -v | 显示执行过程详细信息 |
-j | 设置要跳转的目标 | -X | 删除指定的用户自定链 |
-I | 向规则链中插入条目 | -Z | 清空规则链中的包计数器和字节计数器 |
【实例 1】显示当前防火墙策略中全部的过滤表信息:
[root@clinux ~]# iptables -L
【实例 2】显示当前防火墙策略中指定的 NAT 表信息:
[root@clinux ~]# iptables -L -t nat
【实例 3】禁止指定的远程主机访问本地全部的服务(通通禁止):
[root@clinux ~]# iptables -I INPUT -s 192.168.10.10 -j DROP
【实例 4】禁止指定的远程主机访问本地的某个端口,但允许访问其余端口:
[root@clinux ~]# iptables -I INPUT -s 192.168.10.10 -p tcp --dport 22 -j DROP