小米路由器如何映射端口(小米路由器端口映射)
在家里尝试搭建私有网盘nextcloud的时候,遇到了一个难题:如何随时随地访问家里的服务器?业内有几种解决方案:
选项1:租用公共网络服务器,将应用程序部署在公共网络服务器上。优点:安全稳定,无需维护设备;缺点:需要定期支付租赁费。
选项2:应用程序部署在家庭服务器上,依靠“内部网渗透”(如frps/frpc)来访问家庭网络。优点:适用于家庭宽带中没有公共IP的场景;缺点:需要租用公网服务器作为“代理”,带宽受限于公网服务器。
选项3:应用程序部署在家庭服务器上,并使用“端口映射”来访问家庭网络。优点:带宽大,且无需租用服务器;缺点:取决于运营商临时公网的IP。
我试过方案一和方案二,我选了方案三,性价比高。毕竟长期租用服务器价格昂贵,带宽越大成本越高。本文是我个人经验总结,供大家参考。
1个前提
开始之前,请确认以下条件是否满足,这三个条件缺一不可。
1.1需要宽带拨号账户和密码。
宽带采用拨号上网,即PPPOE上网。通常,当家里安装宽带时,运营商的工作人员会设置广茂拨号网络,并提供用户名和密码。如果不记得用户名和密码,可以拨打运营商热线询问。
1.2确认宽带是否有公网IP。
电信往往有动态公网IP(ipv4),而移动宽带通常没有动态公网IP,需要你自己确认。有一种方法可以确认:
1)查询家庭网络的外部IP地址:
ip地址查询
2)登录广茂查看广域网端口的IP地址:
以电信光猫为例。光猫背后往往有IP地址,账号,密码,如下图:
“光猫”铭牌
在浏览器地址栏访问192.168.1.1,使用账号useradmin和密码登录,查询WAN口IP地址。
如果以上两个IP相同,说明家庭宽带有公共IP。否则可以尝试拨打运营商热线,索要动态公网IP。
1.3确认路由器DDNS功能
我用的是小米AC2100。当我登录路由器管理地址并选择“高级设置”时,我会看到“DDNS”,这意味着该路由器具有DDNS(动态域名服务器)功能。
小米路由器webUI
1.4获得光猫的超级权限。
猫铭牌上的Useradmin不是超级账号,telecomadmin是超级账号。在这里,您需要获得telecomadmin帐户的密码。由于我的轻猫历史悠久(2015年),获取密码非常简单。请参考豆瓣文章《烽火HG261GS破解超级用户密码》。其他型号,百度不到的话,求助万能的淘宝。
2开始配置
2.1将光学cat配置为桥接模式。
登录广茂IP 192.168.1.1浏览器,输入超级帐户telecomadmin和密码。
广茂网络
进入网络-宽带设置-互联网连接,选择4_INETERNET_B_VID_41作为连接名称,选择网桥作为连接类型,保存配置。请注意,修改光学猫的配置将导致网络暂时断开。
光学cat配置桥接模式
2.2配置路由器PPOE上网
登录浏览器小米路由器管理IP地址(我改成了192.168.0.1),“常用设置”-“互联网设置”,将上网模式改为“PPPoE”。输入PPPoE拨号帐户和密码,然后单击“应用”。
小米路由器webUI
在路由器上设置PPPoE
查看“上网信息”——“外网状态”出现“拨号成功”,表示路由器拨号成功,网络已恢复。这样做了,就意味着完成了重要的一半。
路由器拨号成功。
2.3申请免费域名
我用工运(www.pubyun.com)申请了一个免费域名。注册登录后,我选择动态域名——创建域名,输入域名前缀,在这里填写你想要的域名。只检查f3322.net,免费域名后缀。
Pubyun申请了免费域名
申请成功后,您可以通过“会员中心”查询您的域名:
Pubyun会员中心
2.4配置路由器DDNS
登录小米路由器管理IP地址(192.168.0.1),常用设置-高级设置-DDNS-添加服务。这里的“服务商”可以*选择,因为我的免费域名是在公云申请的,所以我选择公云。当状态显示“连接成功”时,表示DDNS配置成功。
DDNS构型
DDNS配置成功
打开windows CMD,输入“ping域名”测试域名解析。如果ping,说明域名解析已经生效;否则,您可以单击“手动更新”。
域名解析测试
2.5配置端口转发
登录小米路由器管理IP地址(192.168.0.1),常用设置-高级设置-端口转发-添加规则,配置你要暴露的【名称,协议,外部端口,内部IP地址,内部端口】。除了80和443以外的端口都不能用。以我的配置测试为例。协议为TCP和UDP,外部端口为8888,内部IP地址为windows native IP,内部端口为8888。
端口转发配置
3测试
3.1启动windows本地测试服务
我用了一个简单的命令行http server nodejs的http-server(需要安装nodejs,http-server库)进行测试。服务器监听本地IP地址192.168.0.81的端口888,如下所示:
启动测试程序http-server
在浏览器中输入http://192.168.0.81:8888,测试http-server是否可访问,如下界面显示访问成功。
http-服务器访问测试
3.2测试端口映射
在浏览器中输入“http://域名:8888”进行测试,出现如下界面,表示端口映射成功!打开手机浏览器(关闭wifi,避免连接家中局域网),访问“http://域名:8888”,也会出现以下界面!这就是端口映射的魅力。即使您没有连接到无线路由器,也可以访问家庭服务。
端口映射测试
这是我的nextcloud网盘接口,已经可以用“域名:端口”的形式访问了。
访问nextcloud
4结论
虽然端口映射看起来很美,但还是美中不足。最重要的一点,免费域名只能通过http访问,不能通过https!Http协议不加密数据,就像你在网络上的数据传输毫无防备。
关注我,订阅更多有趣的更新。