iptables 示例
例2.1 在filter表的INPUT链的末尾添加一条防火墙规则.
[root@localhost ~]# iptables -t filter -A INPUT -p tcp -j ACCEPT
例2.2 在filter表的INPUT链中插入一条防火墙规则(此处省略了“-t filter”选项,按默认处理filter表).
[root@localhost ~]# iptables -I INPUT -p udp -j ACCEPT
例2.3 在filter表的INPUT链中插入一条防火墙规则(作为链中的第二条规则).
[root@localhost ~]# iptables -I INPUT 2 -p icmp -j ACCEPT
例2.4 查看filter表INPUT链中的所有规则,同时显示各条规则的顺序号.
[root@localhost ~]# iptables -L INPUT --line-numbers
例2.5 查看filter表各链中所有规则的详细信息,同时以数字形式显示地址和端口信息.
[root@localhost ~]# iptables -vnL
例2.6 删除filter表INPUT链中的第2条规则.
[root@localhost ~]# iptables -D INPUT 2
例2.7 清空filter表,nat表,mangle表各链中的所有规则.
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -t nat -F
[root@localhost ~]# iptables -t mangle -F
例2.8 将filter表中FORWARD规则链的默认策略设为DROP.
[root@localhost ~]# iptables -t filter -P FORWARD DROP
例2.9 将filter表中OUTPUT规则链的默认策略设为ACCEPT.
[root@localhost ~]# iptables -P OUTPUT ACCEPT
例2.10 查看iptables命令中关于icmp协议的帮助信息(在输出内容的部分列出).
[root@localhost ~]# iptables -p icmp -h
例2.11 在raw表中新增一条自定义的规则链,链名为TCP_PACKETS.
[root@localhost ~]# iptables -t raw -N TCP_PACKETS
[root@localhost ~]# iptables -t raw -L //查看raw表中的所有规则链中相关信息
例2.12 清空raw表中用户自定义的所有规则链.
[root@localhost ~]# iptables -t raw -x
例2.13 拒绝进入防火墙的所有icmp协议数据包.
[root@localhost ~]# iptables -I INPUT -p icmp -j REJECT
例2.14 允许防火墙转发除icmp协议以外的所有数据包(使用惊叹号“!”可以将条件取反).
[root@localhost ~]# iptables -A FORWARD -p ! icmp -j ACCEPT
[root@localhost ~]# iptables -L FORWARD
例2.15 拒绝转发来自192.168.1.11主机的数据,允许转发来自192.168.0.0/24网段的数据.
[root@localhost ~]# iptables -A FORWARD -s 192.168.1.11 -j REJECT
[root@localhost ~]# iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
例2.16 丢弃从外网接口(eth1)进入防火墙本机的源地址为私网地址的数据包.
[root@localhost ~]# iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
[root@localhost ~]# iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
[root@localhost ~]# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
例2.17 管理员在网关服务器上检测到来自某个IP网段(如10.20.30.0/24)的频繁扫描,希望设置iptables规则封堵改IP地址段,两小时后分解.
[root@localhost ~]# iptables -I INPUT -s 10.20.30.0/24 -j DROP //设置封堵策略
[root@localhost ~]# iptables -I FORWARD -s 10.20.30.0/24 -j DROP
[root@localhost ~]# at now 2 hours
at>iptables -D INPUT 1
at>iptables -D FORWARD 1
at><EOT> //此处按Ctrl D组合键
例2.18 仅允许系统管理员从202.13.0.0/16网段使用SSH方式远程登录防火墙主机.
[root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -j DROP
例2.19 允许本机开放从TCP端口20-1024提 |