RHEL中有两种防火墙,tcpwraps和ipfilter。tcpwraps使用简单,在特定的场景下(比如指定ip登录SSH)比较好用。
tcpwraps:
涉及两个配置文件,/etc/hosts.allow和/etc/hosts.deny。
格式:
daemon1,daemon2 : client1 client2 : 选项1 选项2
#匹配规则:
#首先在allow里匹配,如果匹配成功了,则直接允许,不再匹配deny里的;
#如果在allow里没有匹配成功,则到deny里继续匹配;
#如果在deny里匹配成功了,则拒绝连接;
#如果在deny里也没有匹配成功,则直接通过。
#首先在allow里匹配,如果匹配成功了,则直接允许,不再匹配deny里的;
#如果在allow里没有匹配成功,则到deny里继续匹配;
#如果在deny里匹配成功了,则拒绝连接;
#如果在deny里也没有匹配成功,则直接通过。
格式示例如下:
sshd : 192.168.30.1
sshd : 192.168.30.
sshd : 192.168.30.*
sshd : 192.168.30.0/24
sshd : 192.168.30.0/255.255.255.0
sshd : 192.168.30.0/255.255.255.0 EXCEPT 192.168.30.251 EXCEPT表示除了
sshd : ALL
vsftpd: 192.168.30.251
测试环境:node1(192.168.100.10)、node2(192.168.100.20)、node3(192.168.100.30)
1、只有192.168.100.20可以连接192.168.100.10,其他都拒绝
node2正常登录
node3不行
2、设置192.168.100整个网段都可以
都可以正常登录了
查看tcpwraps是否支持某个服务,就要看该服务的模块中是否有libwrap模块,可通过该命令查看ldd -v `which sshd` | grep libwrap
如果有反馈,则支持
如果没有反馈,就不支持