学习啦>学习电脑>电脑安全>防火墙知识>

linux防火墙如何阻止ip访问

林辉分享

  我想设置下linux防火墙阻止某些ip的访问,用什么方法好呢?下面由学习啦小编给你做出详细的linux防火墙阻止ip访问设置方法介绍!希望对你有帮助!

  linux防火墙阻止ip访问设置方法一:

  Linux系统中,如果需要禁止特定ip地址访问来保证系统的安全,只需通过操作iptalbes来实现,下面就给绍下Linux如何禁止某个ip地址访问。

  linux防火墙阻止ip访问一、概述

  这两个文件是tcpd服务器的配置文件,tcpd服务器可以控制外部IP对本机服务的访问。这两个配置文件的格式如下:

  #服务进程名:主机列表:当规则匹配时可选的命令操作

  server_name:hosts-list[:command]

  /etc/hosts.allow控制可以访问本机的IP地址,/etc/hosts.deny控制禁止访问本机的IP。如果两个文件的配置有冲突,以/etc/hosts.deny为准。

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

  比如SSH服务,通常只对管理员开放,那就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。

  linux防火墙阻止ip访问二、配置

  1、修改/etc/hosts.allow文件

  # hosts.allow This file describes the names of the hosts which are

  # allowed to use the local INET services, as decided

  # by the ‘/usr/sbin/tcpd’ server.

  sshd:210.13.218.*:allow

  sshd:222.77.15.*:allow

  all:218.24.129.110 #表示接受110这个ip的所有请求!

  in.telnetd:140.116.44.0/255.255.255.0

  in.telnetd:140.116.79.0/255.255.255.0

  in.telnetd:140.116.141.99

  in.telnetd:LOCAL

  smbd:192.168.0.0/255.255.255.0 #允许192.168.0.网段的IP访问smbd服务

  #sendmail:192.168.1.0/255.255.255.0

  #pop3d:192.168.1.0/255.255.255.0

  #swat:192.168.1.0/255.255.255.0

  pptpd:all EXCEPT 192.168.0.0/255.255.255.0

  httpd:all

  vsftpd:all

  以上写法表示允许210和222两个ip段连接sshd服务(这必然需要hosts.deny这个文件配合使用),当然:allow完全可以省略的。

  ALL要害字匹配所有情况,EXCEPT匹配除了某些项之外的情况,PARANOID匹配你想控制的IP地址和它的域名不匹配时(域名伪装)的情况。

  2、修改/etc/hosts.deny文件

  # hosts.deny This file describes the names of the hosts which are

  # *not* allowed to use the local INET services, as decided

  # by the ‘/usr/sbin/tcpd’ server.

  # The portmap line is redundant, but it is left to remind you that

  # the new secure portmap uses hosts.deny and hosts.allow. In particular

  # you should know that NFS uses portmap!

  sshd:all:deny

  in.telnet:ALL

  ALL:ALL EXCEPT 192.168.0.1/255.255.255.0,192.168.1.21,

  202.10.5.0/255.255.255.0

  注意看:sshd:all:deny表示拒绝了所有sshd远程连接。:deny可以省略。

  3、启动服务。

  注意修改完后:

  #service xinetd restart

  才能让刚才的更改生效。

  linux防火墙阻止ip访问设置方法二:

  linux下要使用iptables限制只有指定的ip才能访问本机则需要先设置一个默认的规则

  iptables有默认的规则,它可以适用于所有的访问

  因为只有指定或特定的ip地址才能访问本机

  所以可以将默认的规则设置为所有访问全部阻止(当然这里需要注意下,如果你要设置的机器是在远端,比如vps则需要注意在设置默认规则的同时要将与该服务器链接的ip添加进白名单,否则在设置完默认阻止后你也无法访问这台服务器,也无法再进行操作了,我们可以使用分号;或者&&来在同一个命令行下来完成默认阻止和将自己的ip添加进白名单,假如你的ip地址为1.2.3.4则可以这样输入iptables -P INPUT DROP;iptables -A INPUT -s 1.2.3.4 -p tcp -j ACCEPT,或者也可以指定一个端口)

  设置默认规则后则可以添加白名单了

  比如允许2.3.4.5访问则可以

  iptables -A INPUT -s 2.3.4.5 -p tcp -j ACCEPT

  如果要限定的不是整个服务器而只是该服务器中的某个服务

  比如web服务(一般端口在80,https在443)

  则我们可以使用0.0.0.0/0来阻止所有的ip地址

  iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j DROP

  iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 443 -j DROP

  来阻止所有访问web服务器的ip地址

  然后再添加指定的ip到白名单

  比如添加1.2.3.4,我们可以

  iptables -A INPUT -s 1.2.3.4 -p tcp --dport 80 -j ACCEPT

  如果我们允许某个网段下的所有ip都可以访问的话比如1.2.3.[0-255],我们可以

  iptables -A INPUT -s 1.2.3.0/24 -p tcp --dport -j ACCEPT

  总之不管是阻止所有的服务还是只阻止指定的服务

  我们可以先将默认的规则设置为所有ip都不可访问

  然后再手动添加ip地址到白名单

  看了“linux防火墙如何阻止ip访问 ”文章的还看了:

1.怎样在Linux上高效阻止恶意IP地址

2.LINUX防火墙常用操作

3.Linux防火墙怎么开放特定端口

4.如何在RedHat Linux设置防火墙

5.如何关闭linux的防火墙

6.Linux操作系统下如何设置防火墙

    787743