首先说一下
这个方法无视内网,无视是否有公网IP
这个教程很简单,有经验的大神可以路过了
先说几个方案吧
1.如果一分钱不想花,可以找个免费frp服务器,百度一下很多人提供
现在就开始免费frp教程
这里我提供一个 Frp V0.21.0版本的免费服务器
https://www.chuantou.org/frp-page
项目地址:https://github.com/fatedier/frp
版本下载地址:https://github.com/fateasdier/frp/relees
下载对应版本的群晖版本
我的黑群晖是intel芯片,下载386版本 https://github.com/fatedier/frp/ ... .0_linux_386.tar.gz
解压缩到桌面保留以下三个文件(frpc就是客户端用的,frps是服务器端用的!)
将以上3个文件上传到群晖,我传到了docker下面
直接用群晖文本编辑器打开 frpc.ini 文件进行配置客户端直接用群晖文本编辑器打开 frpc.ini 文件进行配置客户端
内容如下
[common] Server_addr = frp1.chuantou.org #服务器地址 server_port = 7000 #服务器端口 privilege_token = www.xxorg.com #token(理解为密码) protocol = oldiyblog # 标注你的代理名字,随便选择一个跟别人不一样即可 user = myname [oldiyblog] type = http #http协议也可以是https local_ip = 192.168.1.99 #群晖的内网IP local_port = 874 #你自己的web服务器端口 subdomain = oldiyblog # 选择一个可用的子域名,你的访问地址将会是http://oldiyblog.frp1.chuantou.org #custom_domains = blog.xxx.com #如果你有自己的域名,可以设置你自己的域名,先将自己的顶级域名解析到frp1.chuantou.org(一定要用CNAME记录,不要用A记录)
ssh登录到群晖 cd到你刚才拷贝的文件目录下 比如我的是
那么ssh输入
cd /volume1/docker/frp ./frpc -c ./frpc.ini
没有意外的话,你现在就可以使用 http://oldiyblog.frp1.chuantou.org 或者你自己的顶级域名访问了
如果确认没有问题,可以按ctrl+c停止
之后设置开机启动
PC桌面建立文本文档,使用Notepad++编辑内容为
#/bin/bash cd /volume1/docker/frp nohup ./frpc -c ./frpc.ini &
然后将文件上传到群晖frp 文件夹
进入群晖-控制面板-任务计划-新建触发的任务,设置开机运行
任务设置里,用户自定义脚本 输入 /volume1/docker/frp/frp.sh
保存
勾选刚才的任务 保存
全部完成!
如果想要穿透其他服务,可以继续编辑frpc.ini即可,在下载的文档里有frpc-all.ini 这里有全部配置用法! 或者访问中文文档 https://github.com/fatedier/frp/blob/master/README_zh.md
以下一些例子可以参考
[common] server_addr = xxx.com #frps服务端地址 server_port = 7000 #frps服务端通讯端口,客户端连接到服务端内网穿透传输数据的端口 privilege_token = 12345 #特权模式密钥,客户端连接到FRPS服务端的验证密钥 log_file = frpc.log #日志存放路径 log_level = info #日志记录类别,可选:trace, debug, info, warn, error log_max_days = 7 #日志保存天数 login_fail_exit = false #设置为false,frpc连接frps失败后重连,默认为true不重连 protocol = kcp #KCP协议在弱网环境下传输效率提升明显,但是对frps会有一些额外的流量消耗。服务端须先设置kcp_bind_port = 7000,freenat.bid服务端已设置支持 [http_dsm] #穿透服务名称,不能和其他已建立的相同,使用公共服务器的建议修改成复杂一点的名称,避免与其他人冲突,很多路由器内置frpc的默认服务名称为[web],很容易很其他人冲突 type = http #穿透协议类型,可选:tcp,udp,http,https,stcp,xtcp,这个设置之前必须自行搞清楚应该是什么 local_ip = 192.168.1.2 #本地监听IP,可以是本机IP,也可以是本地的局域网内某IP,例如你的局域网是互通的,你可以在路由器上安装frpc,然后local_ip填的群晖的ip,这样也可以把群晖穿透出去 local_port = 5000 #本地监听端口,通常有ssh端口22,远程桌面3389等等 use_compression = true #对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量,加快流量转发速度,但是会额外消耗一些 cpu 资源 use_encryption = true #将 frpc 与 frps 之间的通信内容加密传输 custom_domains = dsm.freenat.bid #自定义域名访问穿透服务,一般域名设置了二级域名泛解析以后,这里填*.freenat.bid即可,*自定义,如果不想用域名或者自行搭建frps没有域名,则穿透协议类型选择tcp,见以下tcp部分详解 #通过app访问群晖的注意,DS file,DS video,DS audio,DS finder里地址栏默认都是5000端口,穿透后地址栏须填写为【穿透域名:80】,DS photo由于本地local_port为80,穿透后也为80的话直接写域名地址即可 [https_dsm] type = https local_ip = 192.168.1.2 local_port = 5001 use_compression = true use_encryption = true custom_domains = dsm.freenat.bid #以上https配置同http,群晖注意开启https(默认5001端口),证书在客户端即群晖端配置,无证书的注意浏览器访问时添加信任 [http_transmission] type = http local_ip = 192.168.1.2 local_port = 9091 use_compression = true use_encryption = true custom_domains = tr.freenat.bid #transmission下载客户端 [http_rutorrent] type = http local_ip = 192.168.1.2 local_port = 80 use_compression = true use_encryption = true custom_domains = rt.freenat.bid #rutorrent下载客户端,用Download Station的类似,注意端口 [http_blog] type = http local_ip = 192.168.1.2 local_port = 80 use_compression = true use_encryption = true custom_domains = blog.freenat.bid #群晖里的web搭建的博客,怎么搭建百度去 [http_plex] type = http local_ip = 192.168.1.2 local_port = 32400 use_compression = true use_encryption = true custom_domains = plex.freenat.bid #plex视频服务器,外面直接通过plex看群晖内视频 [https_feixun] privilege_mode = true type = http local_ip = 192.168.1.1 #路由器ip local_port = 80 use_compression = true use_encryption = true authentication_timeout = 0 custom_domains = feixun.freenat.bid #穿透路由器 [tcp_ssh] #群晖ssh连接 type = tcp local_ip = 192.168.1.2 local_port = 22 use_compression = true use_encryption = true remote_port = 3463 #远程端口,一般tcp和udp需要设置,不需要设置custom_domain,访问时为【frps服务器地址+远程端口】,没有域名的用这种方式通过【frps服务器地址+远程端口】即可实现访问 [udp] type = udp local_ip = 192.168.1.2 local_port = 53 use_compression = true use_encryption = true remote_port = 3453 # 访问时为【frps服务器地址+远程端口】