在CentOS系統中,iptables是一個強大的防火墻工具,用于配置和管理網絡數據包的過濾、轉發和地址轉換規則。以下是使用iptables的基本步驟:
在CentOS系統中,通常默認已經安裝了iptables。如果未安裝,可以使用以下命令進行安裝:
sudo yum install iptables
sudo iptables -L -n -v
這條命令將列出當前的iptables規則,-n
選項以數字形式顯示地址和端口,-v
選項顯示詳細信息。
sudo iptables -F
在執行任何新規則之前,建議清空現有的iptables規則。
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
設置默認策略為拒絕所有進入和轉發的數據包,只允許輸出的數據包通過。
例如,允許SSH(端口22)、HTTP(端口80)和HTTPS(端口443)的訪問:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
例如,允許來自IP地址為192.168.1.100的主機訪問本機的80端口:
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT
修改iptables規則后,需要保存配置,以便在系統重啟后生效:
sudo service iptables save
或者
sudo iptables-save > /etc/sysconfig/iptables
保存規則后,重啟iptables服務以應用更改:
sudo systemctl restart iptables
或者
sudo service iptables restart
sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP
這條命令限制80端口單個IP的最大連接數為10。
例如,將本地80端口的數據轉發給192.168.1.2:8080:
sudo iptables -t nat -A PREROUTING -d 192.168.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:8080
以上就是在CentOS系統中使用iptables的基本步驟和一些高級規則示例。請注意,修改iptables規則時要小心,錯誤的規則可能導致系統無法訪問。建議在生產環境中使用firewalld,因為它提供了更友好的界面和動態管理功能。