当前位置:   article > 正文

FRP内网穿透进行Windows远程访问_frp windows

frp windows

背景

  • 内网计算机:Windows 10 x64

  • FRP服务器:腾讯云 Ubuntu 20.04

本文重点介绍 FRP 服务器端和客户端配置,远程桌面连接属于常规内容,不再详细说明。

准备工作

下载软件

GitHub下载 FRP release 的程序

Snipaste_2022-05-28_15-21-26.png

因为本次需要配置 Ubuntu 和 Windows 两个环境,所以两个包都下载下来(Linux 的包可以到终端上去操作,但是云服务器没有代理,所以一并在本地电脑上解决了)

服务器配置

打开 frp_linux_amd64.tar.gz ,里面有客户端(client)和服务端(server)的可执行文件和配置文件,其中frpsfrps_full.inifrps.ini 是服务器端的可执行文件和配置文件。

Snipaste_2022-05-28_15-26-22.png

修改配置文件

修改 frps.ini 文件

[common]
bind_addr=0.0.0.0
bind_port = 7000
# token=1234567890
dashboard_port = 7500
dashboard_user = username
dashboard_pwd = password
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

说明

  • bind_addr 服务器本地 IP
  • bind_port FRP 监听端口
  • token 验证 token 根据需要设置
  • dashboard_port FRP面板端口
  • dashboard_userdashboard_pwd 是面板的账号密码
  1. 除了bind_addr参数之外的其他参数,都可以根据需求自行修改。
  2. token和面板的配置都是非必须的。
  3. 如果使用云服务器,那么bind_portdashboard_port都需要在云服务器安全组放行。

修改权限

然后给服务器端 frps 赋予执行权限:

sudo chmod 755 ./frps
  • 1

运行 frps

./frps -c ./frps.ini
  • 1

出现[root.go:209] frps started successfully 即代表运行成功。

Snipaste_2022-05-28_15-46-51.png

如果运行出现错误 bash: ./frps: Permission denied 表示还是权限错误,参考上一步修改权限

Snipaste_2022-05-28_15-44-39.png

访问面板

frps 运行成功后可以通过 http://公网IP:面板端口 访问 frp 面板(前提是配置了访问面板)。登录面板可以看到如下界面:

Snipaste_2022-05-28_15-52-29.png

进阶

使用 nohupfrps 后台运行

nohup ./frps -c ./frps.ini > nohup.out 2>&1 &
  • 1

查看后台服务,通过这个指令就能看到 frps 的 PID

ps -aux | grep "./frps -c ./frps.ini"
  • 1

客户端配置

打开 frp_windows_amd64.zip ,里面有客户端(client)和服务端(server)的可执行文件和配置文件,其中frpc.exefrpc_full.inifrpc.ini 是客户端的可执行文件和配置文件。

Snipaste_2022-05-28_16-00-04.png

修改配置文件

本地演示用到程序是 windows 远程桌面,使用 3389 端口。需要用 FRP 将 windows 客户端的 3389 转发到服务器端上。比如将客户端的 3389 转发到服务器端的远程端口。用文本编辑器打开 frpc.ini 文件:

[common]
server_addr = FRP服务器公网地址
server_port = 7000
# token=1234567890

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 服务器端远程端口
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

说明

  • server_addr FRP服务器公网地址

  • server_port 服务器FRP服务端口需要与服务器配置一致

  • token token 验证,如果服务器端配置了 token,客户端需要与服务器一致

  • type 转发端口协议类型

  • local_ip 本地地址,一般为 127.0.0.1

  • local_port 本地服务端口,不同程序端口不同

  • remote_port 转发到服务器的某个端口

如果FRP服务使用的云服务器,要想通过公网IP加远程端口访问到转发的服务,需要云服务器安全组将此处配置的 remote_port 放行。

运行 frpc

打开CMD 在 frpc 所在目录下运行

frpc.exe -c frpc.ini
  • 1

出现 success 就是连接成功

Snipaste_2022-05-28_16-15-14.png

说明

  • [RDP]的服务代理启动成功

  • [ssh]启动失败: 端口已经被占用

    因为我除了添加了[RDP]的服务,我还添加了一个[ssh]的服务,服务器端口使用的是 6000

    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    
    • 1
    • 2
    • 3
    • 4
    • 5

    但是因为服务器 6000 这个端口已经被其他服务占用了,所以就启动失败

服务器

客户端的操作,在服务器端也能看到记录

Snipaste_2022-05-28_16-27-04.png

面板中也会出现相应的记录

Snipaste_2022-05-28_16-29-06.png

进阶

使用 winsw 注册 windows 后台服务

下载 winsw

GitHub下载 winsw.exe

Snipaste_2022-05-28_16-37-41.png

重命名

将软件重命名为 winsw.exe,并将该软件放到 frpc 客户端所在目录下备用。

创建配置文件

还是在 frpc 客户端所在目录下创建 winsw.xml 文件,并写入一下内容并保存:

<service>
    <id>frpc</id>
    <name>frpc</name>
    <description>frpc</description>
    <executable>frpc</executable>
    <arguments>-c frpc.ini</arguments>
    <onfailure action="restart" delay="60 sec"/>
    <onfailure action="restart" delay="120 sec"/>
    <logmode>reset</logmode>
</service>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
启动 winsw

管理员权限启动 CMD,进入到 frpc 客户端所在目录下,添加服务

winsw.exe install
  • 1

启动服务

winsw start
  • 1
其他
#添加服务
winsw.exe install
#开始
winsw start
#关闭
winsw stop
#卸载服务
winsw uninstall
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

远程访问

内网计算机配置允许远程访问,然后其他任何计算机通过 Windows 自带的远程桌面工具通过访问 公网IP:远程桌面转发端口 连接远程桌面。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/161081
推荐阅读
相关标签
  

闽ICP备14008679号