在 CentOS 中,使用 iptables 禁止某个 IP 访问,常见做法如下:
iptables -I INPUT -s 1.2.3.4 -j DROP
说明:
-I INPUT:插入到 INPUT 链最前面-s 1.2.3.4:来源 IP-j DROP:直接丢弃(不返回任何信息)如果想“拒绝并通知对方”,可以用
REJECT:
iptables -I INPUT -s 1.2.3.4 -j REJECT
iptables -I INPUT -s 192.168.1.0/24 -j DROP
iptables -I INPUT -s 1.2.3.4 -p tcp --dport 22 -j DROP
iptables -I OUTPUT -d 1.2.3.4 -j DROP
iptables -L -n --line-number
例如删除 INPUT 第 1 条规则:
iptables -D INPUT 1
service iptables save
yum install iptables-services -y
systemctl enable iptables
systemctl start iptables
iptables-save > /etc/sysconfig/iptables
⚠️ 注意:CentOS 7 默认可能是 firewalld,需要先关闭:
systemctl stop firewalld
systemctl disable firewalld
不保存规则即可,重启后自动恢复。
如果你有具体场景(如:封海外 IP、防 CC、限制内网、Docker 环境),可以告诉我,我可以给你更精确的写法。