iptables之拓展知识

禁ping的相关策略

1)默认直接禁ping的问题?

[root@proxy ~]# iptables -I INPUT -p icmp -j DROP
//设置完上面的规则后,其他主机确实无法ping本机,但本机也无法ping其他主机
//当本机ping其他主机,其他主机回应也是使用icmp,对方的回应被丢弃

2)禁止其他主机ping本机,允许本机ping其他主机

[root@proxy ~]# iptables -A INPUT -p icmp –icmp-type echo-request -j DROP
//仅禁止入站的ping请求,不拒绝入站的ping回应包

注意:关于ICMP的类型,可以参考help帮助,参考命令如下:

[root@proxy ~]# iptables -p icmp –help

防火墙扩展规则

1.根据MAC地址封锁主机
2.在一条规则中开放多个TCP服务
3.根据IP范围设置封锁规则

iptables在基本过滤条件的基础上还扩展了很多其他条件,在使用时需要使用-m参数来启动这些扩展功能,语法如下:
iptables 选项 链名称 -m 扩展模块 –具体扩展条件 -j 动作

根据MAC地址过滤

1)根据IP过滤的规则,当对方修改IP后,防火墙会失效

[root@proxy ~]# iptables -F
[root@proxy ~]# iptables -I INPUT -s 192.168.4.100 -p tcp –dport 22 -j DROP
//设置规则禁止192.168.4.100使用ssh远程本机

但是,当client主机修改IP地址后,该规则就会失效,注意因为修改了IP,对client主机的远程连接会断开,需要使用virt-manager开启虚拟机操作:

[root@client ~]# ifconfig eth0 192.168.4.101
[root@client ~]# ssh 192.168.4.5 //依然成功

根据MAC地址过滤,可以防止这种情况的发生

[root@client ~]# ip link show eth0 //查看client的MAC地址

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 52:54:00:00:00:0b brd ff:ff:ff:ff:ff:ff

[root@proxy ~]# iptables -A INPUT -p tcp –dport 2 -m mac –mac-source 52:54:00:00:00:0b -j DROP
//拒绝52:54:00:00:00:0b这台主机远程本机

步骤二:基于多端口设置过滤规则

1)一次需要过滤或放行很多端口时会比较方便

[root@proxy ~]# iptables -A INPUT -p tcp -m multiport –dports 20:22,25,80,110,143,16501:16800 -j ACCEPT
//一次性开启20,21,22,25,80,110,143,16501到16800所有的端口

提示,多端口还可以限制多个源端口,但因为源端口不固定,一般不会使用,限制多个源端口的参数是–sports.

步骤三:根据IP地址范围设置规则

1)允许从 192.168.4.10-192.168.4.20 登录

[root@proxy ~]# iptables -A INPUT -p tcp –dport 22 -m iprange –src-range 192.168.4.10-192.168.4.20 -j ACCEPT

注意,这里也可以限制多个目标IP的范围,参数是–dst-range,用法与–src-range一致。

2)禁止从 192.168.4.0/24 网段其他的主机登录

[root@proxy ~]# iptables -A INPUT -p tcp –dport 22 -s 192.168.4.0/24 -j DROP

猜你喜欢

转载自blog.csdn.net/weixin_42816196/article/details/82496967