使用Centos7 搭建frps内网穿透服务器
frps搭建自己的内网穿透服务器
开发过程中,很多时候我们需要用到内网穿透,将自己的服务器映射到外网。
frps Github地址https://github.com/fatedier/frp 里面有中文文档,可以参考下。
1、下载frps服务器文件: https://github.com/fatedier/frp
选择frp_0.36.2_linux_amd64.tar.gz,如果你是其他操作系统,请自行选择
下载完之后,传到ECS上,然后解压,编辑frps.ini配置文件
[common]
# 服务器端IP
bind_addr = 服务器IP
# 服务器端端口
bind_port = 7000
# 服务器端开启UDP优化传输,可以使用同一个端口
kcp_bind_port = 7000
# 客户端连接凭证
privilege_token = cc123
# 最大连接数
max_pool_count = 50
# 客户端映射的端口
vhost_http_port = 80
# 服务器控制面板的访问端口
dashboard_port = 7500
# 服务器控制面板账户
dashboard_user = admin
dashboard_pwd = cc123
设置完以上配置,保存退出,然后启动服务器
./frps -c ./frps.ini
启动之后查看日志, 提示Start frps success基本上就启动成功
2020/04/08 11:39:09 [I] [root.go:200] frps uses config file: ./frps.ini
2020/04/08 11:39:09 [I] [service.go:192] frps tcp listen on 0.0.0.0:7000
2020/04/08 11:39:09 [I] [root.go:209] frps started successfully
2、客户端搭建
客户端配置文件都是通用的, 以windows为例
下载frps客户端文件: https://github.com/fatedier/frp
选择frp_0.36.2_windows_amd64.zip 64位文件
然后解压,配置frpc.ini文件,配置如下:
[common]
# 服务器地址
server_addr = 1.1.1.1
# 服务器端口
server_port = 7000
# 服务器连接凭证
privilege_token = cc123
[rdp]
privilege_mode = true
remote_port = 32890
type = tcp
local_ip = 127.0.0.1
# 本地映射的端口
local_port = 3389
use_gzip = true
#启用加密 [通信内容加密传输,有效防止流量被拦截]
use_encryption = true
#启用压缩 [传输内容进行压缩,有效减小传输的网络流量,加快流量转发速度,但会额外消耗一些CPU资源]
use_compression = true
# 绑定域名 域名需要配置好解析,解析到服务器
custom_domains = manager.cc123.cn
命令行启动客户端
cd F:\Program Files\frp_0.36.2_windows_amd64
frpc.exe -c frpc.ini或frpc.exe
F:\Program Files\frp_0.36.2_windows_amd64>frpc.exe -c frpc.ini
2020/04/08 11:39:09 [I] [service.go:282] [5b82d2b9833720a9] login to server success, get run id [5b82d2b9833720a9], server udp port [0]
2020/04/08 11:39:09 [I] [proxy_manager.go:144] [5b82d2b9833720a9] proxy added: [3-rdp]
2020/04/08 11:39:09 [I] [control.go:179] [5b82d2b9833720a9] [3-rdp] start proxy success
看到如下信息 start proxy success 说明连接成功。
此时可以通过7500端口访问服务器的控制面板页面,查看连接情况。
客户端可以新建一个start.bat文件,把启动命令放在里面,这样每次直接运行bat文件即可
推荐一个frpc gui win客户端 frpmgr-1.4.2
3、服务器服务后台运行及自动启动
使用systemd配置开机自启,适用于 centos7 Ubuntu 16 或 debian 8。
vi /etc/systemd/system/frps.service 新建此文件,并写入以下内容:
[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
Restart= always
RestartSec=1min
ExecStart=/home/frp_0.36.2_linux_amd64/frps -c /home/frp_0.36.2_linux_amd64/frps.ini
[Install]
WantedBy=multi-user.target
启动并设为开机自启。
systemctl start frps //启动
systemctl status frps //状态查询
systemctl enable frps //开机启动
补充一下:
ExecStart=/home/frp_0.36.2_linux_amd64.tar.gz/frps.ini
ExecStart=后面这个是frps文件和配置文件
服务端frps.ini只配置这2项即可这是最简单的配置
[common]
# 服务器端IP
bind_addr = 服务器IP
# 服务器端端口
bind_port = 7000
# 客户端连接凭证
privilege_token = cc123
56666
555
555