在CentOS系統中,使用iptables來限制端口訪問是一種常見的安全措施。以下是一些基本的步驟和命令,用于設置iptables規則以限制特定端口的訪問。
查看當前的iptables規則:
sudo iptables -L
允許特定IP訪問特定端口:
假設你想允許IP地址為192.168.1.100的主機訪問本機的80端口(HTTP),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -s 192.168.1.100 -j ACCEPT
拒絕所有其他IP訪問特定端口: 接下來,你可以添加一條規則來拒絕所有其他IP地址訪問80端口:
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
限制特定端口的連接速率:
如果你想限制對某個端口的連接速率,可以使用limit模塊。例如,限制每分鐘最多10個連接到22端口(SSH):
sudo iptables -A INPUT -p tcp --dport 22 -m limit --limit 10/min -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
保存iptables規則:
在CentOS 7及更高版本中,iptables規則默認不會在系統重啟后自動保存。你可以使用firewall-cmd命令來保存規則:
sudo firewall-cmd --runtime-to-permanent
重啟iptables服務: 如果你需要重啟iptables服務以應用新的規則,可以使用以下命令:
sudo systemctl restart iptables
查看iptables規則: 再次查看iptables規則以確保它們已正確應用:
sudo iptables -L
請注意,iptables規則是按順序應用的,因此確保你的規則按照預期的邏輯順序排列。此外,如果你使用的是SELinux,可能還需要配置相應的SELinux策略來允許或拒絕訪問。
如果你不熟悉iptables或不確定如何配置規則,建議在進行更改之前咨詢有經驗的系統管理員或參考相關文檔。