如何使用 iptables 防火墙规则来阻止特定的 IP 地址或网段?
美国、香港服务器
如何使用 iptables 防火墙规则来阻止特定的 IP 地址或网段?
11-18 来源:
阻止特定 IP 地址访问本地主机(INPUT 链)
如果你想阻止某个特定的 IP 地址访问本地主机的任何服务,可以在 INPUT 链中添加一条规则。例如,要阻止 IP 地址为192.168.1.100的主机访问本地主机,使用以下命令:
iptables -A INPUT -s 192.168.1.100 -j DROP
解释:
-A INPUT:表示在 INPUT 链的末尾添加(-A是追加的意思)一条规则。INPUT 链用于处理进入本地主机的数据包。
-s 192.168.1.100:-s代表源(source),这里指定了源 IP 地址为192.168.1.100,即来自这个 IP 地址的数据包将受到此规则的约束。
-j DROP:-j是跳转(jump)的意思,DROP表示丢弃。当数据包匹配这条规则时,就会被直接丢弃,不会被本地主机接收。
阻止特定网段访问本地主机(INPUT 链)
假设要阻止整个10.0.0.0/24网段访问本地主机,命令如下:
iptables -A INPUT -s 10.0.0.0/24 -j DROP
解释:
这里的-s 10.0.0.0/24指定了源网段。/24是子网掩码的一种表示方式,代表子网掩码为255.255.255.0。这条规则表示来自10.0.0.0到10.0.0.255这个网段的数据包都将被丢弃。
阻止特定 IP 地址通过本地主机转发(FORWARD 链)
当本地主机充当路由器或网关时,可能需要阻止某些 IP 地址通过本地主机进行转发。例如,要阻止172.16.1.50的 IP 地址通过本地主机转发,使用以下命令:
iptables -A FORWARD -s 172.16.1.50 -j DROP
解释:
-A FORWARD:在 FORWARD 链中添加规则。FORWARD 链用于处理经过本地主机进行转发的数据包。
这条规则表示当本地主机在转发数据包时,如果数据包的源 IP 地址是172.16.1.50,则直接丢弃该数据包,不进行转发。
阻止特定网段通过本地主机转发(FORWARD 链)
要阻止192.168.2.0/24网段通过本地主机转发,命令如下:
iptables -A FORWARD -s 192.168.2.0/24 -j DROP
解释:
这将使得来自192.168.2.0到192.168.2.255这个网段的数据包在经过本地主机转发时被丢弃,防止这些数据包通过本地主机到达其他网络。
如果要删除这些规则,可以使用iptables -D命令。例如,要删除刚才在 INPUT 链中添加的阻止192.168.1.100访问的规则,可以使用iptables -D INPUT -s 192.168.1.100 -j DROP。注意,在删除规则时,需要确保规则的匹配条件(如链、源 IP 等)与添加时一致,否则规则可能无法正确删除。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快