在CentOS系統中,使用iptables來限制特定端口的訪問是一種常見的安全措施。以下是一些基本的步驟和示例,幫助你使用iptables限制端口:
首先,你可以查看當前的iptables規則,以確保沒有沖突的規則存在。
sudo iptables -L -n -v
假設你想允許IP地址為192.168.1.100
的主機訪問本地的端口8080
,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 8080 -s 192.168.1.100 -j ACCEPT
接下來,你可以拒絕所有其他IP地址訪問該端口:
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP
CentOS 7及以上版本使用firewalld
作為默認的防火墻管理工具,但iptables規則仍然有效。你可以使用以下命令保存iptables規則:
sudo service iptables save
或者使用firewall-cmd
來保存規則(如果你使用的是firewalld
):
sudo firewall-cmd --runtime-to-permanent
為了確保規則生效,你可以重啟iptables服務:
sudo systemctl restart iptables
如果你想限制一個端口范圍(例如,只允許端口8000
到8080
之間的TCP流量),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 8000:8080 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 8000:8080 -m conntrack --ctstate ESTABLISHED -j ACCEPT
如果你想限制特定IP訪問多個端口(例如,IP地址192.168.1.100
只能訪問端口8080
和8443
),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 8080 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8443 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8080:8443 -j DROP
sudo iptables-save > /etc/iptables/rules.v4
firewalld
來管理防火墻規則,并確保規則持久化。通過以上步驟,你可以使用iptables在CentOS系統中限制特定端口的訪問。