使用iptables限制特定IP訪問的步驟如下:
首先,你需要通過SSH或其他遠程登錄方式登錄到你的Linux服務器。
在開始修改之前,建議先查看當前的iptables規則,以便了解現有的配置。
sudo iptables -L -n -v
假設你想允許IP地址為192.168.1.100
的設備訪問你的服務器的某個端口(例如80端口),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -s 192.168.1.100 -j ACCEPT
解釋:
-A INPUT
:將規則添加到INPUT鏈。-p tcp
:指定協議為TCP。--dport 80
:指定目標端口為80。-s 192.168.1.100
:指定源IP地址為192.168.1.100。-j ACCEPT
:接受該IP的訪問請求。接下來,拒絕所有其他IP訪問該端口:
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
解釋:
-A INPUT
:將規則添加到INPUT鏈。-p tcp
:指定協議為TCP。--dport 80
:指定目標端口為80。-j DROP
:丟棄所有不符合前面規則的請求。iptables規則在系統重啟后會丟失,因此需要保存規則。不同的Linux發行版可能有不同的保存方法。
sudo iptables-save > /etc/iptables/rules.v4
sudo service iptables save
或者使用firewall-cmd
(如果使用的是firewalld):
sudo firewall-cmd --runtime-to-permanent
最后,驗證規則是否生效:
sudo iptables -L -n -v
你應該能看到你添加的規則,并且確認它們已經生效。
iptables -D
命令刪除規則進行測試。通過以上步驟,你可以使用iptables限制特定IP訪問你的服務器。