温馨提示×

centos iptables怎么禁止ip

小樊
44
2026-10-02 18:06:04
栏目: 智能运维

在 CentOS 中使用 iptables 禁止某个 IP(或网段)访问服务器,常见做法如下:


一、临时禁止某个 IP(重启后失效)

1. 禁止单个 IP 访问所有端口

iptables -I INPUT -s 1.2.3.4 -j DROP

或(更“礼貌”一点,直接拒绝并返回错误):

iptables -I INPUT -s 1.2.3.4 -j REJECT

DROP:丢弃数据包,对方无响应
REJECT:明确拒绝并返回错误


2. 禁止某个 IP 访问指定端口(如 22)

iptables -I INPUT -s 1.2.3.4 -p tcp --dport 22 -j DROP

3. 禁止某个 IP 段

iptables -I INPUT -s 192.168.1.0/24 -j DROP

二、保存规则(防止重启失效)

CentOS 6 / 早期版本

service iptables save

或

/etc/init.d/iptables save

CentOS 7(仍使用 iptables 时)

iptables-save > /etc/sysconfig/iptables

三、查看和删除规则

查看规则(带行号)

iptables -L INPUT -n --line-numbers

删除某条规则(如第 1 条)

iptables -D INPUT 1

四、CentOS 7 注意事项(firewalld)

CentOS 7 默认使用 firewalld,如果已启用 firewalld,建议用:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.2.3.4" reject'
firewall-cmd --reload

如果要改用 iptables:

systemctl stop firewalld
systemctl disable firewalld
yum install iptables-services
systemctl enable iptables
systemctl start iptables

五、常见示例汇总

需求 命令
禁止 IP iptables -I INPUT -s IP -j DROP
禁止 SSH iptables -I INPUT -s IP -p tcp --dport 22 -j DROP
禁止网段 iptables -I INPUT -s 10.0.0.0/8 -j DROP

如果你有 具体 IP / 端口 / CentOS 版本,我可以给你更精确的命令。

0 踩