前言:前公司换了网络,公网访问失效,导致另一处无法访问数据库,刚好前公司有一个CentOS的京东云服务器,可以采用FRP的方式解决广域网访问问题。
服务端
1.需要下载FRP Linux 服务端:
以Linux为例
,所以要在Releases发布地址中选择 frp_0.46.1_linux_amd64.tar.gz
即 Linux 64位的版本。
或者输入以下命令下载:
mkdir /home/frp
cd /home/frp
wget https://github.com/fatedier/frp/releases/download/v0.46.1/frp_0.46.1_linux_amd64.tar.gz
2.解压FRP
tar -zxvf frp_0.46.1_linux_amd64.tar.gz
3.编辑服务端配置文件
cd frp_0.46.1_linux_amd64
vi frps.ini
配置文件详情:
[common]
bind_port = 7000 #绑定端口
token = 786747 #token码(客户端需要用到)
dashboard_port = 7500 #(访问WEB面板的端口)
4.拷贝到系统目录
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp
sudo cp frps /usr/bin
sudo cp systemd/frps.service /usr/lib/systemd/system/
sudo systemctl enable frps
5.解决systemctl启动受限
此方法用于解决 systemctl
提示 Port unavailable
的错误,将无法代理1024以内的端口。
原因:frp的systemd配置默认使用nobody用户运行,而非root是不允许监听1024以下的端口。
vi /lib/systemd/system/frps.service
注释 User = nobody
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
#User=nobody #此项目注释掉
Restart= on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
[Install]
WantedBy=multi-user.target
6.服务器运行FRP
启动命令:
sudo systemctl start frps
停止命令:
sudo systemctl stop frps
6.打开仪表盘
通过浏览器打开:localhost:7500
用户名以及密码默认为:admin
如果能进入仪表盘,服务端配置成功。
客户端
1.项目列表中下载客户端
以Windows为例
,所以要在Releases发布地址中选择 frp_0.46.1_windows_amd64.zip
即 Windows 64位的版本。
或者:本地下载
下载后解压
2.配置frpc.ini
[common]
server_addr = x.x.x.x #frp服务器IP
server_port = 7000 #frp服务器端口
token = 786747 #frp服务器的token
[Web]
type = tcp
local_ip = 127.0.0.1
local_port = 8080 #映射本地端口
remote_port = 80 #服务器访问端口
[SQLServer] #可以配置多个服务
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389
3.启动 frpc.exe
按住 shift
键同时鼠标 右键
,选择 此处打开PowerShell窗口
启动:
.\frpc.exe