暂无评论
配置完端口映射后不通,通常由几个核心环节引起。下面是一个结构化的排查思路,你可以按步骤逐一检查。
这是最基础的一步,需要确认规则是否正确配置并生效。
查看配置:在防火墙的CLI界面执行 display nat server 命令。检查输出的信息,确认 公网IP、公网端口、内网服务器IP、内网端口、协议类型(TCP/UDP) 都与你的需求一致,且状态为 active。
确认接口与IP:
确保 nat server 命令配置在正确的公网出口接口下。
确认配置中使用的公网IP地址,确实是该接口上配置的公网IP。
防火墙默认会阻断所有流量,必须显式配置安全策略来放行,这是导致映射不通最常见的原因之一。
核对策略内容:策略应大致如下:
确保数据包能“走通”是基础。
测试防火墙到服务器:在防火墙的CLI界面,使用 ping -a [公网接口IP] [内网服务器IP] 命令,模拟从公网接口发起访问,测试到内网服务器的路由是否可达。
检查服务器网关:确认内网服务器的默认网关已正确指向防火墙的内网接口IP。
通过测试和抓包,可以精确定位故障点。
端口测试:在外网使用 telnet [公网IP] [映射端口] 命令测试端口是否可达。
连接成功:说明端口映射和网络层已打通,问题可能出在应用层(如服务器服务配置)。
连接超时/拒绝:说明数据包未到达服务器,问题在防火墙或网络层。
防火墙抓包:在防火墙上进行抓包,确认数据包是否到达以及是否被转发。
排除自身问题后,需检查外部环境。
暂无评论
一、标准完整可用配置(先核对自身配置是否缺项)
假设:
外网接口 GE1/0/0(Untrust),公网 IP 203.0.113.10
内网接口 GE1/0/1(Trust),服务器 192.168.1.10 80 端口
plaintext
system-view
# 1. 接口下配置端口映射(必须在外网接口绑定nat server enable)
interface GigabitEthernet 1/0/0
nat server protocol tcp global 203.0.113.10 80 inside 192.168.1.10 80
nat server enable
nat outbound # 正常上网源NAT,不能删
quit
# 2. 核心:Untrust→Trust安全策略放行(90%不通都是缺这条)
security-policy ip
rule name Untrust-To-Server
source-zone untrust
destination-zone trust
destination-address 192.168.1.10 0
service tcp destination-port eq 80
action permit
quit
# 3. 内网电脑用公网IP访问不通,内网口开启回流hairpin
interface GigabitEthernet 1/0/1
nat hairpin enable
quit
save force
二、分步骤故障排查(由高频到低频)
步骤 1:检查 NAT Server 映射是否生效
plaintext
display nat server
正常输出会显示配置规则,状态active;无输出代表接口没敲 nat server enable,映射完全不生效。
常见错误:只敲 nat server 命令,忘记进外网接口执行nat server enable。
步骤 2:安全策略拦截(最高发故障)
端口映射 DNAT 只是改目的 IP,流量必须经过域间安全策略放行。
核查命令:
plaintext
display security-policy ip rule Untrust-To-Server
display security-policy ip statistics | include untrust trust
排查点:
源域 untrust、目的域 trust 是否写反;
是否精准匹配服务器内网 IP、对应端口;
动作是否 permit,不要 deny;
临时测试:新建宽松策略source any destination any action permit,能通就是策略精细度问题。
步骤 3:服务器侧基础故障(内网先自测)
内网同网段电脑访问 192.168.1.10:端口,不通 = 服务器问题,和防火墙无关:
服务器防火墙(Windows 防火墙 /iptables)拦截入站端口;
服务未启动、端口监听错误;
服务器网关不是防火墙内网接口 IP(回程路由丢失)
plaintext
# 服务器cmd/tracert验证首跳
tracert 8.8.8.8
首跳必须是防火墙 trust 口 IP,否则回包不走防火墙,外网无法收到响应。
步骤 4:公网 IP 真实有效性(CGN 大内网无法映射)
plaintext
display ip interface brief GigabitEthernet 1/0/0
WAN 口 IP 和百度 /ip138 查到的出口 IP 不一致 → 运营商 CGN 大内网,无独立公网 IP,端口映射永久失效;
解决:联系运营商申请固定公网 IP。
步骤 5:运营商封禁标准端口(80/443/21/22 等)
现象:外网完全连不上,内网公网 IP 能访问;
测试方案:把映射外网端口改为 9000/9443 等高端口测试,能通 = 运营商封禁 80/443。
步骤 6:内网访问公网 IP 不通(NAT 回流缺失)
内网电脑用公网 IP 打不开,外网正常访问:
原因:内网流量 DNAT 后,服务器回包直发给内网 PC,源 IP 变成内网地址,PC 丢弃不匹配的应答包。
修复命令(内网 Trust 接口下):
plaintext
interface GigabitEthernet 1/0/1
nat hairpin enable
步骤 7:多出口 / 策略路由导致回程不对称
双线多宽带场景,外网请求走 A 线路进入,服务器回包从 B 线路发出,运营商丢弃报文。
解决:外网接口开启ip last-hop hold锁定回程入接口:
plaintext
interface GigabitEthernet 1/0/0
ip last-hop hold
步骤 8:会话表抓包定位流量走向
查看 NAT 转换会话(有会话代表流量到达防火墙)
plaintext
display session table verbose destination 192.168.1.10
无会话:外网请求根本没到防火墙,排查运营商 / 上层路由;
有会话但外网超时:服务器没回包,检查服务器网关、本地防火墙。
接口抓包调试
plaintext
debugging nat all
terminal debugging
terminal monitor
看 DNAT 转换日志,确认目的 IP 是否成功转换成服务器内网地址。
三、典型故障现象 + 根因速查
内网能通过公网 IP 访问,外网不行
CGN 运营商大内网 / 端口被运营商封禁
外网超时,内网直接访问服务器正常
Untrust→Trust 安全策略未放行;服务器网关错误
外网可访问,内网用公网 IP 打不开
Trust 内网接口未配置nat hairpin enable
display nat server 看不到任何规则
外网接口缺少nat server enable
映射配置全部正确,偶尔通偶尔断
双线回程路由不对称,缺少 ip last-hop hold
四、配套验证查询命令汇总
plaintext
# 查看端口映射规则
display nat server
# 查看域间安全策略匹配统计
display security-policy ip statistics
# 查看会话表
display session table verbose
# 查看接口NAT配置
display current-configuration interface GigabitEthernet 1/0/0
display current-configuration interface GigabitEthernet 1/0/1
# 查看接口IP、区域
display zone-pair security
display ip interface brief
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论