在 CentOS 系統中,使用 iptables
命令可以配置內核防火墻規則,以允許或拒絕特定端口的通信。以下是一些基本步驟和示例,幫助你允許特定端口的通信。
首先,你可以查看當前的iptables規則,以確保沒有沖突的規則存在:
sudo iptables -L -n -v
假設你想允許TCP端口80(HTTP)的入站連接,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
如果你想允許UDP端口53(DNS)的入站連接,可以使用以下命令:
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
假設你想允許TCP端口443(HTTPS)的出站連接,可以使用以下命令:
sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
CentOS 7及以上版本使用 firewalld
作為默認的防火墻管理工具,而 iptables
規則不會自動保存。你需要手動保存規則,或者使用 firewalld
來管理防火墻。
iptables-persistent
保存規則如果你希望 iptables
規則在系統重啟后仍然有效,可以使用 iptables-persistent
工具來保存規則:
sudo yum install iptables-services
sudo systemctl enable iptables
sudo systemctl start iptables
sudo systemctl enable iptables-persistent
sudo systemctl start iptables-persistent
firewalld
保存規則如果你更喜歡使用 firewalld
,可以按照以下步驟操作:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=53/udp
sudo firewall-cmd --reload
最后,你可以再次查看iptables規則,確保新添加的規則已經生效:
sudo iptables -L -n -v
或者使用 firewalld
查看規則:
sudo firewall-cmd --list-all
通過以上步驟,你應該能夠在 CentOS 系統中使用 iptables
或 firewalld
允許特定端口的通信。