Loading... 前言:前公司换了网络,公网访问失效,导致另一处无法访问数据库,刚好前公司有一个CentOS的京东云服务器,可以采用FRP的方式解决广域网访问问题。 [FRP Github项目地址](https://github.com/fatedier/frp) --- # 服务端 ## 1.需要下载FRP Linux 服务端: 以`Linux为例`,所以要在Releases发布地址中选择 `frp_0.46.1_linux_amd64.tar.gz ` 即 Linux 64位的版本。 [Releases项目发布地址](https://github.com/fatedier/frp/releases) [本地下载](https://cdn.kroxitine.com/blog/typecho/frp_0.46.1_linux_arm64.tar.gz) 或者输入以下命令下载: ```shell 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 ```shell tar -zxvf frp_0.46.1_linux_amd64.tar.gz ``` ## 3.编辑服务端配置文件 ```shell cd frp_0.46.1_linux_amd64 vi frps.ini ``` 配置文件详情: ```ini [common] bind_port = 7000 #绑定端口 token = 786747 #token码(客户端需要用到) dashboard_port = 7500 #(访问WEB面板的端口) ``` ## 4.拷贝到系统目录 ```shell 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以下的端口。 ```shell vi /lib/systemd/system/frps.service ``` 注释 User = nobody ```ini [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 启动命令: ```shell sudo systemctl start frps ``` 停止命令: ```shell sudo systemctl stop frps ``` ## 6.打开仪表盘 通过浏览器打开:`localhost:7500` 用户名以及密码默认为:`admin` 如果能进入仪表盘,服务端配置成功。 ![frpDashboard.png](https://cdn.kroxitine.com/blog/typecho/image.png) --- # 客户端 ## 1.项目列表中下载客户端 以`Windows为例`,所以要在Releases发布地址中选择 `frp_0.46.1_windows_amd64.zip ` 即 Windows 64位的版本。 [Releases项目发布地址](https://github.com/fatedier/frp/releases) 或者:[本地下载](https://cdn.kroxitine.com/blog/typecho/frp_0.46.1_windows_amd64.zip) 下载后解压 ## 2.配置frpc.ini ```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窗口` 启动: ```powershell .\frpc.exe ``` 最后修改:2023 年 12 月 28 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 喜欢就请我喝一杯奶茶吧~