游客发表
路由器里那个“端口映射”或者“虚拟服务器”的器内页面,很多人点进去看一眼就关掉了。网映外网一堆术语,器内外部端口、网映外网内部端口、器内IP地址,网映外网看着就头疼。器内但如果你想从公司访问家里的网映外网NAS,或者想让朋友连上你本地开的器内Minecraft服务器,这步绕不过去。网映外网
先说清楚一件事:你家路由器拿到的器内是一个局域网IP,比如192.168.1.1,网映外网而运营商分配给你的器内公网IP(如果你有的话)才是外面世界能找到你的地址。默认情况下,网映外网外面的器内请求到了你家路由器就被挡住了,路由器不知道这个请求该转给内网的哪台设备。端口映射干的事,就是告诉路由器:凡是来找我某某端口的流量,你都转给内网某台机器的某个端口。
这是最容易翻车的地方。很多人照着教程配了半天,最后发现根本连不上,原因就出在这里。打开浏览器搜“IP地址”,记下显示的地址。然后登录路由器后台,看WAN口状态里显示的IP。两个地址一样,恭喜,你有公网IP。不一样,说明你在大内网里——运营商级NAT(CGNAT)把你的公网地址收走了,你上面还有一层运营商的网关。
这种情况端口映射配了也没用,因为请求根本到不了你的路由器。解决办法要么打运营商客服电话申请公网IP(电信一般打个电话就能给,移动比较难),要么用内网穿透工具比如frp、Tailscale来绕过去。我自己用的是电信宽带,打了一次客服电话,说明要远程访问家里的监控,对方就给开了。
假设你有公网IP了,登录路由器后台,找到“端口映射”或“虚拟服务器”(不同品牌叫法不一样,TP-Link叫虚拟服务器,华硕叫端口转发)。需要填的东西大概长这样:
外部端口:外面的人访问时用的端口,比如你填8080。
内部端口:内网设备实际监听的端口,比如NAS的Web管理界面跑在5000端口。
内部IP:那台设备的局域网地址,比如192.168.1.100。
这里有个坑:内网设备的IP最好是静态的,或者在路由器里给它绑定一个固定的DHCP地址。否则设备重启后IP变了,映射就指向了一台不存在的机器。我之前就吃过这个亏,NAS的IP从.100变成.102,映射失效了三天我都没发现。
还有一个细节:外部端口尽量不要用80和443。国内运营商对这两个端口基本都封了,你映射了也白映射。换成8080、8443这种高位端口,省事很多。
端口映射等于在你家墙上开了个洞。你映射了远程桌面端口3389,又不改密码,那就是等着被人扫。我自己的做法是:能不映射就不映射,必须映射的,换非标准端口+强密码+失败锁定。SSH也一样,别用22,改成五位数端口,能挡掉九成以上的自动化扫描。
更好一点的办法是加一层VPN。在外面先连回家里的VPN,再访问内网设备,这样只需要映射VPN一个端口,其他设备完全不暴露。WireGuard配置简单,性能也好,推荐试试。
说到底,端口映射是个老技术,不复杂,但细节决定成败。公网IP是前提,静态内网IP是基础,端口选择和安全策略是保障。配好之后,从外面访问家里设备的体验,确实挺爽的。
友情链接