在 CentOS 中,使用 iptables 限制 IP(封禁或允许)通常有以下几种常见场景。下面以 CentOS 6 / 7(未使用 firewalld) 为例说明。
iptables -I INPUT -s 192.168.1.100 -j DROP
或(更严格,直接拒绝并返回)
iptables -I INPUT -s 192.168.1.100 -j REJECT
区别:
DROP:直接丢弃,对方无响应REJECT:明确拒绝,对方立刻收到错误iptables -I INPUT -s 192.168.1.100 -p tcp --dport 22 -j DROP
iptables -I INPUT -s 192.168.1.0/24 -j DROP
iptables -I INPUT -p tcp --dport 22 -s 192.168.1.50 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
⚠️ 注意:
ACCEPT 要用 -I(插入到前面)DROP 用 -A(追加在后面)iptables -I INPUT -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -j DROP
iptables -L INPUT -n --line-numbers
iptables -D INPUT 1
service iptables save
iptables-save > /etc/sysconfig/iptables
或
systemctl restart iptables
如果是 CentOS 7/8,建议使用:
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.100 reject'
firewall-cmd --reload
如果你能告诉我:
我可以给你更精确的配置示例。