内网穿透工具frp使用说明
服务端:腾讯云 Ubuntu16
客户端:某实验室内网里的一台
frp的github链接:https://github.com/fatedier/frp
下载软件
直接进入以下链接下载,下载前务必查看清楚自己的CPU型号
https://github.com/fatedier/frp/releases
环境准备:一台有公网IP的服务器作为服务端(腾讯云),只有内网的机器作为客户端
解压软件
tar -zxvf frp_0.14.1_linux_amd64.tar.gz
解压后目录如下:
- frpc 客户端软件
- frpc_full.ini
- frpc.ini 客户端配置文件
- frps 服务端软件
- frps_full.ini
- frps.ini 服务端配置文件
- LICENSE
服务器端设置
将frps frps_full.ini frps.ini上传到有公网IP的服务器(腾讯云)
命令1(修改配置):
vi frps.ini
配置文件
[common]
bind_port = 7000
privilege_token = 3qyangmanqiu
max_pool_count = 5
vhost_http_port = 8088
命令2(启动服务):
./frps -c ./frps.ini
说明:
- bind_port frps工具占用的端口号
- privilege_token 相当于密钥一类的东西,服务端和客户端要保持一致
- vhost_http_port启动http转发后,通过域名访问内网http服务的新端口号,本例中用http://pengpengzuiqiang.club:8088/即可访问内网http服务
客户端设置
将frpc frpc_full.ini frpc.ini上传到内网中服务器
修改客户端配置
命令1(修改配置):
vi frpc.ini
配置文件
[common]
server_addr = 123.206.212.68
server_port = 7000
privilege_token = 3qyangmanqiu
login_fail_exit = false
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web]
type = http
local_port = 8000
custom_domains = pengpengzuiqiang.club
命令2(启动服务):
./frpc -c ./frpc.ini
说明:
- server_addr 公网IP
- server_port 服务器端口
- local_port 本地要替换的端口
- remote_port 替换端口(ssh连接时候改成这个端口)
- local_port 本地http服务的端口号
- custom_domains 有公网IP服务器的域名(必须有域名,否则无法实现http)
最后远程连接
ssh -oPort=6000 root@x.x.x.x
6000是刚刚在客户端里配置的remote_port,此时IP地址是腾讯云的公网IP
自启设置
因为需要保证服务一直运行,使用supervisor自启
sudo apt install supervisor
然后在/etc/supervisor/conf.d下新建一个配置文件frp.conf,输入以下内容。command应该是你放置frp软件的位置。
[program:frp]
command = /home/ubuntu/frp_0.14.1_linux_386/frps -c /home/ubuntu/frp_0.14.1_linux_386/frps.ini
autostart = true
然后启动supervisor,如果事先已经安装好了supervisor那么就重新启动。之后查看一下supervisor的运行状态,看看frp是否已在运行。
# 重启supervisor
sudo systemctl restart supervisor
# 查看supervisor运行状态
sudo supervisorctl status
当然,在客户端也要进行同样设置(设置frpc自启动)
相关博文: