服务器端

获取frp发布版,打开压缩包,递归复制文件夹改名

wget https://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_amd64.tar.gz
tar -zxvf frp_0.61.1_linux_amd64.tar.gz
cp -r frp_0.61.1_linux_amd64 frp

cd frp之后修改服务器配置文件vim frps.toml

配置参考https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml

bindAddr = "0.0.0.0"
bindPort = 7000

log.to = "./frps.log"
log.level = "info"
log.maxDays = 7

auth.method = "token"
auth.token = "111" #修改token

修改完之后可以运行./frps -c frps.toml,之后没有输出,等待一会^c中断程序,cat frps.log查看运行日志,看是否有successful字样

然后将frp目录移动到系统文件夹

cd ..
sudo mv frp /usr/local/

可以使用systemd托管服务自动运行,在/etc/systemd/system/目录下创建一个名为frps.service的文件,内容如下:

[Unit]
Description=FRP Server Service

[Service]
Type=simple
# 如有需要,可以指定非root用户:User=frpuser
WorkingDirectory=/usr/local/frp
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.toml
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

[Service] 部分

WorkingDirectory:设定 frps 所在目录,保证配置文件中使用的相对路径正确。

ExecStart:指定启动 frps 的命令,注意这里使用绝对路径。

Restart=alwaysRestartSec=10:确保 frps 意外退出后10秒内自动重启。

[Install] 部分

WantedBy=multi-user.target:使服务在系统进入多用户模式时自动启动。

修改完成后保存并执行以下命令:

sudo systemctl daemon-reload
sudo systemctl start frps.service
sudo systemctl status frps.service

这将重新加载所有服务的配置文件,然后启动frps,最后可以查看服务运行状态

客户端

同样下载frp_windows,可能会报毒但是不用管他,详细情况可以查看issue2095

解压后编辑frpc.toml,参考https://github.com/fatedier/frp/blob/dev/conf/frpc_full_example.toml如下:

serverAddr = "0.0.0.0" # 替换为服务器IP
serverPort = 7000 #与frps.toml保持一致

log.to = "./frpc.log"
log.level = "info"
log.maxDays = 3

auth.method = "token"
auth.token = "111" #与frps.toml保持一致

transport.tls.enable = true #传输使用tls加密但好像没用

[[proxies]]
name = "remoteDesk"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389 #远程桌面默认端口 
remotePort = 6000

之后在powershell的frp目录下运行frpc.exe -c frpc.toml,同样没有输出,可以查看日志

同样可以将frpc在Windows注册为服务,首先创建 .bat 文件,内容如下:

cd C:\Users\xx\frp #cd到frp文件夹绝对路径,xx->你的用户名
frpc.exe -c frpc.toml

然后在管理员权限的cmd中

#binPath为frp文件夹绝对路径
sc create frpc binPath= "C:\Users\xx\frp" start= auto

可能会遇到问题,暂时不知道解决办法,可以在cmd中frp文件夹手动启动

frpc.exe -c frpc.toml

继续

服务器防火墙要开启配置文件中指定端口,如6000和7000

sudo iptables -A INPUT -p tcp --dport 7000 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 6000 -j ACCEPT

另一个电脑使用windows-app,输入服务器IP和端口如x.x.x.x:xx,即可连接

效果不是很理想,延迟很高,很多毛病不太适合频繁操作