architect:service-expose
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
architect:service-expose [2021/09/10 01:28] – morgan0329 | architect:service-expose [2021/09/10 02:08] (current) – morgan0329 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== 暴露家庭内某一主机的服务到公网 ====== | ||
+ | 我们家里有两个路由器: 小米2013年版, 华为2019年版 | ||
+ | 路由器上有最多可能有3个相关功能:端口转发,DMZ,域名服务商的自动关联 | ||
+ | |||
+ | =====1 端口转发===== | ||
+ | 让来自外部对这个局域网内的路由器的地址(小米的是192.168.31.1,华为的是192.168.3.1)的某一个端口如:5050,转发到 对应局域网内某一台机器的某一个端口上。 | ||
+ | |||
+ | 比如我的机器连上小米路由器以后IP是:192.168.31.27 然后我起了一个web服务 9090端口。 | ||
+ | |||
+ | 配置就是: 外部端口:5050,内部IP:192.168.31.27,内部端口:9090, 对应的协议:可以选TCP | ||
+ | |||
+ | =====2 DMZ===== | ||
+ | 相当于所有的端口转发,隔离出一台机器出来。所有对这个路由器的IP的访问都被转发到 局域网内某台机器上 | ||
+ | |||
+ | =====3 域名服务商的自动关联===== | ||
+ | 要看自己的路由器是否支持, 比如我这边只有华为路由器支持oray的域名转发。我需要把个人域名迁入到 oray下面管理(临时注册新域名的话,至少需要超过7天,注册好的域名要备案通过,才能使用)然后配置好。我猜测:路由器有这个功能,应该是能做到,家庭宽带变更公网IP以后。能够自动在域名服务商那边修改 匹配地址的。 | ||
+ | |||
+ | =====4 端口映射配置在光猫上===== | ||
+ | 反正我各种试了一圈,感觉都没成功。 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 真正的网络是:公网 先访问到 光猫(现在的光猫其实集成了一个有线和无线路由器)而光猫对应的地址是:192.168.1.1 然后从光猫上连接出去,两个路由器 又组建了两个局域网 | ||
+ | |||
+ | 所以我直接把电脑连接到 光猫出来的端口上。我的主机IP就变成了: 192.168.1.2 | ||
+ | |||
+ | 所以最终进入光猫的主页,配置好 端口映射,就可以了 | ||
+ | |||
+ | 配置好以后,我在笔记本上,疯狂地尝试。怎么都连不同。比如我的公网IP是: 172.34.92.110 我在自己机器上启动了一个服务 8099端口。映射到外网的端口也是8099 (主要不要设置太常见的端口,比如80之类的,容易被运营商屏蔽的) | ||
+ | 然后我拿着笔记本疯狂telnet 172.34.92.110 8099. 怎么都不成功。 | ||
+ | |||
+ | 但是telnet 192.168.1.2 8099 是成功的。 | ||
+ | |||
+ | 网上找了好多资料没什么结果。 某一天偶然看到。要用手机4G信号的情况下 访问一下 http: | ||
+ | (大致明白了,身在这个公网IP内部的局域网中 直接访问这个IP是不通的。其实 真正在公网的网络里 访问其实能连通的。至此基本解决了问题) | ||
+ | |||
+ | |||
+ | =====5 更多的事情===== | ||
+ | 因为个人家庭网络,公网IP是会不断改变的。(可能每一个月变一次) 据说是在重启光猫的时候会变一次。我发现我们家光猫 100天没重启了。但是IP地址似乎是30天左右还是会变一次。 | ||
+ | |||
+ | 对于程序员来说,要么选择想办法把这个事情通过 能支持域名匹配的路由器,关联到域名服务商上。 | ||
+ | |||
+ | 要么自己写个程序,每几个小时监控一下,如果发现有修改,然后自动自动一个浏览器,通过selinium程序去修改A记录的配置 | ||