frp内网穿透

内网穿透解决了困扰一个学期的问题

一个学期了,都快结束了,宿舍里的软路由刷了了个 Linux 系统当下载器兼服务器
但校园网的质量怎么说呢。。。
经常断网,然后 DHCP 重新给了个 IP 地址,然后我就连不上软路由了
今天突然想到可以用内网穿透来解决

frp 使用

在一台有公共 IP 地址的 VPS 上部署服务端,在软路由上部署客户端,客户端会主动连接到服务端的相应接口
建立好连接后,只需要连接上有公网 IP 地址的 VPS 的相应端口就能连接到内网的软路由了
就这么简单的东西,我一个学期都没有拿来用一下,唉:(

配置SSH

先连接的上再说以后的事嘛
GitHub 上面下好最新的 release https://github.com/fatedier/frp
解压

1
tar -xvzf frp_0.43.0_linux_amd64.tar.gz

里面有6个文件,3个 frp 后面是c,3个 frp 后面是s
c 的是 client 客户端,s 的是 server 服务端
服务端的上传到 VPS 上,客户端发在软路由上

配置服务端的 frps.inf

1
2
[common]
bind_port = 7000

代表客户端绑定服务端的端口

配置客户端的 frpc.ini

1
2
3
4
5
6
7
8
9
[common]
server_addr = vps_ip
server_port = 7000

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

common 里填的就是服务端暴露出来的端口
ssh 里填写用来被连接的端口,直接用默认的6000也行

启动并后台运行

为了后台运行,可以用 nohup 命令

服务端:

1
nohup ./frps -c frps.ini > /dev/null 2>&1 &

客户端:

1
nohup ./frpc -c frpc.ini > /dev/null 2>&1 &

命令解释: 将标准错误 2 重定向到标准输出 &1,标准输出 &1 再被重定向输入到 /dev/null 中,& 表示退出命令行后继续运行

然后在别的机器上就能通过 VPS 来连接软路由了

1
ssh -oPort=6000 user@vps_ip

后面的其他更牛逼的玩法,后面我再自己看文档去了,全是英文 …(。•ˇ‸ˇ•。) …
感觉还可以结合刚学会使用的一个项目来加速 frp 连接,这样就能在软路由上搭一个速度快,还不限速的网盘了 .。(๑・∀・๑).。