frp内网穿透部署实践

一、写在前面

1、frp_s(server端)部署在centos8(外网服务器)
2、frp_c(client端)部署在ubuntu18.04(内网)
3、frp_s/frp_c使用supervisor管理两个进程
4、内网部署一个web服务redash

二、frp下载

1、frp[下载地址](https://github.com/fatedier/frp/releases),此处选择frp_0.31.2_linux_amd64.tar.gz为例。
2、frp分别解压至server端和client端。

三、server端安装

sudo tar -xzvf frp_xxx_linux_amd64.tar.gz
mv frp_xxx_linux_amd64 frp
cd frp
此处以最简配置为例(默认即可)
cat frps.ini
[common]
bind_port = 7000

启动server端
frps -c ./frps.ini

supervisor里server端的配置
[root@centos8 supervisord.d]# cat frp_s.conf 
[program:frp_s]
command=/usr/local/frp/frps -c ./frps.ini # 路径注意替换
directory=/usr/local/frp
user=root
autostart=true
autorestart=true
startsecs=3
redirect_stderr=true
stdout_logfile=/usr/local/frp/frp_server.log

配置好后执行supervisorctl update

查看supervisor配置的日志信息
[root@centos8 frp]# cat frp_server.log 
2020/02/25 14:44:57 [I] [service.go:152] frps tcp listen on 0.0.0.0:7000
2020/02/25 14:44:57 [I] [root.go:205] start frps success
server端启动成功!

四、client端安装

clinet端安装基本同上,不再赘述,下面贴出我的配置

root@ubuntu:/usr/local/frp# cat frpc.ini 
[common]
server_addr = 47.xxx.xxx.157
server_port = 7000

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

[web]
type = tcp
local_port = 5000 # 5000是我本地redash服务暴露的端口
custom_domains = 47.xxx.xxx.157
remote_port = 55000 # 开放的端口

server端同样以supervisor部署,基本同server端,但启动命令稍有不同
frpc -c ./frpc.ini # 注意命令执行的目录

查看supervisor配置的日志信息
root@ubuntu:/usr/local/frp# cat frp_client.log 
2020/02/24 23:08:13 [I] [service.go:250] [f18cfbae86ffd442] login to server success, get run id [f18cfbae86ffd442], server udp port [0]
2020/02/24 23:08:13 [I] [proxy_manager.go:144] [f18cfbae86ffd442] proxy added: [ssh web]
2020/02/24 23:08:13 [I] [control.go:164] [f18cfbae86ffd442] [ssh] start proxy success
2020/02/24 23:08:13 [I] [control.go:164] [f18cfbae86ffd442] [web] start proxy success
client端启动成功!

五、The end!

image.png

你可能感兴趣的:(frp,ubuntu18.04,centos8,supervisor)