家里装了个监控摄像头,需要从外面远程访问。我按教程在路由器上设置了端口转发,把内网摄像头的8080端口映射到外网的8080端口。保存后,用手机4G网络试着访问公网IP:8080,结果一直显示连接超时。检查了好几遍,内网IP、端口号都没写错,协议也选了TCP,可就是连不上。
我怀疑是路由器防火墙在捣鬼。于是登录后台,找到安全设置里的“高级安全”或“防火墙规则”,果然发现默认的“入站过滤”是全部拒绝的。我添加了一条规则,允许所有来源访问本路由器的8080端口,然后保存重启。再用手机试,居然成功了。不过后来发现,如果运营商分配的是私网IP(比如100.64.x.x),外网根本访问不了,那需要联系运营商改公网IP或者用内网穿透。
还有一个坑是路由器自带的“端口触发”(Port Triggering)功能,和端口转发不同,别混淆。我因为不小心同时开了这两个,导致冲突,端口映射失效。关掉端口触发后,一切都正常了。另外,有些路由器需要在“应用规则”里先勾选启用,不然端口转发不生效。这次排查让我摸透了端口映射的底层逻辑,以后配置就顺手多了。
问:端口转发后,内网用公网IP访问不了自己怎么办?
答:这是NAT回流(NAT Loopback)问题,大部分家用路由器默认不支持。解决办法有两个:一是使用域名解析并绑定内网IP(如修改hosts),二是换支持NAT回流的企业级路由器或刷第三方固件。
问:设置端口转发时必须关闭路由器的UPnP吗?
答:不一定,但建议关闭。UPnP会自动开放端口,可能与手动设置的端口转发产生冲突,导致规则失效。我自己测过,关掉UPnP后端口映射更稳定。
问:端口映射后外网还是连不上,怎么确认运营商给的是不是公网IP?
答:打开路由器WAN口状态页,看IP地址是否为10.x.x.x、172.16-31.x.x或100.64.x.x,如果是则说明运营商分配了私网IP,需要致电客服申请公网IP,或者使用内网穿透服务(如frp、ZeroTier)。











