在 CentOS 系统中,使用 iptables 命令可以配置防火墙规则,以阻止特定 IP 地址的访问。以下是一些基本的步骤和示例命令,帮助你实现这一目标。
首先,确保你有 root 权限或使用 sudo 命令来执行这些操作。
你可以使用以下命令查看当前的 iptables 规则:
sudo iptables -L -n -v
假设你想阻止 IP 地址 192.168.1.100 的访问,可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
解释:
-A INPUT:将规则添加到 INPUT 链。-s 192.168.1.100:指定源 IP 地址为 192.168.1.100。-j DROP:丢弃匹配的数据包。如果你想阻止特定 IP 地址访问特定端口(例如,阻止 192.168.1.100 访问端口 80),可以使用以下命令:
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 80 -j DROP
解释:
-p tcp:指定协议为 TCP。--dport 80:指定目标端口为 80。CentOS 7 及以上版本使用 firewalld 作为默认防火墙管理工具,而 iptables 规则在重启后不会自动保存。你可以使用以下命令保存 iptables 规则:
sudo service iptables save
或者使用 firewall-cmd 命令来管理 firewalld:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" reject'
sudo firewall-cmd --reload
你可以使用以下命令查看保存的 iptables 规则:
sudo iptables -L -n -v
如果你需要删除之前添加的规则,可以使用以下命令:
sudo iptables -D INPUT -s 192.168.1.100 -j DROP
解释:
-D INPUT:从 INPUT 链中删除规则。-s 192.168.1.100:指定源 IP 地址为 192.168.1.100。-j DROP:指定要删除的规则动作。通过以上步骤,你可以在 CentOS 系统中使用 iptables 命令来阻止特定 IP 地址的访问。