


























在使用公网VPS服务器部署的frp 服务时,外网与内网之间的传输都会受到服务器的带宽限制.而在群晖NAS上使用docker来搭建frps,在让公司的电脑或服务器来配置客户端frpc,实现家中直连内网办公环境.
本站及网上提供了各种免费 frp 服务,在加上远程办公的方式有很多,例如 TeamViewer,向日葵等,为什么要选择在家部署 frp 服务呢?
直连公司的设备,独享家庭宽带,速度和安全性得到了保障.家庭宽带必须满足以下需求:
光猫桥接模式下,由路由器拨号并管理端口映射.
光猫路由模式时,必须能够登陆光猫并管理端口映射.
由于家庭宽带一般封了80/443端口,所以此方案仅仅是利用家庭宽带的 公网 IP 来穿透办公室内网电脑,服务器的TCP端口,例如Windows的3389端口,Linux的22端口.以实现在家直连远程登陆办公室的电脑和服务器的需求.
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
家庭宽带的公网IP每隔一段时间都会变,所以一般都会使用DDNS的方案,来让公网IP和绑定的域名实时同步.关于如何使用DDNS,请搜索本站教程:
家庭宽带由于端口由路由器管理,加上运营商封了80/443端口,所以相比公网VPS的部署麻烦些,提前为使用场景规划端口以方便部署frps容器.
运营商封了公网的80/443端口,不代表内网没有80/443端口.群晖NAS中Web Station和反向代理默认使用了80/443端口.为避免端口冲突,重新为此分配两个端口,以10080和10443为例.
使用HTTP/HTTPS协议穿透的Web,需使用http://xxx.com:10080和https://xxx.com:10443来访问.
2个端口映射
由于本文的宗旨是为远程办公使用,HTTP和HTTPS的需求相对很少.如有需求可使用本站提供的免费frp服务来实现无端口访问网站.
本文将以穿透Windows的3389远程桌面端口和Linux服务器的22 SSH端口为例.由于此两个默认端口暴露在公网存在安全隐患,在端口映射时需选择高位端口以确保安全.本文以规划22222和33333两个端口为例.同时frps和frpc的通讯端口默认为7000.
3个端口映射
任意文件夹下创建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
打开 docker - 注册表,搜索stilleshan,找到stilleshan/frps的镜像,下载latest最新版.
由于我制作的docker镜像时间不久,搜索frps需要翻好几页,直接搜索ID更方便.

映像中选择下载好的镜像点击启动.
高级设置
在卷中添加文件,选择上文配置的frps.ini文件,装载路径复制粘贴/frp/frps.ini路径.
请不要胡乱填写装载路径,此路径由镜像内指定路径,无法修改.

端口设置中手动添加上文规划好的端口.其中7500为内网Web管理端口,无需路由器映射,仅在内网管理查看即可.
应用即可启动服务.
frp 官方提供了Linux和Windows版客户端,访问官方项目releases页面下载.安装配置本站也有各种教程,详情请参考:FRP内网穿透专栏.
下文仅针对 Windows 远程桌面和 Linux 的 SSH 登陆为例,来配置 frpc.ini 文件.
开启Windows的远程桌面,并配置frpc.ini文件.注意修改IP为Windows 电脑的内网IP.
[common]
server_addr = DDNS域名
server_port = 7000
token = 12345678
[Windows3389]
type = tcp
local_ip = 192.168.1.10
local_port = 3389
remote_port = 33333完成配置并启动服务后,可以使用Microsoft Remote Desktop来连接你的电脑.在家中可以直接使用frp服务器(即群晖NAS)的内网IP加上33333来连接.在外网也可使用DDNS域名加上3333端口来连接.


在同局域网内你可以直接使用上文 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内网穿透相关技巧,教程及信息,请持续关注相关专栏:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。