admin管理员组

文章数量:1442411

雷池WAF+emby+ddnsgo搭建个人影音库,实现远程安全访问流媒体

一、前置条件

1)以Ubuntu系统为例,其他具有docker功能的NAS也可以,最低配置要求需要满足雷池的需求。

2)一个稳定的域名,可以阿里云、腾讯云等处购买。建议:如果长期使用,建议直接购买十年,一年域名续费比购买十年的域名更贵。

3)具备公网IP。

二、如何判断具备公网IP

1)ipv4在路由器查看 WANIP(此处以爱快为主路由拨号为例,如光猫播号,请登陆光猫查看)

访问IPv6测试网站查看本级出口IP

.html.zh_CN

查看 IPv4 是否一致,如一致则为公网 IPv4

2)公网IPv6

在主路由上查看外网获取的IPv6地址,如果为240开头,则为公网IPv6(以爱快为例)

需要内网设备需要IPv6,需要在内网里面配置。

三、DDNS-GO安装配置

1)拉取镜像

docker pull jeessy/ddns-go

2)启动ddns-go docker run -d(-d有没有无所谓,对应下载并部署docker) –name ddns-go(–name对应命名,这里是将容器命名为ddns-go) –restart=always(–restart对应重启规则,这里是一直自动重启) –net=host(–net对应网络选项,这里是将使用网络模式配置为host) -v /opt/ddns-go:/root(-v前缀对应挂载,这里是将容器的/root文件夹挂载到系统/opt/ddns-go文件夹,/opt/ddns-go文件夹可以根据自己的系统调整) jeessy/ddns-go(对应镜像名称)

4)使用ufw防火墙输入以下代码,其他防火墙请自行配置。

ufw allow 9876

5)使用 DDNS-GO

访问DDNS-GO:

http://localhost:9876/

选择对应的 DNS 服务商,本文以Cloudflare 为例,点击 创建令牌 -> 编辑区域 DNS (使用模板) 跳转到Cloudflare 创建一个 Token

点击 Create Token 创建 Token

选择 Edit zone DNS,点击 Use template

选择自己需要的域名

最后会出现一个 Token,将该值 Copy 到 ddns-go 中即可

返回 ddns-go,来到下方的 IPv4 与IPv6 设置,勾选 IPv4,勾选 IPv6,将域名填入下方的 Domains 中。稍等片刻,就可以直接用该域名访问到内网服务了。

四、部署emby

1)拉取镜像

docker pull emby/embyserver

2)运行 Emby 容器

docker run -d \-d: 后台运行容器

--name=emby \给容器指定一个名称

–net=host(–net对应网络选项,这里是将使用网络模式配置为host)

-v ~/emby/config:/config \ 持久化配置文件

-v ~/emby/media:/mnt/media \ 持久化媒体文件

--restart unless-stopped \确保容器在Docker 重启时自动重启

emby/embyserver

3)访问 Emby

在浏览器中访问 http://<你的服务器IP>:8096,你应该能够看到 Emby 的设置界面。

按照界面上的提示完成初始设置,包括添加媒体库等。

注意事项

确保你的防火墙允许通过 8096 和 8920 端口的流量。

五、雷池WAF部署

1)根据官方文档,在线一键部署

bash -c "$(curl -fsSLk .sh)”

安装完成后回打印初始账密,如果没有找到账户密码,手动执行以下命令即可

docker exec safeline-mgt resetadmin

2)雷池安装成功以后,你可以打开浏览器访问 https://<safeline-ip>:9443/ 来使用雷池控制台。

3)点击添加应用

4)添加应用

域名填写DDNS-GO里的域名

端口填写访问的端口,比如45678

后面的SSL建议勾选,通过HTTPS访问更安全,如勾选SSL需要添加域名证书。

注意:通常http的默认端口为80,https的默认端口为443,但是家宽的这两个端口封闭的,此处需要用自定义端口,建议使用10000以上的端口。

上游服务器填写emby的地址。

4)端口映射

由于我们的域名是解析到我们公网IP,我们的公网IPv4在我们的主路由上面,在我们访问域名时无法直接访问到我们WAF,所以需要在我们主路由上进行端口映射,需要将端口映射到我们WAF上。

如果WAF上有公网IPv6地址,那么在域名访问时是直接访问的WAF地址,并不通过主路由。所以如果并没有公网IPv4,使用IPv6访问的话,不需要进行端口映射。

现在我们就可以通过我们的域名+端口访问我们的媒体库了!

同时我们也可以通过emby客户端或者其他支持emby的客户端进行观影。

本文标签: 雷池WAFembyddnsgo搭建个人影音库,实现远程安全访问流媒体