家里有台NAS,想在公司也能看里面的电影,但发现外网打不开?你可能卡在了网桥模式下的端口映射设置上。很多人用光猫拨号+路由器二级组网,光猫设成网桥模式后,路由器自己拨号上网,这时候做端口映射,位置和方法都跟路由模式不一样。
网桥模式是啥?先搞清楚结构
简单说,网桥模式就是把光猫当成“透明传输”的设备,不负责拨号、不分配IP,只管把光纤信号转成网络信号传给路由器。真正的拨号上网、分配IP、管理设备这些活,全交给你的路由器干。
这种结构下,公网IP其实落在了路由器的WAN口上,所以端口映射也得在路由器上做,而不是光猫。很多人在光猫里折腾半天,当然没效果。
端口映射怎么配?一步步来
假设你想让外网通过8080端口访问你内网192.168.2.100这台主机的Web服务(默认80端口),操作流程如下:
登录你的路由器后台,一般地址是192.168.1.1或192.168.2.1,账号密码多是admin/admin或者你自己设的。
找到“虚拟服务器”或“端口映射”功能,不同品牌叫法不一样,TP-LINK叫“转发规则”,华硕叫“服务端口开放”,小米叫“高级设置-内网穿透”。
添加一条新规则:
- 外部端口:8080
- 内部IP:192.168.2.100
- 内部端口:80
- 协议类型:TCP(如果需要UDP也勾上)
- 启用:勾选
保存后重启路由器或等待生效。之后在外网浏览器输入 http://你的公网IP:8080,就能看到那台主机的网页了。
代码示例:OpenWRT 下的防火墙配置
如果你用的是刷了OpenWRT的路由器,可以直接改防火墙配置文件。编辑 /etc/config/firewall,加入如下内容:
config redirect\n\toption name \'nas_web_access\'\n\toption src \'wan\'\n\toption proto \'tcp\'\n\toption src_dport \'8080\'\n\toption dest \'lan\'\n\toption dest_ip \'192.168.2.100\'\n\toption dest_port \'80\'\n\toption target \'DNAT\'
改完执行 /etc/init.d/firewall restart 就生效了。
常见坑点提醒
别以为设完就万事大吉。先确认你有没有公网IP。很多人被运营商分到内网IP(比如100.x.x.x),就算映射做了也没用。可以去百度搜“我的IP”,看看和路由器WAN口显示的一样不一样。
另外,有些宽带默认封了80、8080、23等常见端口,你可以换用非标准端口,比如8888、60000,反而更容易通。
还有一点,确保内网主机防火墙放行对应端口。Windows上如果连不上,关掉防火墙试试,排除干扰。
最后,手机用4G网络测试访问,别用自己的Wi-Fi,否则可能走内网,看不出问题。