在CentOS系统中,使用iptables来阻止外部访问可以通过添加相应的规则来实现。以下是一些基本的步骤和示例,用于阻止外部访问特定的端口或服务。
-
查看当前的iptables规则:
sudo iptables -L -n -v
-
阻止特定IP地址的访问: 如果你想阻止某个特定的IP地址访问你的服务器,可以使用以下命令:
sudo iptables -A INPUT -s
-j DROP 将
替换为你想要阻止的IP地址。 -
阻止特定端口的访问: 如果你想阻止外部访问特定的端口(例如,阻止所有外部访问端口80),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
-
阻止特定服务的访问: 如果你想阻止外部访问特定的服务(例如,阻止所有外部访问SSH),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
-
保存iptables规则: 在CentOS 7及以上版本中,iptables规则默认不会在系统重启后自动保存。你可以使用
firewall-cmd
命令来保存规则:sudo firewall-cmd --runtime-to-permanent
-
重新加载iptables规则: 如果你已经保存了规则,可以使用以下命令重新加载iptables规则:
sudo systemctl restart iptables
-
查看防火墙状态: 你可以使用以下命令查看防火墙的状态:
sudo firewall-cmd --state
-
允许特定IP地址访问特定端口: 如果你想允许某个特定的IP地址访问特定的端口(例如,允许IP地址192.168.1.100访问端口80),可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT
请注意,iptables规则是按顺序应用的,因此确保你的规则顺序正确。通常,允许规则应该放在拒绝规则之前。
如果你使用的是CentOS 8或更高版本,可能会使用firewalld
作为默认的防火墙管理工具。在这种情况下,你可以使用firewall-cmd
命令来管理防火墙规则。