Frp+Nginx反代RDP
先说一下背景,因为现在住的地方的电信宽带有动态的公网IP,老家有一台常年不关机的Windows主机和一台Linux服务器,并且都开启了通电自启。但是连回去是一个问题,之前一直是用的tailscale来做异地组网来解决这个问题。但是现在用久了发现延时越来越大,可能是服务器不在国内的,导致连接质量极其的差。有时候甚至会连接不上。所以有了此文。
frps服务器的准备
frps的搭建教程在这里 Frp 内网穿透 或者这个回首frp搭建
不过这一次我是直接在路由器上自带的frps里面搭建的
配置就不用多介绍了,懂得都懂主要就是下面的这几个需要配置一下
|
|
然后启动frps,用访问ip/domain:仪表板端口
用仪表板用户+仪表板密码
登录就可以看到,frps的运行状态了。
nginx准备及设置
我这里使用的系统是Ubuntu20.04
所以可以直接安装nginx即可。还有哦!这个服务器是和我Windows主机一个局域网下面的。后面的nginx和frpc操作都是在这个Ubuntu主机上完成的。
|
|
这个版本的nginx在安装的时候会把stream模块也安装上,所以不需要再手动安装了,如果你是其他系统,请自行nginx -V
查看有没有包括关键词:stream,或者下面这两个。
|
|
然后编辑 /etc/nginx/nginx.conf添加下面的一行配置。当然你也可以直接在stream里面写配置,但是我不喜欢修改主配置文件的这种方式。
|
|
然后就是在**/etc/nginx/**新建**tcp.d**目录,并在该目录下面新建配置文件:**tcp.lee**。
|
|
frpc设置
|
|
然后用Windows自带的远程桌面访问:ip/domain:对外暴露的公网端口
就可以连上家里面没有公网的Windows主机了。
适用情况
那你可能又要说了,为什么不直接在Windows上用frpc呢!其实我情况特殊,主要原因有二
第一个原因
我当时使用tailscale虽然设置了开机自启,但是那个自启需要用户登录才会启动。这就导致我重启电脑以后,tailscale直接没有启动,启动我就需要先登陆,但是我登陆就需要tailscale先启动。无解!虽然后来设置了run unattended
来解决这个问题。但是因为延时问题。我还是放弃了tailscale。
第二个原因
我对Windows不熟悉,也不愿意学习Windows的那些dos或者powershell操作,更喜欢使用Linux完成这些功能。