• 背景

  • 利用frp内网穿透远程桌面公司电脑

    • 操作步骤

    • Linux后台运行frps

    • Win后台运行frpc

  • 三方工具-向日葵(简单)

背景

最近几年经常需要进行远程办公。原因包括不限于:

  • 疫情居家

  • 公司停电在家办公

  • 任务进度拉跨,回家接着搬砖

  • 自用本硬件达不到处理任务所需配置

利用frp内网穿透远程桌面公司电脑

所需条件:一台公网服务器

frp地址:github

操作步骤

服务器

  • 查看服务器架构,下载对应版本

  • 解压到任意目录

  • 编辑 frps.ini 运行 frps 服务

公司pc

  • 下载win版 frp

  • 解压到任意目录

  • 编辑 frpc.ini 运行 frpc 服务

其它问题

  • 如果服务器运营商 有相关的 安全组 配置,记得打开安全组 配置相关端口访问

公网服务器配置


uanme -a # 查看服务器信息

wget -c https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz # 下载frp

tar xf frp_0.44.0_linux_amd64.tar.gz -C /usr/local/frp # 解压

vim /usr/local/frp/frps.ini # 编辑配置文件

frps.ini基本配置


[common]

bind_port = 7000 # frp 服务器用户接收客户端连接的端口,建议修改成其它端口

# frp 有两种认证方式 token 和 oidc,也可以不配置认证

# 基于 Token 的身份验证方式比较简单,需要在 frpc 和 frps 的 [common] 段落中配置上相同的 token 参数即可。

authentication_method = token

token = xoxoxo

运行frps服务


cd /usr/local/frp # 进行解压目录

frps -c frps.ini # 临时运行 如果使用的ssh,那么关闭窗口,服务就会退出

nohup frps -c frps.ini > app.log 2>&1 & # 表示在后台运行,不会因为ssh窗口关闭而退出服务

# 可以使用如 supervisor 等工具,管理frps

# 可以使用如 systemd 配置成 后台服务进行管理

  • 公司pc设置

下载 win版frp; 解压即可


[common]

server_addr = 公网服务器IP地址

server_port = 7000 # 公网frps服务 绑定的端口

token = xoxoxo # 跟 frps.ini 配置一样



[company-pc]    # 自定义命名

type = tcp # win 远程桌面 rpd 使用 tcp协议

local_ip = 127.0.0.1

local_port = 3389 # 远程桌面 默认端口

remote_port = 33891 # 服务器 使用哪个端口 绑定该服务 当客户端连接成功后,frps 会 绑定该端口,用于接收服务请求

  • 测试使用

家用 win 使用:mstsc 命令,弹窗输入 公网服务器IP:33891,连接成功后输入 公司pc 用户名 密码登录; 如果有域名绑定公网IP,也可以使用域名访问

Linux后台运行frps


yum info supervisord # CentOS

vim /etc/supervisord.d/frps.ini # 创建配置文件

添加配置如下:


[program:frps]

directory=/usr/local/frp/

command=/usr/local/frp/frps -c /usr/local/frp/frps.ini

user=root

autostart=true

autorestart=true

stdout_logfile=/usr/local/frp/frps.log

stdout_logfile_maxbytes=100MB

stdout_logfile_backups=10

stdout_capture_maxbytes=1MB

stdout_events_enabled=false

stderr_logfile=/usr/local/frp/frps.log

stderr_logfile_maxbytes=100MB

stderr_logfile_backups=10

stderr_capture_maxbytes=1MB

stderr_events_enabled=false


systemctl enable supervisord # 让 supervisord 开机自启动

supervisorctl status # supervisord 管理的服务状态

supervisorctl start frps # 启动frps服务

Win后台运行frpc

  • 下载winsw工具 github,解压重命名 winsw.exe 到目录 如 c:/winsw/winsw.exe

  • 编写配置文件 c:/winsw/winsw.xml




<service>

    <id>frpc</id>

    <name>frpc</name>

    <description>frpc开机自启,用于内网穿透 远程桌面使用</description>

    <executable>c:\frp\frpc.exe</executable>

    <arguments>-c c:\frp\frpc.ini</arguments>

    <onfailure action="restart" delay="10 sec"/>

    <onfailure action="restart" delay="20 sec"/>

    <logmode>append</logmode>

    <logpath>%BASE%\logs</logpath>

</service>

  • 注册服务运行服务

进入 c:/winsw 目录,执行命令


./winsw.exe -h # 查看命令帮助

./winsw.exe install # 注册winsw.xml文件中配置的服务

./winsw.exe start # 启动服务

注:注册服务的程序路径,最好不要有空格(坑了我很久),服务注册成功后,可以在 右键 我的电脑=>管理=>服务中找到

使用向日葵进行远程桌面

  • 下载向日葵软件,安装 (控制端,被控端 都要安装)

  • 注册一个账号

  • 两边都使用同一个账号登录;查看登录设备即可直接远程访问

最后:如果有停电的情况,记得BIOS设置来电自启动