温馨提示×

centos iptables如何端口

小樊
44
2026-09-29 20:55:02
栏目: 智能运维

在 CentOS 上使用 iptables 进行端口相关操作(开放、关闭、转发、查看等),下面给你最常用、最实用的做法。


一、查看当前 iptables 规则

iptables -L -n -v

查看 NAT 表(端口转发常用):

iptables -t nat -L -n -v

二、开放端口(常用示例)

1️⃣ 开放 TCP 端口(如 8080)

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

2️⃣ 开放 UDP 端口(如 53)

iptables -I INPUT -p udp --dport 53 -j ACCEPT

3️⃣ 指定 IP 开放端口

只允许 192.168.1.100 访问 22 端口:

iptables -I INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT

三、关闭 / 禁止端口

禁止某端口(如 3306)

iptables -I INPUT -p tcp --dport 3306 -j DROP

或拒绝(会返回拒绝信息):

iptables -I INPUT -p tcp --dport 3306 -j REJECT

四、端口转发(端口映射)

示例:访问本机 8080 → 转发到 192.168.1.10:80

1️⃣ 开启内核转发

echo 1 > /proc/sys/net/ipv4/ip_forward

永久生效:

vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

2️⃣ 配置 NAT 转发

iptables -t nat -A PREROUTING -p tcp --dport 8080 \
-j DNAT --to-destination 192.168.1.10:80

iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.10 \
--dport 80 -j MASQUERADE

五、保存 iptables 规则(非常重要)

CentOS 6 / 老版本

service iptables save

CentOS 7(若仍用 iptables)

iptables-save > /etc/sysconfig/iptables

重启后恢复:

iptables-restore < /etc/sysconfig/iptables

六、CentOS 7 注意(firewalld)

CentOS 7 默认是 firewalld,不是 iptables:

查看:

systemctl status firewalld

如果你要用 iptables:

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

七、常见坑提醒

  • 规则顺序很重要(-I 插最前,-A 加最后)
  • DROP 比 REJECT 更隐蔽
  • 改完规则一定保存
  • 云服务器还要看 安全组

如果你告诉我:

  • CentOS 版本(6 / 7 / 8)
  • 想做「开放端口 / 限制 IP / 端口转发」哪一种
  • 内网还是公网

我可以直接给你 可复制的完整命令。

0 踩