一、下载安装
下载地址:https://github.com/fatedier/frp/releases
- windows系统下载带windows的,如:frp_0.65.0_windows_amd64.zip
- linux系统下载带linux的,如:frp_0.65.0_linux_amd64.tar.gz
- Mac系统下载带darwin的,如:frp_0.65.0_darwin_amd64.tar.gz
1. Windows安装
将压缩包解压到本地目录(如:C:\Program Files\frp)
下载WinSW工具: https://github.com/winsw/winsw/releases 下载到frp相同目录中
LICENSE // 许可文件
frpc.exe // 客户端程序
frpc.toml // 客户端配置
frps.exe // 服务器程序
frps.toml // 服务器配置
WinSW-x64.exe // WinSW工具
在frp目录中创建WinSW配置文件winsw.xml
<!-- 如果是frp服务器,改成frps.exe 及 frps.toml配置 -->
<service>
<id>frpc</id>
<name>frpc</name>
<description>用frpc 客户端</description>
<executable>frpc.exe</executable>
<arguments>-c frpc.toml</arguments>
<logmode>reset</logmode>
</service>
命令行进入frp目录
- 注册frp系统服务:winsw.exe install
- 删除frp系统服务:winsw.exe uninstall
- 停止frp服务:winsw.exe stop
- 启动frp服务:winsw.exe start
2. Linux系统
将压缩包解压到本地目录(如:/usr/local/frp)
创建 systemd 服务文件。如果是frp服务器,将frpc改对对应的frps
vim /etc/systemd/system/frpc.service
[Unit]
Description=frpc server
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.toml
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
- 启动frp:systemctl start frpc
- 停止frp:systemctl stop frpc
- 重启frp:systemctl restart frpc
- 查看frp状态: systemctl status frpc
- 设置开机启动:systemctl enable frpc
3. Mac系统
将压缩包解压到本地目录(如:/Users/admin/frp)
创建 plist 服务文件。如果是frp服务器,将frpc改对对应的frps
sudo vim ~/Library/LaunchAgents/frpc.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
<key>Label</key>
<string>frpc</string>
<key>ProgramArguments</key>
<array>
<string>/Users/admin/frp/frpc</string>
<string>-c</string>
<string>/Users/admin/frp/frpc.toml</string>
</array>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
# 设置权限
sudo chown root ~/Library/LaunchAgents/frpc.plist
# 加入并启动服务
sudo launchctl load -w ~/Library/LaunchAgents/frpc.plist
# 停止服务
sudo launchctl unload ~/Library/LaunchAgents/frpc.plist
二、配置
1. 服务端配置
服务器需要一台可公网访问的设备,Windows、Linux、Mac系统都可以,配置对应的frps.toml文件,并启动对应的frps服务即可。
# 服务器端口
bindPort = 7000
# tcp复用器端口
tcpmuxHTTPConnectPort = 7001
# http端口
vhostHTTPPort = 80
vhostHTTPSPort = 445
# 权限认证
auth.method = "token"
auth.token = "123456"
# 服务端 Dashboard 配置
# webServer.addr = "0.0.0.0"
webServer.port = 5555
webServer.user = "root"
webServer.password = "123456"
# 日志配置
log.to = "./log/file.log"
log.level = "info" # 日志级别,可选值为 trace, debug, info, warn, error,默认级别为 info
log.maxDays = 7
# 允许哪些端口可以被客户端使用(选配,不配置则不限制)
allowPorts = [
# 单个端口配置
{ single = 22 },
{ single = 3389 },
# 多个端口区间
{ start = 5900, end = 5999 }
]
浏览器访问 http://xxx.xxx.xx.xxx:5555 进入frp服务端控制台
2. Windows RDP远程桌面
Windows的远程桌面默认端口为3389,用frp将本地3389端口转发出去就可以了。在Windows中配置frpc.toml客户端配置,并启动frpc客户端服务。C:\Program Files\frp\frpc.toml
# frps服务器 ip、端口
server_addr = "xxx.xxx.xxx.xxx"
server_port = 7000
# 权限认证
auth.method = "token"
auth.token = "Zw123455.."
# RDP远程桌面
[[proxies]]
name = "Win"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 3389 # 远程访问端口,其电脑RDP客户端访问:xxx.xxx.xxx.xxx
3. Linux SSH终端、 VNC远程桌面
Linux SSH终端默认端口为22,桌面版Linux中VNC默认端口为5900(若多桌面默认端口为5900+桌面号,根据需求配置),配置Linux中frpc客户端配置/usr/local/frp/frpc.toml
# frps服务器 ip、端口
server_addr = "xxx.xxx.xxx.xxx"
server_port = 7000
# 权限认证
auth.method = "token"
auth.token = "Zw123455.."
# SSH
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 22 # SSH远程终端端口,其电脑ssh访问:xxx.xxx.xxx.xxx
# VNC
[[proxies]]
name = "vnc"
type = "tcp"
localIP = "127.0.0.1"
localPort = 5900
remotePort = 5900 # VNC远程终端端口,其电脑vnc客户端访问:xxx.xxx.xxx.xxx
4. Mac VNC远程桌面
Mac中VNC默认端口为5900配置类似于桌面版Linux中的VNC一样,配置Mac中frpc客户端配置/Users/admin/frp/frpc.toml
# frps服务器 ip、端口
server_addr = "xxx.xxx.xxx.xxx"
server_port = 7000
# 权限认证
auth.method = "token"
auth.token = "Zw123455.."
# VNC
[[proxies]]
name = "vnc"
type = "tcp"
localIP = "127.0.0.1"
localPort = 5900
remotePort = 5900 # VNC远程终端端口,其电脑vnc客户端访问:xxx.xxx.xxx.xxx
评论区