【Linux-Windows】关于外网访问内网服务器
- 1、背景
- 2、内网穿透
1、背景
有时候,我们搭建的服务器系统是在内网,内网即内部局域网。
内网可以访问外网,但是外网不能访问内网,外网即互联网或者称为公网。
内网的设备往往组成模式如下:
注意:路由器和交换机也可能是一体的设备。路由器是可以当做交换机用的,但交换机却不能当成路由器用。
有时候,我们希望在外部访问内网,比如在家里访问公司的web网站等。
这其中就需要一个桥梁,可以将内网服务器映射到公网,
这样就可以在任何一台可以接入互联网的设备上访问内网的服务。
内网服务器映射到外网,即内网穿透,也是常说的 NAT 穿透。
2、内网穿透
内网穿透将内网服务器映射到公网,实现了在可以接入互联网的设备都可以访问内网服务。
场景1、路由器拥有固定的公网IP
一般我们用的网络的公网IP是不固定的,被随机分配的,固定公网IP往往需要额外申请。
需要局域网内的路由器支持端口的映射。
在路由器中将路由器的某些端口映射到局域网某电脑的某些端口上就ok了。
然后就可以使用公网端口ip:port访问了!
场景2、路由器的无固定公网IP
通过百度查询到本地接入的公网IP:
101.83.168.154上海市青浦 电信
查看本机的IP地址:
询问同楼电信带宽的邻居,他的公网IP和我的一样:
其本机IP如下:
如上192.168.1.104 、10.0.0.18 属于内网ip。
内网ip地址有A、B、C三类:
A类:10.0.0.0~10.255.255.255;
B类:172.16.0.0,~172.31.255.255;
C类:192.168.0.0.~192.168.255.255;
公网ip就好比你的身份证号,内网ip就好比你的名字。
身份证不会重复,而名字可能重名。定位通过身份证定位,一定位一个准。
而名字只会在小范围(类比局域网)不会重复。
这种情况的要内网穿透,需要借助:
花生壳、NAT123软件、frp等。
我更倾向使用frp开源软件。
使用frp软件,必须借助一个有公网ip的云服务器。
内网机器frpc向云服务器frps建立一个长连接,然后云服务器frps就可以主动向内网机器传数据。
云服务器frps将自己某端口的数据转发到内网机器frpc上,然后客户端访问云服务器frps的那个端口就可以访问内网机器了。
相关博客参考:
【Linux-Windows】frp开源反向代理介绍
https://blog.csdn.net/jn10010537/article/details/124770833
【Linux】frpc开机自启动
https://blog.csdn.net/jn10010537/article/details/124641690
【windows10】frpc开机自启动
https://blog.csdn.net/jn10010537/article/details/124630160