FRP内网穿透的简单配置(仅针对SSH链接)
- 1.简单介绍
- 2.前期准备
- 3.FRP配置
- 4.自动重启
1.简单介绍
这次使用frp的原因是:实习要结束了,但是论文还没有做完。租服务器的价格太贵了,于是就想着继续白嫖实习单位的GPU。这时候又遇到一个问题:单位的服务器无法在外网访问,为了能够有一个快一点的网速以及便宜的价格;于是买了腾讯一年的云服务器来进行内网穿透,自己研究了一上午将自己的结果做一个总结。
针对腾讯云补一个坑,在腾讯云租用的轻应用服务器默认不开启root登录,需要以root登录的方式配置frp环境,要不然会报port unavailable的错误
2.前期准备
首先我们需要三台设备:
- 一台要我们进行连接但在内网的设备
- 一台服务器(带有公网IP的,比如租的阿里云、腾讯云)
- 一台我们自己的电脑,用来连接内网设备
在GitHub上下载对应设备版本的frp并进行解压
frp分为服务器端和客户端
- 服务器端用来装在服务器上
- 客户端用来配置在内网设备上
3.FRP配置
- 服务器端配置
对应的frp文件解压后进入文件夹,会看到以下文件
frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini frps.log LICENSE systemd
frpc*是客户端的配置文件
frps*是服务器端的配置文件
然后对配置文件进行编辑
vim frps.ini
[common]
# frp监听的端口,默认是7000,可以改成其他的(**无论改成哪个都要在阿里云或腾讯云的安全组里将该端口打开**)
bind_port = 8888
**网络访问端口,只用SSH连接可以不打开
vhost_http_port = 8050
将服务器端口打开
sudo ufw allow 8888#或者是sudo ufw allow 8888/tcp
更新防火墙
sudo ufw reload
然后开启frp服务
./frps -c frps.ini
会显示以下信息,表示服务成功开启
2022/01/05 11:11:36 [I] [root.go:200] frps uses config file: frps.ini
2022/01/05 11:11:36 [I] [service.go:192] frps tcp listen on 0.0.0.0:8888
2022/01/05 11:11:36 [I] [service.go:235] http service listen on 0.0.0.0:8050
2022/01/05 11:11:36 [I] [root.go:209] frps started successfully
- 客户端配置
将下载好的frp文件解压并进入文件夹
vim frpc.ini
[common]
server_addr = 1xx.200.172.183 #这里设置为自己租的服务器的公网IP
server_port = 8888 #这里与服务端设置的bind_port一致
[ssh]
type = tcp
local_ip = 1xx.16.30.2xx #这里设置为内网机的ip地址
local_port = 22
remote_port = 233 #自己设置的端口号,一定要在自己租的云服务器中打开该端口号
保存后就可以在客户端开启frp服务了
./frpc -c frpc.ini
然后就可以在自己的电脑上愉快的用SSH连接在内网的机器了
ssh 内网机用户名@服务器公网ip
4.自动重启
有了frp自然少不了自动重启,为了避免以后的麻烦,这里使用supervisor来自动重启
安装supervisor
sudo apt install supervisor
创建 supervisor frps配置文件,在 /etc/supervisor/conf.d 创建 frp.conf
[program:frp]
command = /your/path/frps -c /your/path/frps.ini
autostart = true
然后重启一下supervisor
# 重启supervisor
sudo systemctl restart supervisor
# 查看supervisor运行状态
sudo supervisorctl status