Linux 使用 iptables 禁止某些 IP 访问

原文地址:https://www.cmhello.com/linux-ipteables-ban-unban-ip.html



Linux 使用 iptables 禁止某些 IP 访问

在Linux服务器被攻击的时候,有的时候会有几个主力IP。如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了。

在Linux下封停IP,有封杀网段和封杀单个IP两种形式。一般来说,现在的攻击者不会使用一个网段的IP来攻击(太招摇了),IP一般都是散列的。于是下面就详细说明一下封杀单个IP的命令,和解封单个IP的命令。

在Linux下,使用ipteables来维护IP规则表。要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。

要封停一个IP,使用下面这条命令:

iptables -I INPUT -s ***.***.***.*** -j DROP

要解封一个IP,使用下面这条命令:

iptables -D INPUT -s ***.***.***.*** -j DROP

参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。

此外,还可以使用下面的命令来查看当前的IP规则表:

iptables -list

比如现在要将123.44.55.66这个IP封杀,就输入:

iptables -I INPUT -s 123.44.55.66 -j DROP

要解封则将-I换成-D即可,前提是iptables已经有这条记录。如果要想清空封掉的IP地址,可以输入:

iptables -flush

要添加IP段到封停列表中,使用下面的命令:

iptables -I INPUT -s 121.0.0.0/8 -j DROP

其实也就是将单个IP封停的IP部分换成了Linux的IP段表达式。关于IP段表达式网上有很多详细解说的,这里就不提了。

相信有了iptables的帮助,解决小的DDoS之类的攻击也不在话下!

参考:http://blog.renhao.org/2010/01/linux-ban-unban-ip/

附:其他常用的命令

编辑 iptables 文件

vi /etc/sysconfig/iptables

关闭/开启/重启防火墙

/etc/init.d/iptables stop  
 
#start 开启  
 
#restart 重启

验证一下是否规则都已经生效:

iptables -L

保存并重启iptables

/etc/rc.d/init.d/iptables save  
service iptables restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下命令禁止所有 IP 访问: ``` iptables -P INPUT DROP ``` 这条命令会将防火墙的默认输入策略设置为 DROP,即丢弃所有未被允许的输入流量。 如果需要允许特定 IP 访问,可以使用以下命令: ``` iptables -A INPUT -s [IP_ADDRESS] -j ACCEPT ``` 其中 [IP_ADDRESS] 是允许访问IP 地址。 注意:这些命令只在当前会话有效,重启电脑或服务器后会失效,如需永久生效,需要保存配置。 ### 回答2: 要使用iptables禁止所有IP访问,首先需要打开终端以管理iptables规则。在终端中输入以下命令以禁止所有IP访问: ``` iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ``` 这些命令将设置默认策略为拒绝所有输入、输出和转发的数据包。 接下来,我们需要确保已经将所有现有的规则清空,以免产生冲突。在终端中输入以下命令: ``` iptables -F iptables -X ``` 这些命令将清空所有的规则和用户定义的链。 最后,我们需要添加一条规则允许本地回环接口的访问。在终端中输入以下命令: ``` iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT ``` 这些命令将允许本地回环接口(即127.0.0.1)的访问。 完成以上操作后,iptables禁止所有IP访问,除了本地回环接口。为了使这些规则持久化,需要将规则保存到防火墙配置文件中。具体操作可以根据不同的Linux发行版而有所不同。 需要注意的是,禁止所有IP访问可能会导致互联网连接的完全中断。因此,在执行此操作前应谨慎考虑,并确保您有其他方式维护服务器的远程访问和管理。 ### 回答3: 要禁止所有IP访问,可以使用iptables工具来实现。iptablesLinux系统中的一个防火墙工具,可以用来配置和管理数据包的过滤规则。 首先,我们需要执行以下命令以清除任何现有的iptables规则: ``` sudo iptables -F sudo iptables -X sudo iptables -Z ``` 之后,我们可以使用如下命令来创建一条规则,禁止所有IP访问: ``` sudo iptables -P INPUT DROP ``` 这条规则将设置INPUT链的默认策略为DROP,意味着所有输入数据包将被丢弃,除非其他规则明确允许。因此,在执行这个命令后,除非添加其他允许特定IP访问的规则,系统将禁止所有IP访问。 请注意,这条规则会阻止所有的传入连接,包括SSH和其他服务。如果你仍然需要通过SSH等方式远程连接到系统,可以在执行上述命令之前,加上针对SSH连接的例外规则: ``` sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT ``` 这条规则将允许来自任何IP的TCP连接,目的端口为22(SSH默认端口)。 最后,我们可以使用以下命令来保存iptables规则,以防止重启后失效: ``` sudo iptables-save > /etc/sysconfig/iptables ``` 希望以上解答能够满足您的要求,如有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值