0%

内网穿透

1、背景

首先,IP有限,有了局域网,不同局域网内的IP可以相同。访问公网的时候:

局域网内的,

IP+端口

映射到

网关的,

公网IP+端口

相当于,用不同的端口号来区分了内部的IP,并且会在内网访问外网的过程中,在路由表中记下来映射关系。

所以,局域网=>公网,表中有记录,返回的数据也能正确交给局域网中的电脑。

但是,公网=>内网,表中没记录,无法知道内网中的IP在哪里。

2、内网穿透的原理

1.理论上,在路由表中添加映射关系就可以,但实际中肯定不是老是人为去改路由器

2.工具,花生壳、Cpolar等,电脑上运行一个客户端,与他们的服务端通信,这个客户端再与内网中的电脑应用进行端口映射。QQ、微信也一样,都要有服务端才能做到不同局域网中的A能联系到B。

v2-fac34de448ae1dd5c7555e7a496be7bc_1440w

3、连接局域网的服务器

使用工具映射SSH的22端口,得到公网地址与端口号

可以使用vscode等再连接这个公网地址和端口号即可。

4、遇到的小问题

使用Cpolar映射基于Django的web服务时,需要设置

1
2
3
DEBUG = True

ALLOWED_HOSTS = ['localhost', '127.0.0.1', '[::1]', '3e287042.r7.cpolar.cn']
------------- Thank you for reading -------------

Title - Artist
0:00