menu Stephen Space
more_vert
chevron_right 首页 » 【折腾】 » 正文
【折腾】搭建内网穿透
2020-04-06 | 【折腾】 | 暂无评论 | 124 次阅读 | 844字

    在公网IP和内网IP那一篇科普中,我在文章里提及了内网穿透这个东西。首先,我先介绍一下内网穿透是个什么东西。话不多说,好戏开始!
1.gif
    内网穿透就是指通过一个服务器当作一个交换机,只不过这个交换机比较智能,它能够实现存储好你的ip+识别码,为你的网络终端一对一服务。也就是说,通过这个比较智能的交换机,别的网络终端可以直接发东西给你。具体流程如下图:
frp-原理.png
    我再解释一下。当别的网络终端发东西给你时,它会先发送到你的服务器,然后由于你的服务器先前已经储存了你的ip地址和识别码,所以你的服务器就可以直接向交换机指定接受设备,也就是你的网络终端。
    内网穿透的实现软件有frp和ngork,我这里就以frp为例教大家配置内网穿透。
    好介绍完毕,下面开始配置frp。
    必须的,你得现有一个服务器或一台拥有公网IP的网络终端。系统最好是Linux。
    首先,下载frp。进入GitHub下载界面,分别下载对应的系统的frp。
GitHub下载界面
    截止至2020年4月6日,frp最新版本为0.32.1,如图所示:
frp-github.png
    这里说明一下,使用macOS的小伙伴们要下载darwin版的哦。
    下载完成后,解压。Linux下文件解压后看起来是这样子的:
frp-linux-tree.png
    Windows下看上去是这个样子的:
frp-windows-tree.png
    然后,我们就要开始编辑配置文件了。
    首先,在服务器端打开frps.ini,Windows & Linux通用。
frps.png
    一般来说,服务器端的配置文件不用更改。除非你的7000端口已经被占用了,不然最好不要改。
    然后,放行配置文件上的端口。
frps-port.png
    这样,服务器端就配置好了!
    然后,输入以下命令启动frp服务器端,Windows需要在cmd下执行命令。

Linux下输入
./frps -c frps.ini
Windows下输入
frps.exe -c frps.ini

    Windows下执行完命令后,会出现防火墙警告,要把两个全部勾了再确认。
frps-windows-warning.png
    执行完命令后,出现以下提示就代表成功了。

2020/04/06 19:55:08 [I] [service.go:157] frps tcp listen on 0.0.0.0:7000
2020/04/06 19:55:08 [I] [root.go:209] start frps success

    然后我们来配置客户端。老样子,编辑配置文件frpc.ini,Windows & Linux通用。
    打开之后,配置文件默认应该是这个样子:

[common]
server_addr = 127.0.0.1
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

    我来解释一下

[common]
server_addr = 127.0.0.1 //这里更改成你的服务器端的IP地址
server_port = 7000 //这里是你服务器端的端口,如果你没有改就不用动

[ssh]
type = tcp //你可以改成udp,建议不要改动
local_ip = 127.0.0.1 //这里除非是要连接局域网内的其它设备,否则不要改动
local_port = 22 //你的本地计算机的端口,下面我来列举一些常用的端口
remote_port = 6000 //这里填写其它网络终端访问你的服务器时应该访问的端口

    常用的端口如下:

SSH:22
Windows远程桌面:3389
FTP:21
VNC:5901

    配置完这一些后,记得再服务器端放行remote_port,然后开启客户端。命令如下:

Linux下输入
./frpc -c frpc.ini
Windows下输入
frpc.exe -c frpc.ini

    看到以下信息后,就代表启动成功了。

2020/04/06 20:08:17 [I] [service.go:282] [b11995e908c85071] login to server success, get run id [b11995e908c85071], server udp port [0]
2020/04/06 20:08:17 [I] [proxy_manager.go:144] [b11995e908c85071] proxy added: [ssh]
2020/04/06 20:08:17 [I] [control.go:179] [b11995e908c85071] [ssh] start proxy success

    然后,服务器端也会有相应的提示:

2020/04/06 20:08:04 [I] [service.go:420] [b11995e908c85071] client login info: ip [223.73.44.77:9305] version [0.32.1] hostname [] os [windows] arch [386]
2020/04/06 20:08:04 [I] [tcp.go:63] [b11995e908c85071] [ssh] tcp proxy listen port [12345]
2020/04/06 20:08:04 [I] [control.go:445] [b11995e908c85071] new proxy [ssh] success

    好,本篇【折腾】到此就告一段落了。我是Stephen Zeng,如果有什么写的不好的地方或者你有什么建议或感想,欢迎在底下评论区畅所欲言。我们下篇文章再见!
拜拜ヾ(?ω?`)o

None
发表评论
暂无评论
textsms
account_circle
email
link