Skip to content

Windows跨局域网远程链接

借助 frp 实现点对点内网穿透链接,实现两台电脑通过远程链接相互访问。

1 服务端部署

需要一个具有公网IP的服务器,并将域名解析到服务器IP上(没有域名可以用IP来代替)。

服务端借助宝塔面板来部署,可以便捷地绑定域名和添加守护进程。准备几个端口提前放行,用来部署服务。下文选用的端口包括:

  • 88 网站端口
  • 7000 frp 服务端口
  • 7009 frp 面板端口
  • 7001~7008 TCP代理端口
  • 7010 HTTP服务端口

1.1 部署网站

创建一个PHP静态网站,并启用反向代理(端口 7009)。

1.2 安装frp

下载 frp/releases

cd /www/wwwroot/frp-beyondxin-top  # 直接选宝塔创建站点的目录即可
wget https://github.com/fatedier/frp/releases/download/v0.57.0/frp_0.57.0_linux_amd64.tar.gz
tar -zxvf frp_0.57.0_linux_amd64.tar.gz 
rm frp_0.57.0_linux_amd64.tar.gz 
mv frp_0.57.0_linux_amd64/ frp
cd frp
vim frps.ini

frps.ini 根据实际情况填写

[common] 
bind_port = 7000 # 接受客户端数据端口
vhost_http_port = 7010 # http访问端口
token = 123abc # 链接密钥
subdomain_host = frp.beyondxin.top # 域名
dashboard_addr = 0.0.0.0 # 面板ip
dashboard_port = 7009 # 面板端口
dashboard_user = admin # 面板账号
dashboard_pwd = 123456 # 面板密码

1.3 启动服务

宝塔安装插件【进程守护管理器】,添加进程。启动命令根据实际路径填写:

/www/wwwroot/frp-beyondxin-top/frps -c /www/wwwroot/frp-beyondxin-top/frps.ini

启动成功后,可以通过域名(创建网站时记得加代理)成功访问面板。

2 客户端部署

链接类型比较

类型 暴露端口 流量经过服务器
tcp 需要 经过
stcp 不需要 经过
xtcp 不需要 不经过

下文配置使用 XTCP,速度最快。两个客户端需要支持双向远程桌面链接,操作方式一致。XTCP打洞不能适用所有NAT环境,失败的话改用STCP。

2.1 安装frp

下载 frp/releases

根据实际情况修改配置文件 frpc.toml。3389 是Windows自带远程链接使用的端口。两个客户端name记得对调。

serverAddr = "frp.beyondxin.top" # 服务网址
serverPort = 7000 # 服务端口
auth.token = "123abc" # 服务密钥

[[proxies]]
name = "xtcp-home" # 第二台 xtcp-work
type = "xtcp"
secretKey = "123456"
localIp = "127.0.0.1"
localPort = 3389

[[visitors]]
name = "xtcp-home-visitors" # 第二台 xtcp-work-visitors
type = "xtcp"
serverName = "xtcp-work" # 第二台 xtcp-home
secretKey = "123456"
bindAddr = "127.0.0.1"
bindPort = 6000
keepTunnelOpen = true

2.2 启动frp

frpc.exe -c frpc.toml

Windows如果需要守护进程需要将 frpc 封装成服务,可以用 nssm。

3 远程访问

使用 XTCP 点对点链接,当两个客户端均启动服务后,对方都被映射到本地的 127.0.0.1:6000。直接远程链接即可。因为是本地链接,默认凭证的用户也是本地的,记得切换用户。如果客户端在域内,用户名需要加域。

将硬件图形适配器应用于所有远程桌面服务会话。