FRP +windows远程桌面配置

什么是 Frp

内网穿透工具有很【hěn】多【duō】,其中 Frp (Fast Reverse Proxy) 是比【bǐ】较流【liú】行的一【yī】款【kuǎn】。FRP 是一【yī】个【gè】免费开源的用于【yú】内网【wǎng】穿透【tòu】的反向代理应用,它【tā】支持 TCP、UDP 协议, 也为 http 和 https 协议提供【gòng】了额【é】外的【de】支持。你可以粗略理解它是【shì】一个中转站【zhàn】,帮【bāng】你实现 公【gōng】网 ←→ FRP(服务器) ←→ 家庭【tíng】内网 的连接,让内网里的设备也可以被公网访问到。

服务端设置

安装

FRP 使用 Go 语言开发,可以支【zhī】持【chí】 Windows、Linux、macOS、ARM 等多平台部署。FRP 安装非常【cháng】容易【yì】,只【zhī】需下载对应系统平台的【de】软【ruǎn】件包并解压就【jiù】可用了。这里以 Linux 系统为【wéi】例:
下载【zǎi】地址【zhǐ】:https://github.com/fatedier/frp/releases

  1. cd /home
  2. wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
  3. tar -xf frp_0.33.0_linux_amd64.tar.gz
  4. mkdir /etc/frp
  5. cp frp_0.33.0_linux_amd64/frps /usr/bin/
  6. cp frp_0.33.0_linux_amd64/frps.ini /etc/frp/

frp默认使用7000端口,如果你的防火墙不允许,需要添加。

输入frps -v显示版本号则说明安装成功。

启动服务端

  1. frps

使用指定配置文件:

  1. frps -c /etc/frp/frps.ini

作为系统服务启动

/home/frp_0.33.0_linux_amd64/systemd/frps.service文件拷贝至/usr/lib/systemd/system/目录下。

  1. cp /home/frp_0.33.0_linux_amd64/systemd/frps.service /usr/lib/systemd/system/
  2. #添加开机启动
  3. systemctl enable frps
  4. #启动frp服务
  5. systemctl start frps

frps.ini高级设置

  1. token=12310086
  2. dashboard_port = 7500
  3. dashboard_user = admin
  4. dashboard_pwd = admin123

token是验证token建议设置上。
dashboard_port是frp的web面板端口。
dashboard_userdashboard_pwd是面板的账户密码。

配置客户端(安装在内网的机器上)

windows

客【kè】户端【duān】也是在上【shàng】面下载的压缩包【bāo】里,Linux 客户端的【de】安装【zhuāng】和启动与服【fú】务器端【duān】没有太多区别,只是对【duì】应运行程序是frpc而不是frps。这里以windows为例。

修改配置文件

修改frpc.ini

  1. [common]
  2. # server_addr 为 FRP 服务【wù】端 (VPS 服务器【qì】) 的公网 IP
  3. server_addr = 1.2.3.4
  4. server_port = 7000
  5. [RDP]
  6. type = tcp
  7. local_ip = 192.168.1.30 #电脑【nǎo】在【zài】局域网中的内【nèi】网 IP (如是本机,也可使用【yòng】 127.0.0.1)
  8. local_port = 3389
  9. remote_port = 7002

这样就在本地上新增【zēng】了“RDP”这【zhè】个可供公【gōng】网访问的【de】服务了 (名【míng】称【chēng】可以自己取)。如果你需要添加更多的设【shè】备和【hé】服【fú】务供外网访问【wèn】,那么只需照【zhào】样画葫芦,指定【dìng】正确的 IP 地址和端口号即可。

注意放行端口

每个服务【wù】的 remote_port 是远【yuǎn】程访问时要用到的端口号【hào】,注意这些端口号也【yě】要在服务【wù】器的防火墙【qiáng】和安全组里【lǐ】放行才能顺利访问的,如上【shàng】面【miàn】的 7001、7002。

启动 FRP 客户端

假设你已将 Frp 的客户端解压缩到 c:frp 目录中,那么启动 Frp 客户端的命令就是:

  1. c:frpfrpc.exe -c c:frpfrpc.ini

启动之【zhī】后看到 “start proxy success”字样【yàng】就表示启动【dòng】成功【gōng】了。

Linux

这里以CentOS为例。
frpcfrpc.ini这两个文件拷贝至/home/目录下,赋予权限:chmod 755 frpc
修改frpc.ini内容:

  1. [common]
  2. # server_addr 为【wéi】 FRP 服务端 (VPS 服务器) 的公【gōng】网【wǎng】 IP
  3. server_addr = 1.2.3.4
  4. server_port = 7000
  5. [ssh]
  6. type = tcp
  7. local_ip = 127.0.0.1 #电脑在局域网【wǎng】中的内网 IP (如是【shì】本【běn】机,也可【kě】使用 127.0.0.1)
  8. local_port = 22
  9. remote_port = 7103 #FRP 服务端需开启的端口

启动:

  1. cd /home
  2. ./frpc -c frpc.ini

启【qǐ】动之后看到 “start proxy success”字样就表示启【qǐ】动成功了【le】。

作为系统服务启动

新建/usr/lib/systemd/system/frpc.service文件,内容如下:

  1. [Unit]
  2. Description=Frp Client Service
  3. After=network.target
  4. [Service]
  5. Type=simple
  6. User=nobody
  7. Restart=on-failure
  8. RestartSec=5s
  9. ExecStart=/home/frpc -c /home/frps.ini
  10. [Install]
  11. WantedBy=multi-user.target
  1. #添加开机启动
  2. systemctl enable frpc
  3. #启动frpc服务
  4. systemctl start frpc

进行远程访问

远程【chéng】桌面连接到【dào】家【jiā】里的 Windows 电脑,那【nà】么【me】打开“微【wēi】软远程桌【zhuō】面客户端”后,在地址栏里填入服务器公网IP:7002即可连接。

由此,借助 Frp,你就能轻松【sōng】地为本地局域【yù】网内【nèi】网【wǎng】的【de】设备提供公网直接访问的【de】能力了,你可以用 Frp 来【lái】转发包括但【dàn】不【bú】限【xiàn】于 ssh、http、https、转发 Unix 域套接字等服务。

Windows将FRP设置为服务并开机自启

实【shí】Windows也【yě】能像Linux那样设【shè】置程序为后台运行,就是将其添加【jiā】为【wéi】服务【wù】;
下载winsw: https://github.com/kohsuke/winsw/releases
我下载的是2.9.0版本。

这里将下载WinSw.Net4.exe重命名为winsw.exe了,以方便后面操作;
创建与winsw同名的配置文件winsw.xml,内容如下:

  1. <service>
  2. <!-- 该服务的唯一标识 -->
  3. <id>frp</id>
  4. <!-- 该服务的名称 -->
  5. <name>frp-windows</name>
  6. <!-- 该服务的描述 -->
  7. <description>frpc客户端 这个服务用 frpc 实现内网穿透</description>
  8. <!-- 要运行的程序路径 -->
  9. <executable>D:toolfrp_clientfrpc.exe</executable>
  10. <!-- 携带的参数 -->
  11. <arguments>-c D:toolfrp_clientfrpc.ini</arguments>
  12. <!-- 第一次启动失败 60秒重启 -->
  13. <onfailure action="restart" delay="60 sec"/>
  14. <!-- 第二次启动失败 120秒后重启 -->
  15. <onfailure action="restart" delay="120 sec"/>
  16. <!-- 日志模式 -->
  17. <logmode>append</logmode>
  18. <!-- 指定日志文件目【mù】录【lù】(提前在该文件目录下【xià】新建logs文【wén】件夹【jiá】) -->
  19. <logpath>logs</logpath>
  20. </service>

开始使用:

  1. //注册服务
  2. winsw.exe install
  3. //卸载服务
  4. winsw.exe uninstall
  5. //启动服务
  6. winsw.exe start
  7. //停止服务
  8. winsw.exe stop
  9. //重启服务
  10. winsw.exe restart
  11. //查看状态
  12. winsw.exe status

注册服务时如果被某60拦截了需要点允许,如果提示:FATAL - WMI Operation failure: AccessDenied 则需要以管理员方式运行CMD再试;

不出意外的话打开任务管理器就能看到刚刚添加的服务了

解除Windows10多账户远程桌面连接限制

Windows默认情况下只能同时登录一【yī】个账号,并且手机【jī】连上电【diàn】脑,电脑就会退【tuì】出【chū】登录,被踢下线,这是因【yīn】为,能让多【duō】个【gè】账号远程连接到一个电脑,这个是服务器版才【cái】该有的功能【néng】,想要让Windows10支持多账户远程桌【zhuō】面连接,需要进行如【rú】下设【shè】置。

配置本地组策略

运行中输入GPEDIT.MSC打开组策略编辑器,依次点击:

管理【lǐ】模板-Windows组【zǔ】件-远程桌面【miàn】服务-远程桌面会【huì】话主机-连接

双击右边的限制连接的数量,选择已启用,然后在下面选择你想开启的最大连接数,一般填个3都够用了.
双击右边的将远程桌面服务用户限制到单独的远程桌面服务会话,把这里改成已启用

开启多用户连接功能

由于系统本质上装的并不是服务器【qì】版本,所以到目前为【wéi】止【zhǐ】我们还是不能【néng】够【gòu】多【duō】用户同时【shí】连【lián】接的,要去github上下【xià】载RDPWrap这个软件

解压之后我们右键选择用管理员依次运行这三个文件

  • install.bat
  • update.bat
  • RDPConf.exe

如果你的系统版本太【tài】新,那你很可能箭【jiàn】头这里依然会【huì】显【xiǎn】示[not supported]

需要到这个代【dài】码仓库的issues里面搜【sōu】索你【nǐ】的系【xì】统版本(也【yě】就是【shì】上面的10.0.17763.1369字【zì】眼),一般来说都会有人贴出新系统的配置信息,你【nǐ】只要把这个配置信息粘【zhān】贴到刚刚那个rdpurap.ini文件的【de】末【mò】尾就行【háng】了【le】.例如下图:

到这里,所有的步骤就都【dōu】结束了,你的电脑【nǎo】现在可以让【ràng】两个【gè】账户同时连接而不会【huì】将【jiāng】本地【dì】用户踢出。

其他

配合Microsoft Remote Desktop APP可以实现手机远程控制电脑。
详情:https://www.iplaysoft.com/microsoft-remote-desktop.html

提示登陆没有成功,但是用户名密码正确

开始–>运【yùn】行->gpedit.msc->计算机配置->Windows设置->安全【quán】设置->本【běn】地【dì】策【cè】略->安全选项->网络【luò】访问:本地帐户【hù】的共享【xiǎng】和安全模型【xíng】。 修改【gǎi】为使用经典模式

自建 Teamviewer 连接

使用frp来自【zì】建teamviewer的本地lan连接,来避【bì】开【kāi】teamviewer的商业检测。
teamviewer使用的是本地5938端口

受控端teamviewer设置

  • 允许LAN连接
  • 添加无人值守密码

受控端frp设置

使用frp转发本【běn】地【dì】的5938端【duān】口到服【fú】务器端上的5938端口【kǒu】,内【nèi】网外网端口一致为5938。

  1. [teamview]
  2. type = tcp
  3. local_ip = 127.0.0.1
  4. local_port = 5938
  5. remote_port = 5938

控制端teamviewer使用

控制端启【qǐ】动teamviewer,在“控制【zhì】远程计【jì】算【suàn】机”那里输入服务器的ip,点【diǎn】连接就可以了【le】

身份认证

目前 frpc 和 frps 之间支持两种身份验证方式,token 和 oidc,默认为 token

通过 frpc.ini 和frps.ini 的 [common] 段落中配置 authentication_method 来指定要使用的身份验证方式。

只有通过身份验证的客户端(frpc)才能成功连接 frps。

token

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

安全地暴露内网服务

原文地【dì】址:https://gofrp.org/docs/examples/stcp/

这个示例将会创建一个只有自己能访问到的 SSH 服务代理。
对于某些服务来说如果直接暴露于公网上将会存在安全隐患。
使用 stcp(secret tcp) 类型的代理可以避免让任【rèn】何人都能访问到【dào】要穿透的服【fú】务,但是访【fǎng】问者【zhě】也需要运行另外一个 frpc 客【kè】户【hù】端【duān】。
frp服务端无需做任何更改。
在需要暴露到内网的机器上部署 frpc,配置如下:

  1. [common]
  2. server_addr = x.x.x.x
  3. server_port = 7000
  4. [secret_ssh]
  5. type = stcp
  6. # 只有 sk 一致的用户才能访问到此服务
  7. sk = abcdefg
  8. local_ip = 127.0.0.1
  9. local_port = 22

在想要访问内网服务的机器上也部署 frpc,配置如下:

  1. [common]
  2. server_addr = x.x.x.x
  3. server_port = 7000
  4. [secret_ssh_visitor]
  5. type = stcp
  6. # stcp 的访问者
  7. role = visitor
  8. # 要访问的 stcp 代理的名字
  9. server_name = secret_ssh
  10. sk = abcdefg
  11. # 绑定本地端口用于访问 SSH 服务
  12. bind_addr = 127.0.0.1
  13. bind_port = 6000

运行服务后,即可通过本机的6000端口来连接远程服务器了。

阿里企业邮箱、网易企业邮箱、新网企业邮箱
【标准版】400元/年/5用户/无限容量
【外贸版】500元/年/5用户/无限容量
其它【tā】服务:网【wǎng】站建设、企【qǐ】业邮【yóu】箱、数字证【zhèng】书ssl、400电话、
联系方式:电话:13714666846 微信同号

声明:本站所有作品(图文、音视频【pín】)均【jun1】由用户自行上传分享,或互【hù】联网相【xiàng】关知识【shí】整合,仅【jǐn】供网友学习【xí】交流,若您【nín】的权利【lì】被【bèi】侵害,请联系 管理员 删除。

本文【wén】链接【jiē】:https://www.city96.com/article_32840.html