禁止某个 IP 连接 Linux 服务器
在 Linux 中有 /etc/hosts.allow 和 /etc/hosts.deny 两个文件是控制远程访问设置的,通过设置这个文件可以允许或者拒绝某个 IP 或者 IP 段的客户访问 linux 的某项服务。
如果请求访问的主机名或 IP 不包含在 /etc/hosts.allow 中,那么 tcpd 进程就检查 /etc/hosts.deny。看请求访问的主机名或IP有没有包含在 hosts.deny 文件中。如果包含,那么访问就被拒绝;如果既不包含在 /etc/hosts.allow 中,又不包含在 /etc/hosts.deny 中,那么此访问也被允许。
一、文件格式
文件的格式为:<daemon list>:<client list>[:<option>:<option>:...]
- daemon list:服务进程名列表,如telnet的服务进程名为in.telnetd
- client list:访问控制的客户端列表,可以写域名、主机名或网段,如.python.org或者192.168.1.
- option:可选选项,这里可以是某些命令,也可以是指定的日志文件
二、实例
文件示例:hosts.deny文件
in.telnetd:.python.org
vsftpd:192.168.0.
sshd:192.168.0.0/255.255.255.0
第一行表示,禁止python.org这个域里的主机允许访问TELNET服务,注意前面的那个点(.)。
第二行表示,禁止192.168.0这个网段的用户允许访问FTP服务,注意0后面的点(.)。
第三行表示,禁止192.168.0这个网段的用户允许访问SSH服务,注意这里不能写为192.168.0.0/24。在CISCO路由器种这两中写法是等同的。