家里那台老NAS又罢工了。端口人在公司,映射想远程看一眼日志,网步结果端口不通,端口连SSH都敲不进去。映射折腾半小时后我悟了:所谓端口映射,网步本质上就是端口跟路由器说一声——"帮我把外网的某个门牌号,指到内网某台设备的映射某个窗口上"。
第一步,网步你得先搞清楚自家内网IP。端口登录路由器后台,映射找到DHCP客户端列表,网步看看那台目标设备的端口地址。别用动态IP,映射给它在路由器里绑定个静态租约,网步不然下次重启IP变了,映射就白做了。这一步花五分钟,能省后面两小时的排查时间。
接着,找到"端口映射"或"虚拟服务器"选项。不同品牌叫法不一样,TP-Link叫"虚拟服务器",华硕叫"端口转发",小米叫"端口映射",其实都是同一个东西。填表时有三项必须准确:外部端口、内部IP、内部端口。外部端口是公网访问用的,内部端口是设备实际监听的。比如你的NAS的Web界面监听5000端口,你可以在路由器上把外网8080映射到内网192.168.1.100的5000。这样访问时只要敲http://公网IP:8080。
填完保存,你以为完了?没完。运营商早把80、443这些常用端口封了,因为没备案的网站不允许跑。所以外部端口尽量选10000以上的高位端口,比如23456、34567,避开扫描器的默认探测范围。我习惯用四位数加两位数的组合,比如15233,好记又不那么显眼。
关键一步来了——测试。别急着关路由器页面,先在内网用另一台设备试一下:打开浏览器,输入"内网IP:内部端口",能通说明服务本身没问题。然后切换到手机流量(别连自家WiFi),输入"公网IP:外部端口"。这一步能通,说明映射成功。不通?八成是下面几个原因。
最常见的是运营商给你的是个大内网IP。你看到的IP可能是100.64.x.x到100.127.x.x段,这是CGNAT(运营商级NAT),意味着你根本没有真正的公网IP。查一下路由器WAN口IP,跟百度搜出来的"我的IP"对比一下,不一致就是被运营商套了层壳。这种情况只能打电话要公网IP,或者用内网穿透工具(比如frp、ZeroTier)绕过去。
第二个坑是防火墙。Windows自带防火墙默认拦入站连接,Linux的iptables规则也可能挡路。我踩过最蠢的坑:映射配好了,外网死活连不上,最后发现是NAS上的防火墙没放行那个端口。排查方法很简单,在内网那台设备上临时关掉防火墙再测一次,通了就说明是防火墙规则问题。
第三个坑是路由器本身的"安全防护"功能。有些路由器默认开启"禁止WAN口Ping"或者"DoS保护",这些功能偶尔会误伤正常映射的流量。我上次帮朋友调一个监控摄像头,映射配了三遍都不通,最后发现是路由器的"IP与MAC绑定"功能在作祟,把外网来的包全丢了。
映射成功后,还有件事得做——动态DNS。家庭宽带的公网IP是动态的,隔几天就会变。你总不能天天记新IP吧。去花生壳或者DuckDNS注册个免费域名,路由器里填上账号密码,它会自动把域名解析到最新IP。以后访问就敲域名加端口号,省心多了。
最后提醒一句:映射端口等于把内网设备暴露在公网,密码别用弱口令,服务软件记得及时更新。我见过有人把MongoDB的27017端口映射出去,密码都没设,三天后数据库被勒索,数据全被加密。安全这事,懒不得。
整个过程大概十分钟,但排查问题可能花一小时。记住一个原则:先内网后外网,先关防火墙再开映射,先换端口再找运营商。按这个顺序来,九成问题都能自己解决。
顶: 52踩: 83






评论专区