排查端口映射失败的几个案例

端口映射这个话题,已经是老生常谈了,别说这是网工必备技能了,连很多非IT人士都会在路由器上配置端口映射,但我为什么还要单开一篇文章来讲呢,是因为在我的IT外包服务过程中,还是碰到过很多次端口映射失败的案例。

虽然经过我们排查,最后都解决了问题,但我想这些问题应该也是有相当的普遍性,否则也不会如此高发,所以本文就来简述一下,几个端口映射失败的排查过程,以供大家参考。

案例一:客户反馈,爱快路由器端口映射失败

爱快路由器的配置还是比较简单的,客户说端口映射失败了,而且是在我以前做的配置上复制修改的,那就很没道理了。

废话不多说,直接远程登录客户的爱快路由器,不看不知道,世界真奇妙,只因复制得太完美,所以才映射失败。

a4726522b0889711d71243884abf671d.jpeg

内网端口都一样,这当然没问题,反正也不是同一台服务器,这外网端口全一样是怎么回事啊?4辆汽车同时挤进一条车道,那不得撞成一锅粥,把外网端口改成13389、23389、43389、53389问题解决,耗时一分钟。

案例二:不好意思,还是爱快路由

爱快路由器的端口映射,真没什么好研究的,都不会是什么大问题,只要有问题,直接远程最方便,说半天,不如看一眼。

这不,果然又是几秒钟就能解决的问题,我真没夸张,同行帮客户高度的爱快路由器,想映射8080端口,那必将失败,因为80、443、8080都必须在运营商备案成功后,才能开放,所以,把8080改为9080,完成任务,准确地说,把8改成9,就改了一个数字,问题解决。

bc926cb9add5ee8b795ac1703243cb0c.jpeg

安全三:深信服防火墙端口映射失败

还是个同行,他在想在外网远程管理核心盗抢机,又说复制了我的端口映射配置和安全策略,但就是不行。

远程登录深信服防火墙,嗯,他确实改了内部、外部端口,没有犯前面那个同行一样的错误,而且安全策略也有匹配到。    

但是问题又确实存在,我远程无法访问映射出来的端口。

那就只有一种可能了,深信服防火墙上有多条外网链路,需要配置源进源出,才能实现端口映射。

知道了问题所在,解决也就容易了,在用专线上网的那条策略路由里面,添上核心交换机的VLAN IP就行了。    

8ed0206f98fd4f4d6c7297efb62f7ae8.jpeg

总共耗时3分钟,问题解决。

安全四:华为防火墙端口映射失败

又是同行的客户,用的华为防火墙,说是端口映射不生效,NAT做了,安全策略也做了,而且有命中计数,但是实际上就是无法通信。

远程登录防火墙分析问题,查看“服务器映射”,配置正确;查看安全策略,配置正确,且测试时,有命中计数,按理说应该没问题才对。

在外网用telnet命令测试端口,无响应,说明端口映射失败。

与上面案例一样,立即怀疑进出路径不一致导致该问题,远程登录服务器,CMD中执行命令:tracert -d 外网任意网址,结果显示从一条拨号宽带出去了,没从固定IP的城域网走。

新建一条策略路由,源地址是服务器IP,出接口是固定IP的外网接口,下一跳是运营商给的网关IP。

telnet远程检测通过,又是两三分钟解决问题。

案例五:还是同行,又是华为防火墙

c0ec023271c1ff35d872e801afe62528.png

顺便提一嘴,同行找我解决问题,我都是收费服务的;如果不是同行,那就要收费,望理解。

言归正传,登录上设备看问题。

端口映射确实做了,安全策略也有,但是没有命中,跟上面的那几个问题不一样。

当Docker容器的端口映射突然无法连接时,可以按照以下步骤进行排查: 1. 确认容器是否正在运行:使用`docker ps`命令检查容器的运行状态,确保容器正在运行。如果容器已停止,可以使用`docker start`命令重新启动容器。 2. 检查端口映射配置:使用`docker port <容器名称或ID>`命令检查容器的端口映射配置是否正确。确保容器的端口映射配置与所需的访问端口一致。 3. 检查主机防火墙规则:如果主机上存在防火墙,需检查防火墙规则是否允许流量通过容器映射的端口。可以临时关闭防火墙进行测试,如果能够连接则说明防火墙规则可能导致连接问题,需要配置允许通过容器映射的端口。 4. 检查网络连接:使用`ping`命令测试主机与容器之间的网络连通性。如果无法ping通容器IP,则可能是网络配置问题。可以尝试重启网络服务或重新配置网络。 5. 检查容器日志:使用`docker logs <容器名称或ID>`命令查看容器的日志信息,检查是否存在错误或异常提示。日志中可能会显示容器启动过程中的错误信息,从而指导我们排查问题。 6. 检查容器内部服务状态:如果容器中运行着特定的服务,可以登录到容器内部进行检查。使用`docker exec -it <容器名称或ID> bash`命令可以进入容器的命令行界面,查看容器内部相关的服务是否正常运行。 以上是排查容器端口映射无法连接的一般过程,根据具体情况可能需要更深入的排查。如果无法解决问题,可以参考Docker官方文档、技术论坛或向相关社区求助,以获取更多帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT狂人日志

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值