Linux 禁止某个IP地址访问的方法

发布时间:2020-02-27编辑:脚本学堂
本文分享下,在linux系统中禁止某个IP访问主机的方法,学习下/etc/hosts.allow和/etc/hosts.deny文件的用法,有需要的朋友作个参考。

linux系统中,/etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,可以配置允许或拒绝某个ip、ip段的客户访问linux的某项服务。

如果请求访问的主机名或IP不包含在/etc/hosts.allow中,那么tcpd进程就检查/etc/hosts.deny。
1,确认请求访问的主机名或IP,是否包含在hosts.deny文件中,包含,则访问被拒绝;
2,否则,如果不包含在/etc/hosts.allow中,又不包含在/etc/hosts.deny中,那么此访问也被允许。
 

<daemon list>:<client list>[:<option>:<option>:...]
daemon list     服务进程名列表,如telnet的服务进程名为in.telnetd
client list     访问控制的客户端列表,可以写域名、主机名或网段,如.trubolinux.com.cn或者192.168.1.
option          可选选项,这里可以是某些命令,也可以是指定的日志文件

例子:hosts.allow
 

复制代码 代码示例:
in.telnetd:.vpser.net
vsftpd:192.168.0.
sshd:192.168.0.0/255.255.255.0

/etc/hosts.allow里第一行vpser.net表示,只有vpser.net这个域里的主机允许访问TELNET服务,注意vpser.net前面的那个点(.)。
/etc/hosts.allow里第二行表示,只有192.168.0这个网段的用户允许访问FTP服务,注意0后面的点(.)。
/etc/hosts.allow里第三行表示,只有192.168.0这个网段的用户允许访问SSH服务,注意这里不能写为192.168.0.0/24。虽然在CISCO路由器种这两中写法是等同的。

在/etc/hosts.deny里加上:
 

复制代码 代码示例:
sshd:62.75.214.93
sshd:203.215.252.189
sshd:219.143.200.169
sshd:60.12.193.134
sshd:201.83.220.44
sshd:c953dc2c.virtua.com.br
sshd:gera125.server4you.de

如此这些就拒绝了这些地址访问本机的ssh服务了。
另外,有兴趣的朋友还可以研究下linux的iptables防火墙,也是相当强的。

有关iptables的文章,请参考:
CentOS5.7 iptables防火墙配置实例
linux下iptables防火墙的配置详解
linux下iptables封锁IP方法详解
linux中iptables防火墙配置实例分享
生产环境中企业iptables配置实例
Linux下 iptables 配置实例 分享
linux中iptables防火墙配置实例详解
linux下iptables防火墙配置笔记
阿里云centos主机配置iptables防火墙遇到的一些问题
使用iptables屏蔽IP段的方法举例
iptables 防火墙配置一例
iptables 实用教程
配置 iptables 静态防火墙
iptables防火墙配置一例
iptables配置实例详解
iptables实例收藏
linux iptables入门教程