在CentOS系统中,hosts.allow文件是用于控制哪些主机可以访问系统服务的重要工具,该文件位于/etc/hosts.deny目录下,它通过定义允许或拒绝访问的主机列表来管理网络服务,以下是对hosts.allow文件的基本介绍、配置方法以及一些常见问题解答。

hosts.allow 基本介绍
hosts.allow文件用于限制特定服务对特定主机的访问,与hosts.deny文件相反,hosts.allow文件中的规则优先级高于hosts.deny,这意味着如果两个文件中都有相同的规则,hosts.allow中的规则将生效。
配置方法
编辑hosts.allow文件
要编辑hosts.allow文件,通常需要使用文本编辑器,如vi或nano。
sudo vi /etc/hosts.allow
添加规则
在hosts.allow文件中,每行定义一个规则,格式如下:
service: hosts_to_allow service:指定要控制的服务,如sshd(SSH服务)、ftp(FTP服务)等。hosts_to_allow:指定允许访问该服务的主机列表,可以是单个IP地址、IP地址范围或通配符。
以下规则允许所有来自192.168.1.0/24网络的主机访问SSH服务:

sshd: 192.168.1.0/24 保存并退出
完成编辑后,保存文件并退出编辑器。
示例配置
以下是一个hosts.allow文件的示例配置:
sshd: 192.168.1.0/24
telnet: 192.168.1.10
smtp: 192.168.1.20, 192.168.1.21 在这个例子中,只有来自192.168.1.0/24网络的主机可以访问SSH服务,IP地址为192.168.1.10的主机可以访问telnet服务,而IP地址为192.168.1.20和192.168.1.21的主机可以访问smtp服务。
FAQs
Q1: 如何查看hosts.allow文件是否生效?
A1: 可以使用grep命令来查找与hosts.allow相关的规则,并检查它们是否被应用。

grep /etc/hosts.allow /var/log/messages
Q2: 如何撤销hosts.allow中的规则?
A2: 要撤销规则,只需删除或注释掉相应的行即可,要撤销允许192.168.1.0/24网络访问SSH服务的规则,可以执行以下命令:
sudo vi /etc/hosts.allow
然后找到并删除或注释掉以下行:
sshd: 192.168.1.0/24 保存并退出编辑器后,规则将被撤销。

