在 CentOS 系統中,使用 iptables
命令可以配置內核防火墻規則,以允許或拒絕來自特定 IP 地址的流量。以下是一些基本步驟和示例,幫助你允許特定 IP 地址訪問你的 CentOS 服務器。
如果你想允許一個特定的 IP 地址訪問服務器上的所有端口,可以使用以下命令:
sudo iptables -A INPUT -s <允許的IP地址> -j ACCEPT
例如,要允許 IP 地址 192.168.1.100
訪問所有端口,可以運行:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
如果你只想允許特定 IP 地址訪問服務器上的特定端口(例如,SSH 端口 22),可以使用以下命令:
sudo iptables -A INPUT -p tcp -s <允許的IP地址> --dport 22 -j ACCEPT
例如,要允許 IP 地址 192.168.1.100
訪問 SSH 端口 22,可以運行:
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
在 CentOS 7 及更高版本中,iptables
規則在系統重啟后不會自動保存。你可以使用 firewalld
服務來管理防火墻規則,或者手動保存 iptables
規則。
firewalld
服務如果你安裝并啟用了 firewalld
服務,可以使用以下命令來允許特定 IP 訪問特定端口:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
iptables
規則如果你不想使用 firewalld
,可以手動保存 iptables
規則。CentOS 7 及更高版本可以使用 iptables-services
包來保存規則:
sudo yum install iptables-services
sudo systemctl enable iptables
sudo systemctl start iptables
sudo service iptables save
對于 CentOS 6,可以使用以下命令:
sudo service iptables save
你可以使用以下命令查看當前的 iptables
規則:
sudo iptables -L -n -v
這將顯示所有當前的防火墻規則,包括允許和拒絕的規則。
通過以上步驟,你應該能夠在 CentOS 系統中使用 iptables
允許特定 IP 地址訪問你的服務器。