使用 frp 通过公网IP实现的 TeamViewer局域网(Lan)连接模式
分类: Efrp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。[更多信息]
TeamViewer 是一个能在任何防火墙和NAT代理的后台用于远程控制的应用程序,桌面共享和文件传输的简单且快速的解决方案。[TeamViewer官网]
必要条件:需要一个拥有互联网公网IP的服务器作为中转。此服务器可以是自己的一台电脑、路由器或者是物联网开发设备(例如树莓派)等。也可以购买云服务器,例如阿里云、腾讯云、百度云等。
首先下载frp:点这里进入下载页面 当前最新版本为:v0.29.0
根据自己的机器所使用的操作系统下载对应的frp压缩包。此次中转服务器为linux系统,客户端所在机器的操作系统为windows,均为64位系统,因此我们分别需要下载frp_0.29.0_linux_amd64.tar.gz 以及 frp_0.29.0_windows_amd64.zip;对上面已下载的压缩包进行解压。解压后的文件夹中均包含服务端文件frps及客户端文件frpc,在服务端和客户端只需使用对应的文件即可。在使用之前需配置对应的frps.ini及frpc.ini文件:
# frps.ini [common] bind_port = 7000 token = abc123
服务端frps.ini配置如上↑↑↑。 7000 为服务端监听端口,可根据你的服务器情况自行修改,此配置项bind_port必须填写;abc123 为身份验证token参数,如服务端配置了此参数,则客户端也要配置相同的token参数才能通过验证连接上服务端。此token项非必填项,但为了确保安全连接,建议加上此参数;—更多服务端配置文件frps.ini参数详见:frps完整的示例配置文件
# frpc.ini [common] server_addr = 111.11.1.0 server_port = 7000 token = abc123 [teamviewer] type = tcp local_ip = 127.0.0.1 local_port = 5938 remote_port = 5938
客户端frpc.ini配置如上↑↑↑。[common]的部分与服务端配置内容一致,同时还需配置参数server_addr = 111.11.1.0,指明服务端所在的公网IP地址。并添加一个配置项目[teamviewer],其中type为连接类型;local_ip设置为本地ip默认127.0.0.1;由于TeamViewer通过端口5938进行对外的TCP和UDP连接,因此local_port及remote_port均设置为5938。当此配置文件下的客户端frpc成功连接上服务端时,服务端会开启5938端口进行监听,因此请确保服务端的防火墙放行之前已配置的7000端口及5938端口,否则会无法连接frpc客户端及TeamViewer的远程连接。—更多客户端配置文件frpc.ini参数详见:frpc完整的示例配置文件
开启服务端(Linux系统下):
./frps -c ./frps.ini
Linux系统仍可使用nohup开启服务端:nohup ./frps -c ./frps.ini >/dev/null 2>&1 &
Windows系统下,进入cmd窗口下,cd到文件夹目录,输入如下命令回车即可:frps -c frps.ini
开启客户端(Windows系统下):
Windows系统下,进入cmd窗口下,cd到文件夹目录,输入如下命令回车即可:frpc -c frpc.ini
为了便捷开启客户端,可编写批处理文件执行:cd C:\frp_0.29.0_windows_amd64 frpc -c frpc.ini
或者编写vbs脚本执行:
set ws=WScript.CreateObject("WScript.Shell") ws.Run "C:\frp_0.29.0_windows_amd64\frpc.exe -c C:\frp_0.29.0_windows_amd64\frpc.ini",0
开启客户端中的TeamViewer的LAN传入连接:
进入TeamViewer顶部菜单栏:其它 —> 选项—> 常规 —> 呼入的LAN连接 —> 更改为 接受 或 仅接受。提示: 如果您选择 仅接受, TeamViewer 将与互联网断开连接,这意味着将无法用 TeamViewer ID 建立或接收连接,并且计算机 & 联系人列表将不再可用。
当选择—> 仅接受 时, TeamViewer 将在应用程序的主窗口中显示您计算机的内部 IP 地址:
使用已联网的TeamViewer进行连接:
最后打开任意一个已联网的TeamViewer,在伙伴ID处填写服务端的IP地址,点击 连接 即可。总结
为什么需要使用TeamViewer的LAN连接?因为TeamViewer会对部分侦测判定为商业行为的连接进行限制,在使用时往往被断开连接或限制使用时间。而使用LAN连接则不会有任何限制。我们只需使用一台拥有公网IP的服务器作为中转,使用frp内网穿透功能,即可在外网连接使用了LAN连接功能的内网TeamViewer,同时在一定程度上加快连接速率(不用绕道TeamViewer的国外服务器),带来更加稳定的使用体验。
End. Have Fun!
0 条评论 latest
暂无评论.