Ubuntu
如何在 ubuntu 上阻止 IP 地址?
我已將 Ubuntu 機器配置為路由器。NAT配置步驟 如下:
#iptables -F #iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #iptables-save > /etc/network/iptables
然後將此文件位置保存在 rc.local
#vi /etc/rc.local #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # /sbin/iptables-restore < /etc/network/iptables # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0 #reboot
它有效,現在我想阻止一個 IP 地址。為此,我執行了以下命令:
#iptables -A INPUT -s 69.171.229.11 -j DROP #iptables-save > /etc/network/iptables #reboot
但它不起作用。
vi /etc/network/iptables
現在看起來像這樣:# Generated by iptables-save v1.4.4 on Tue Feb 14 11:21:16 2012 *nat :PREROUTING ACCEPT [870:97719] :POSTROUTING ACCEPT [283:23151] :OUTPUT ACCEPT [461:28753] -A POSTROUTING -o eth0 -j MASQUERADE COMMIT # Completed on Tue Feb 14 11:21:16 2012 # Generated by iptables-save v1.4.4 on Tue Feb 14 11:21:16 2012 *filter :INPUT ACCEPT [4914:3254723] :FORWARD ACCEPT [2382:1222521] :OUTPUT ACCEPT [4010:410041] -A INPUT -s 98.137.149.56/32 -j DROP COMMIT # Completed on Tue Feb 14 11:21:16 2012
我缺少什麼來阻止 IP 地址?
如果您想阻止 IP 使用 MASQUERADE 規則,您需要將該規則放入
FORWARD
鏈中,而不是INPUT
鏈中。iptables -I FORWARD -s 69.171.229.11 -j DROP
我認為順序不正確。
您對 append 所做的是將其放在鏈的底部。IPtables 在第一次匹配後停止。因此,該規則可能在它達到阻止規則之前被匹配。確保阻止規則位於頂部。您可以使用 -I 選項將其插入鏈中的特定位置。