新闻公告关注获取即时动态
< 返回

frp内网穿透部署实践

2020-09-10 14:13:20 来源:蓝队云

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端安装

root@ubuntu:/usr/local/frp# cat frpc.ini

[common]

server_addr = xxx.xxx.xxx. xxx

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 = xxx.xxx.xxx. xxx

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!