Iptables防火墙iprange模块扩展匹配规则
iprange模块可以同时设置多个IP或者设置IP的某一段连续的范围,通过iprange模块可以对多个来源地址同时设置策略。
iprange模块的参数:
--src-range
:指定源地址范围。--dst-range
:指定目标地址范围。! --src-range
:非指定的源地址。! --dst-range
:非指定的目标地址。
可以在参数前面加!号表示去反。
案例:源地址范围为192.168.20.10-192.168.20.19的IP地址都不允许ping192.168.20.20这个目标地址。
1)编写防火墙规则
在INPUT链的filter表中添加对应的规则。
1.无需指定目标地址
[root@jxl-1 ~]# iptables -t filter -I INPUT -p icmp -m iprange --src-range 192.168.20.10-192.168.20.19 -j DROP
2.也可以指定目标地址,效果都一样
[root@jxl-1 ~]# iptables -t filter -I INPUT -p icmp -m iprange --src-range 192.168.20.10-192.168.20.19 --dst-range 192.168.20.20 -j DROP
2)查看添加的规则
禁止192.168.20.10-192.168.20.19的源地址请求的ICMP协议数据报文进入本机。
[root@jxl-1 ~]# iptables -L -n -v --line-number
Chain INPUT (policy ACCEPT 2033 packets, 2002K bytes)
num pkts bytes target prot opt in out source destination
1 0 0 DROP icmp -- * * 0.0.0.0/0 0.0.0.0/0 source IP range 192.168.20.10-192.168.20.19
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 2072 packets, 3079K bytes)
num pkts bytes target prot opt in out source destination
3)测试效果
登陆192.168.20.10这个服务器中ping192.168.20.20,发现ping不通,登陆192.168.20.21这个服务器,发现能ping通192.168.20.20。