frp内网穿透搭建远程桌面

一、 前提

有一台远程服务器,然后用Win的远程桌面连接到公司内网电脑中

二、环境

公网服务器1台,CentOS 7

内网客户端1台,Win10

三、服务器安装frp

下载地址https://github.com/fatedier/frp/releases 下载linux版本

wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz

解压到/usr/local/frp目录

tar zxf frp_0.31.1_linux_amd64.tar.gz
mv frp_0.31.1_linux_amd64 /usr/local/frp

配置服务端frps.ini

vim frps.ini

[common]
bind_port = 7000
vhost_http_port = 8080

启动

./frps -c ./frps.ini

四、客户端配置

  1. 下载地址https://github.com/fatedier/frp/releases 下载win版本
  2. 解压到C:\Program Files\frp目录
  3. 配置frpc.ini
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
 
[RDP]
type = tcp
local_ip = 0.0.0.0
local_port = 3389
remote_port = 6666
  1. 在命令行中启动frp客户端(建议用管理员模式运行)
C:\Program Files\frp\frpc.exe -c C:\Program Files\frp\frpc.ini
等待启动完成
2020/01/11 13:18:22 [I] [service.go:250] [e126185cb2716a8e] login to server success, get run id [e126185cb2716a8e], server udp port [0]
2020/01/11 13:18:22 [I] [proxy_manager.go:144] [e126185cb2716a8e] proxy added: [RDP]
2020/01/11 13:18:22 [I] [control.go:164] [e126185cb2716a8e] [RDP] start proxy success
连接测试

五、 配置服务开机启动

linux下配置服务

vim /etc/systemd/system/frps.service

[Unit]
Description=frps daemon
After=syslog.target  network.target
Wants=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr//local/frp/frps.ini
Restart= always
RestartSec=1min
 
[Install]
WantedBy=multi-user.target
启动frps
systemctl start frps

win下配置服务

借助 winsw 工具可以将frpc注册为windows系统中的服务

将下载的winsw.exe放到frpc.exe同目录下,并填写winsw.xml配置文件

<service>
    <id>frp</id>
    <name>frp</name>
    <description>用frp发布本地电脑网站到外网</description>
    <executable>frpc</executable>
    <arguments>-c frpc.ini</arguments>
    <logmode>reset</logmode>
</service>

然后使用winsw install将frpc安装为系统服务。

winsw 下载地址: https://github.com/kohsuke/winsw/releases

创建与winsw同名的配置文件,后缀为xml

此处以配置FRP客户端为例:

<service>
    <!-- 该服务的唯一标识 -->
    <id>frp</id>
    <!-- 该服务的名称 -->
    <name>frp0.27.1-windows-amd64</name>
    <!-- 该服务的描述 -->
    <description>frpc客户端 这个服务用 frpc 实现内网穿透</description>
    <!-- 要运行的程序路径 -->
    <executable>D:\Software\frp\frp_0.27.1_windows_amd64\frpc.exe</executable>
    <!-- 携带的参数 -->
    <arguments>-c frpc.ini</arguments>
    <!-- 第一次启动失败 60秒重启 -->
    <onfailure action="restart" delay="60 sec"/>
    <!-- 第二次启动失败 120秒后重启 -->
    <onfailure action="restart" delay="120 sec"/>
    <!-- 日志模式 -->
    <logmode>append</logmode>
    <!-- 指定日志文件目录(相对于executable配置的路径) -->
    <logpath>logs</logpath>
</service>

使用的方法

//注册服务
winsw.exe install
//卸载服务
winsw.exe uninstall
//启动服务
winsw.exe start
//停止服务
winsw.exe stop
//重启服务
winsw.exe restart
//查看状态
winsw.exe status

最后以上所有的操作都最好是管理员模式运行。

最后修改:2020 年 11 月 27 日
如果觉得我的文章对你有用,请随意赞赏