2025-04-03

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


一、前置条件

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


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

3)具备公网IP。


二、如何判断具备公网IP


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



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

https://ipv6ready.me/index.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 https://waf-ce.chaitin.cn/release/latest/manager.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的客户端进行观影。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容