重庆服务器托管[IDCCZ]
重庆主机服务器托管咨询

外网链接内网服务器使用 FRP 反向代理实现 Windows 远程连接

作者:重庆服务器托管业务员      来源:     日期:2022/4/24 16:57:19     标签:
 

使用 FRP 反向代理实现 Windows 远程连接

什么是 FRP

FRP (Fast Reverse Proxy) 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP,UDP,HTTP,HTTPS 协议。下载 github.com/fatedier/frp

准备工作

  1. 带有公网地址的 VPS(例如公网地址为 111.111.222.111 ):后边将会把内网的主机映射到这个 IP 地址
  2. 根据服务器、内网主机的系统,分别下载 frp:据网友说新版本会有些莫名其妙的问题,所以我选用了 0.16.0

配置步骤

  • 首先介绍服务器端的安装配置
  • 安装 frp(其实就是个文件夹,下载好之后解压就行了)【注意:服务器端使用的版本和内网主机使用的要一致,不然容易出问题】;服务器端我用的是 "frp_0.16.1_linux_386.tar.gz" 这个版本,解压之后,可以把没用的 "frpc" "frpc.ini" "frpc_full.ini" 删除掉( frpc 是用在客户端上的,frps 是用在服务端上的 );"frps_full.ini" 是全部的配置,有兴趣可以阅读学习,在使用时只需要修改 "frps.ini 即可,如下图所示即为我的 "frps.ini" 文件内容
  • 进入到文件夹,运行 ./frps -c frps.ini ,出现 "start frps success" 字样即可
  • 但是这占据了终端窗口,下边将其设置为后台运行并开机自启;
  • 首先执行 vi /etc/systemd/system/frps.service 新建 service 文件,然后写入以下内容(这段内容我是参考的网上的,那行 ExecStart 要根据自己 VPS 上文件的具体路径进行修改,其它设置可以视自己需要进行修改)
  • 接下来,执行 systemctl enable frps 可将 frps 服务设置为开机启动;systemctl start frps 可以后台启动 frps 服务
  • -------------------------------------------------------------
  • 下面介绍内网主机的配置事项
  • 内网主机(即客户端)用的是 "frp_0.16.0_windows_amd64.tar.gz" 这个版本,解压之后,可以把没用的 "frps" "frps.ini" "frps_full.ini" 删除掉,修改 "frpc.ini 的内容为如下所示,这里的 server_port 要与刚才服务器端的端口设置一致
  • 到这里配置就结束了,在 cmd 上运行 "frpc.exe 即可
  • 但是内网主机上运行 "frpc.exe" 会有一个 cmd 窗口在那里,关掉的话程序也就停止了;为了对客户端(即内网主机)的 frp 服务设置后台运行和开机自启,下边利用 winsw 工具,将其保存为 Windows 服务
  • Winsw 下载地址github.com/kohsuke/wins
  • 使用 WinSW.NET4.exe 是因为电脑是 .net 4.0 的;方便起见,将该程序名称更改为 "winsw.exe 并放在 "frpc.exe" 同目录下;在该目录下创建 "winsw.xml 文件,写入如下内容

  • 在该目录下,管理员方式运行 cmd 窗口并执行 winsw install 即可将 frp 安装为系统服务
  • 快捷键 "win+r" 然后输入 "services.msc",找到 frp 服务,打开属性,启动该服务,如下图所示为我自己的设置

注意事项

  • 端口要打开:出于平时设置端口方便的原因,我直接把 VPS 的 7000-7500 范围的端口全打开了;如果出现自己设置的端口被占用的情况,可以执行类似 lsof -i:7000 的命令查看端口被占用情况,或者更换别的端口
  • 远程时需要使用 IP+端口号 ,例如 111.111.222.111:7001
  • 记得开启内网主机的桌面远程连接,就是系统属性那里的设置
  • 有网友说出现无法远程连接的时候可以试试关闭 VPS 的 IPv6 ?


另外,如果你有一个带 GPU 的服务器,那你也可以在服务器配置 Jupyter Notebook ,这样走到哪都可以使用 Jupyter Notebook 来写 Python 或者是弄一下深度学习的代码。

我两年前写过一篇博客,详见如下链接


如有错误,欢迎批评指正~题,所以我选用了 0.16.0配置步骤首先介绍服务器端的安装配置安装 frp(其实就是个文件夹,下载好之后解压就行了)【注意:服务器端使用的版本和内网主机使用的要一致,不然容易出问题】;服务器端我用的是 "frp_0.16.1_linux_386.tar.gz" 这个版本,解压之后,可以把没用的 "frpc" "frpc.ini" "frpc_full.ini" 删除掉( frpc 是用在客户端上的,frps 是用在服务端上的 );"frps_full.ini" 是全部的配置,有兴趣可以阅读学习,在使用时只需要修改 "frps.ini" 即可,如下图所示即为我的 "frps.ini" 文件内容进入到文件夹,运行 ./frps -c frps.ini ,出现 "start frps success" 字样即可但是这占据了终端窗口,下边将其设置为后台运行并开机自启;首先执行 vi /etc/systemd/system/frps.service 新建 service 文件,然后写入以下内容(这段内容我是参考的网上的,那行 ExecStart 要根据自己 VPS 上文件的具体路径进行修改,其它设置可以视自己需要进行修改)接下来,执行 systemctl enable frps 可将 frps 服务设置为开机启动;systemctl start frps 可以后台启动 frps 服务-------------------------------------------------------------下面介绍内网主机的配置事项内网主机(即客户端)用的是 "frp_0.16.0_windows_amd64.tar.gz" 这个版本,解压之后,可以把没用的 "frps" "frps.ini" "frps_full.ini" 删除掉,修改 "frpc.ini" 的内容为如下所示,这里的 server_port 要与刚才服务器端的端口设置一致到这里配置就结束了,在 cmd 上运行 "frpc.exe" 即可但是内网主机上运行 "frpc.exe" 会有一个 cmd 窗口在那里,关掉的话程序也就停止了;为了对客户端(即内网主机)的 frp 服务设置后台运行和开机自启,下边利用 winsw 工具,将其保存为 Windows 服务Winsw 下载地址:https://github.com/kohsuke/winsw/releases/download/winsw-v2.1.2/WinSW.NET4.exe使用 WinSW.NET4.exe 是因为电脑是 .net 4.0 的;方便起见,将该程序名称更改为 "winsw.exe" 并放在 "frpc.exe" 同目录下;在该目录下创建 "winsw.xml" 文件,写入如下内容在该目录下,管理员方式运行 cmd 窗口并执行 winsw install 即可将 frp 安装为系统服务快捷键 "win+r" 然后输入 "services.msc",找到 frp 服务,打开属性,启动该服务,如下图所示为我自己的设置注意事项端口要打开:出于平时设置端口方便的原因,我直接把 VPS 的 7000-7500 范围的端口全打开了;如果出现自己设置的端口被占用的情况,可以执行类似 lsof -i:7000 的命令查看端口被占用情况,或者更换别的端口远程时需要使用 IP+端口号 ,例如 111.111.222.111:7001记得开启内网主机的桌面远程连接,就是系统属性那里的设置有网友说出现无法远程连接的时候可以试试关闭 VPS 的 IPv6 ?另外,如果你有一个带 GPU 的服务器,那你也可以在服务器配置 Jupyter Notebook ,这样走到哪都可以使用 Jupyter Notebook 来写 Python 或者是弄一下深度学习的代码。 

推荐阅读
    显示本分类推荐
相关信息