群晖NAS使用 docker 部署 frps 实现直连内网远程办公
前言
在使用公网VPS服务器
部署的frp 服务
时,外网与内网之间的传输都会受到服务器的带宽限制
.而在群晖NAS上使用docker
来搭建frps
,在让公司的电脑或服务器来配置客户端frpc
,实现家中直连
内网办公环境.
为什么要在家里部署 frps
本站及网上提供了各种免费 frp 服务,在加上远程办公的方式有很多,例如 TeamViewer,向日葵等,为什么要选择在家部署 frp 服务呢?
使用公共 frp 服务器或者一些远程连接软件,都是要经过 frp 服务器或者软件厂商的服务器中转.在家中访问,速度上受到限制.
在家中部署 frps ,公司的电脑或服务器穿透回来,相当于
直连
公司的设备,独享家庭宽带,速度和安全性得到了保障.
前提需求
家庭宽带必须满足以下需求:
拥有公网IP
自主管理端口映射
光猫路由模式时,必须能够登陆光猫并管理端口映射.
原理解释
由于家庭宽带一般封了80/443
端口,所以此方案仅仅是利用家庭宽带的 公网 IP 来穿透办公室内网电脑,服务器的TCP
端口,例如Windows
的3389
端口,Linux
的22
端口.以实现在家直连
远程登陆办公室的电脑和服务器的需求.
本地网络配置
DDNS 配置
家庭宽带的公网IP
每隔一段时间都会变,所以一般都会使用DDNS
的方案,来让公网IP
和绑定的域名实时同步.关于如何使用DDNS,请搜索本站教程:
端口配置
家庭宽带由于端口由路由器管理,加上运营商封了80/443
端口,所以相比公网VPS的部署麻烦些,提前为使用场景规划端口
以方便部署frps容器
.
HTTP/HTTPS 端口
运营商封了公网的80/443
端口,不代表内网没有80/443
端口.群晖NAS中Web Station
和反向代理
默认使用了80/443
端口.为避免端口冲突,重新为此分配两个端口,以10080
和10443
为例.
使用HTTP/HTTPS
协议穿透的Web
,需使用http://xxx.com:10080
和https://xxx.com:10443
来访问.
登陆路由器配置以下
2
个端口映射本地端口 10080/10443
外部端口 10080/10443
IP为群晖NAS的内网IP
TCP 端口
本文将以穿透Windows
的3389远程桌面端口
和Linux
服务器的22 SSH端口
为例.由于此两个默认端口暴露在公网存在安全隐患,在端口映射时需选择高位端口以确保安全.本文以规划22222
和33333
两个端口为例.同时frps
和frpc
的通讯端口默认为7000
.
登陆路由器配置以下
3
个端口映射本地端口 7000/22222/33333
外部端口 7000/22222/33333
IP为群晖NAS的内网IP
部署服务端 frps
配置 frps.ini
任意文件夹下创建frps.ini
文件,本文以/docker/frps/frps.ini
为例.参照以下配置参数,如不太熟悉请直接复制粘贴,修改token
即可.熟悉frp的用户可配合路由器端口映射来自行修改端口.
[common] bind_addr = 0.0.0.0 bind_port = 7000 bind_udp_port = 7001 kcp_bind_port = 7000 vhost_http_port = 10080 vhost_https_port = 10443 dashboard_addr = 0.0.0.0 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin log_file = ./frps.log log_level = info log_max_days = 3 disable_log_color = false token = 12345678 allow_ports = 2000-3000,3001,3003,4000-50000 max_pool_count = 5 max_ports_per_client = 0 subdomain_host = frps.com tcp_mux = true
部署 frps
下载镜像
打开 docker - 注册表,搜索stilleshan
,找到stilleshan/frps
的镜像,下载latest
最新版.
启动容器
挂载 frps.ini
在卷
中添加文件
,选择上文配置的frps.ini
文件,装载路径复制粘贴/frp/frps.ini
路径.
端口设置
端口设置中手动添加上文规划好的端口.其中7500
为内网Web管理端口,无需路由器映射,仅在内网管理查看即可.
完成部署
frp服务器信息
服务器地址:DDNS域名
端口:7000
Token:12345678
配置客户端 frpc
frp 官方提供了Linux
和Windows版
客户端,访问官方项目releases页面下载.安装配置本站也有各种教程,详情请参考:FRP内网穿透专栏.
下文仅针对 Windows 远程桌面和 Linux 的 SSH 登陆为例,来配置 frpc.ini 文件.
配置 Windows 远程桌面穿透
开启Windows
的远程桌面,并配置frpc.ini
文件.注意修改IP
为Windows 电脑
的内网IP
.
完成配置并启动服务后,可以使用Microsoft Remote Desktop
来连接你的电脑.在家中可以直接使用frp服务器(即群晖NAS)的内网IP
加上33333
来连接.在外网也可使用DDNS域名
加上3333
端口来连接.
配置 Linux 服务器 SSH 端口
在同局域网内
你可以直接使用上文 Windows 版的 frpc 来为 Linux 配置穿透服务,也可以在 Linux 服务器上安装配置 frpc .详情可参考: frpc一键安装脚本.注意修改IP
为Linux服务器
的内网IP
.
[common] server_addr = DDNS域名 server_port = 7000 token = 12345678 [LinuxSSH] type = tcp local_ip = 192.168.1.11 local_port = 22 remote_port = 22222
完成配置并启动服务后,可以使用以下命令登陆服务器:
ssh -p 22222 root@192.168.1.X # 内网访问,IP为frp服务器(即群晖NAS)的内网IP ssh -p 22222 root@xxx.com # 外网访问,xxx.com为DDNS域名
结语
内网群晖NAS和公网VPS服务器部署的frps其实并无区别,只是受限于家用宽带的特殊环境,只需要注意 frps 提供的端口与群晖NAS自己的端口冲突问题以及路由器端口映射两个重点,就可以好好利用公网IP带来的好处.更多群晖NAS和FRP内网穿透相关技巧,教程及信息,请持续关注相关专栏:
本站提供免费和付费的技术支持.你可以通过留言,邮件,QQ的方式来进行技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面