Linux 禁止与屏蔽IP访问方法详解

发布时间:2019-08-15编辑:脚本学堂
有关linux 禁止IP访问的方法,linux下禁止某个ip访问,或屏蔽指定的IP地址访问,借助hosts.deny\hosts.allow文件或iptables禁止某IP或IP地址段的访问。

首先,来看linux禁止IP地址访问的配置方法。

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

如果请求访问的主机名或IP不包含在/etc/hosts.allow中,那么tcpd进程就检查/etc/hosts.deny。

看请求访问的主机名或IP有没有包含在hosts.deny文件中。
如果包含,那么访问就被拒绝;如果既不包含在/etc/hosts.allow中,又不包含在/etc/hosts.deny中,那么此访问也被允许。
:[:
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的GFW也很强。

Linux 屏蔽IP访问,借助iptables 防火墙规则禁止IP或IP地址段的访问。

例子:
 

#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
service iptables save 保存在/etc/sysconfig/iptables 若没有iptables文件会自动创建。