FRP(Fast Reverse Proxy)是一款高效的反向代理软件,由Go语言编写,安全、高效,主要用于内网穿透,支持的协议有TCP、UDP、HTTP、HTTPS等,并且具备P2P通信功能。
因为在外出差,经常需要访问家里电脑的资源,恰好还有一台阿里云主机,所以折腾出通过FRP来实现远程连接家里的电脑。

资源准备
有固定IP的服务器、远程被控主机、本地控制主机
FRP:https://github.com/fatedier/frp/releases
部署服务端
我的阿里云ECS是linux版,下载frp_0.65.0_linux_amd64.tar.gz软件包,其他版本请前往FRP官网。
|
1 2 3 4 |
tar zxvf frp_0.65.0_linux_amd64.tar.gz mkdir /etc/frp cp frp_0.65.0_linux_amd64/frps.toml /etc/frp/frps.ini cp frp_0.65.0_linux_amd64/frps /usr/local/bin/ |
修改配置文件/etc/frp/frps.ini
|
1 2 3 4 5 6 7 8 9 |
bindPort = 7000 # 启用认证 auth.method = "token" auth.token = "wojiushitoken" # 启用面板 webServer.addr = "0.0.0.0" webServer.port = 7080 webServer.user = "admin" webServer.password = "wojiushimima" |
创建文件/usr/lib/systemd/system/frp.service,添加以下内容:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=frp server After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini KillSignal=SIGQUIT TimeoutStopSec=5 KillMode=process PrivateTmp=true StandardOutput=syslog StandardError=inherit [Install] WantedBy=multi-user.target |
执行命令启动服务
|
1 2 3 |
systemctl daemon-reload systemctl start frp systemctl enable frp |
正常启动后就可以访问站点http://<IP>:7080查看状态。
部署受控端
主机是Windows系统,下载frp_0.65.0_windows_amd64.zip后解压,并将frpc.toml重命名为frpc.ini,修改配置:
|
1 2 3 4 5 6 7 8 9 10 |
serverAddr = "server_ip" serverPort = 7000 auth.method = "token" auth.token = "wojiushitoken" [[proxies]] name = "rdp-home" type = "stcp" localIP = "127.0.0.1" localPort = 3389 |
Windows注册frp服务,下载nssm-2.24.zip并解压,进入nssm目录后点击菜单“在终端中打开”,输入“nssm.exe install”,选择frp对应的软件信息即可安装服务,随后在Windows服务中启动frp。

部署控制端
操作流程同部署受控端,但配置修改如下:
|
1 2 3 4 5 6 7 8 9 10 11 |
serverAddr = "server_ip" serverPort = 7000 auth.method = "token" auth.token = "wojiushitoken" [[visitors]] name = "rdp-local" type = "stcp" serverName = "rdp-home" bindAddr = "127.0.0.1" bindPort = 3389 |
通过以上操作,实现了远程主机访问,打开本地的远程桌面连接,输入“127.0.0.1:3389”。

原创文章禁止转载:技术学堂 » 通过frp内网穿透实现主机远程连接

技术学堂















