在Ubuntu系統中,使用iptables來阻止惡意IP地址可以通過添加規則到iptables的filter表來實現。以下是一些基本的步驟來阻止特定的IP地址:
打開終端。
首先,你需要確定iptables服務是否已經安裝并運行。你可以使用以下命令來檢查iptables的狀態:
sudo systemctl status iptables
如果服務沒有運行,你可以使用以下命令來啟動它:
sudo systemctl start iptables
使用iptables命令添加規則來阻止惡意IP。例如,如果你想要阻止IP地址為123.456.789.100
的訪問,你可以使用以下命令:
sudo iptables -A INPUT -s 123.456.789.100 -j DROP
這條命令的意思是向INPUT鏈添加一條規則,如果數據包的源地址是123.456.789.100
,則丟棄(DROP)該數據包。
如果你想要阻止一個IP段,比如123.456.789.0/24
,可以使用CIDR表示法:
sudo iptables -A INPUT -m iprange --src-range 123.456.789.0-123.456.789.255 -j DROP
為了使這些規則在系統重啟后仍然有效,你需要保存iptables規則。Ubuntu默認不啟用iptables持久化,所以你需要手動保存規則??梢允褂靡韵旅顏肀4娈斍暗膇ptables規則:
sudo iptables-save > /etc/iptables/rules.v4
如果你使用的是IPv6,還需要保存IPv6的規則:
sudo ip6tables-save > /etc/iptables/rules.v6
為了確保系統在啟動時加載這些規則,你需要創建一個啟動腳本??梢詣摻ㄒ粋€新的腳本文件,例如/etc/network/if-pre-up.d/iptables
,并添加以下內容:
#!/bin/sh
iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6
然后給這個腳本執行權限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
請注意,如果你正在使用的是UFW(Uncomplicated Firewall),那么阻止IP的方法會有所不同。UFW提供了一個更用戶友好的界面來管理防火墻規則。如果你使用的是UFW,可以通過ufw deny from 123.456.789.100
命令來阻止特定的IP地址。