在 CentOS 系統中,使用 iptables
命令可以設置防火墻規則,以允許特定 IP 地址訪問服務器。以下是一些基本步驟和示例命令,幫助你配置 iptables
以允許特定 IP 訪問。
假設你想允許 IP 地址 192.168.1.100
訪問服務器的所有端口,可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
如果你只想允許特定 IP 訪問服務器的特定端口(例如,允許 192.168.1.100
訪問端口 80 和 443),可以使用以下命令:
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 443 -j ACCEPT
如果你需要允許多個特定 IP 訪問,可以重復上述命令,或者使用 -m iprange
模塊來指定一個 IP 范圍:
sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.110 -j ACCEPT
iptables
規則默認情況下,iptables
規則在系統重啟后會丟失。為了使規則永久生效,你需要保存這些規則。CentOS 7 及以上版本使用 firewalld
服務來管理防火墻規則,而 CentOS 6 使用 iptables-persistent
。
使用 firewalld
服務:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
sudo firewall-cmd --reload
使用 iptables-persistent
服務:
sudo service iptables-persistent save
iptables
規則你可以使用以下命令查看當前的 iptables
規則:
sudo iptables -L -n -v
iptables
規則之前,建議先備份當前的規則,以便在需要時可以恢復。firewalld
服務,確保它已啟用并正在運行:sudo systemctl status firewalld
sudo systemctl start firewalld
通過以上步驟,你應該能夠成功配置 iptables
以允許特定 IP 地址訪問你的 CentOS 服務器。