温馨提示×

centos iptables如何测连通

小樊
43
2026-10-20 06:29:29
栏目: 智能运维

在 CentOS 上使用 iptables 时,“测连通”一般分两种情况:


一、测试网络本身是否连通(与 iptables 无关)

先确认不是网络问题:

ping 8.8.8.8
ping www.baidu.com

如果 ping 不通,先排查路由、DNS、网卡。


二、测试 iptables 规则是否放行(重点)

1️⃣ 查看当前 iptables 规则

iptables -L -n -v

或只看某个表(如 filter):

iptables -t filter -L -n -v

常见关注点:

  • INPUT:外部访问本机
  • OUTPUT:本机访问外部
  • FORWARD:转发(如 NAT)

2️⃣ 测试端口是否通(最常用)

假设测试 80 端口:

本机测试

telnet 127.0.0.1 80
# 或
nc -vz 127.0.0.1 80

从其他机器测试

telnet 目标IP 80
nc -vz 目标IP 80

如果连不上,可能是 iptables 拦截。


3️⃣ 临时放行端口(测试用)

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

测试完可删除:

iptables -D INPUT -p tcp --dport 80 -j ACCEPT

4️⃣ 查看是否被 DROP(丢包)

iptables -L INPUT -v -n

看 pkts 是否增长,如果某条 DROP 规则在涨,说明被拦。


5️⃣ 开启日志(高级排查)

iptables -I INPUT -p tcp --dport 80 -j LOG --log-prefix "IPT_TEST: "

然后:

tail -f /var/log/messages

(CentOS 7 可能是 /var/log/syslog 或 journalctl -k)


三、CentOS 7+ 特别注意(firewalld)

CentOS 7 默认用 firewalld,iptables 可能不生效:

systemctl status firewalld

如果开着:

systemctl stop firewalld
systemctl disable firewalld

再用 iptables 测试。


四、快速总结

✅ 网络通不通 → ping
✅ 端口通不通 → telnet / nc
✅ 是否被 iptables 拦 → iptables -L -v
✅ 临时测试 → 加 ACCEPT 规则

如果你有 具体场景(如:SSH 连不上 / 网站打不开 / Docker / NAT),可以直接说,我给你精准命令。

0 踩