linux中的/etc/hosts.allow和/etc/hosts.deny详解

当linux主机需要允许/禁止某些ip地址/地址段访问某些资源或服务时,/etc/hosts.allow和/etc/hosts.deny就派上了用场!

两个文件的配置格式是:
服务:地址:允许/禁止

其中,服务可以是sshd、vsftpd、smbd、telnetd,也可以是all(所有服务);地址可以是某个具体的ip地址,也可以是地址段,比如192.168.1.1,192.168.2.0/24,192.168.1.,192.168.3.* 等等;第三项是allow或者deny,其中, :deny 和:allow可以省略不写。

当hosts.allow和hosts.deny有ip地址冲突时,以hosts.allow的设置为准。

举例:

1、允许192.168.1.1主机sshd远程登陆
编辑hosts.allow文件,写入 sshd:192.168.1.1:allow 或者 sshd:192.168.1.1

2、允许192.168.1.0/24网段的所有主机远程访问所有资源
编辑hosts.allow文件,写入 all:192.168.1.0/24:allow 或者 all:192.168.1.

3、禁止192.168.1.0/24主机telnet远程登陆
编辑hosts.deny文件,写入 telnetd:192.168.1.*:deny 或者 telnetd:192.168.1.0/24

修改完这两个配置文件后,立即生效,已打开的会话不受影响。

一般情况下,hosts.allow和hosts.deny结合起来一起使用,才能保证更好的安全性。即在hosts.deny文件中写入“all:all:deny”,禁止一切ip地址远程访问所有资源,然后在hosts.allow文件中添加特定的ip地址允许远程访问资源即可。

多个ip地址或ip地址段设置相同时,可以用逗号分割开来写在一行。

ip地址可以是私网地址,也可以是主机所在的公网地址;如果挂着vpn的话,ip地址应该是vpn所分配的地址或地址段。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐