APP下载 微博 微信

Hao4K影音


[群晖] 再也不用记IP了,NAS/黑群晖0成本(极低成本)搞定域名动态解析,直接用域名访问nas

[复制链接]

发表于 2020年04月26日 22:20 47516 6 来源:媒体存储> 群晖 回帖奖励 |正序浏览 |

JieTo 帖主

2020-4-26 22:20

再也不用记IP了,nas/黑群晖0成本(极低成本)搞定域名动态解析,直接用域名访问nas

本文纯属个人观点,不存在安利元素。
我要解决什么问题
卤煮最近撸了一台nas,部署了一个jellyfin,也问电信要了公网IP,每次想看个电影吧,XXX.XXX.XXX.XXX:8096。电信耙耙的IP差不多2个礼拜变一次,变了之后又要输入AAA.AAA.AAA.AAA:8096。

能不能输入我自己的域名,直接跳转到我的jellyfin呢?不花钱的那种,一分都不花的那种。
环境&工具
卤煮的nas环境是:
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
工具:
花生壳(实名认证过,可以http内网穿透)
nginx
实现原理

图糙理不糙
我们在浏览器输入bcd.abc.com(花生壳二级域名),这个域名映射了nginx服务器,nginx服务器再返回302临时(一开始我用的是301,301会被浏览器缓存我改成302了,图片就懒的改了)重定向到我们的公网IP,此时浏览器上的URL变成了我们的公网IP,实现"动态解析"。
相信大家已经看出来了,接下来的事已经和花生壳,nginx没有半毛钱关系了,我们只是嫖花生壳一个免费域名。
具体实现
1. 花生壳
首先你需要有一个花生壳账号(ngrok,frp也是可以的)并且能使用http映射的。
花生壳http映射需要实名认证可能需要花6块钱(卤煮趁他搞活动撸的0元,所以标题是0成本或者极低成本)。体验版的花生壳流量1G/月,宽带1M,2个映射(还有一个映射22端口)指望他来看电影几乎是不可能的。(提一句,注册开发者搞一个测试应用,送铂金版账号3个月,我只能说这么多了)
将花生壳域名映射到8080端口,以后我们的jellyfin只需要输入这个域名就能访问啦。

映射8080端口
2.Nginx
这里考虑到其他NAS我这里以docker版的nginx为例。
前往dockerhub拉去官方镜像,由于众所周知的原因,我建议您先搞个加速器,不然你可能需要一个晚上(毕竟我们不是罗志祥晚上还是要睡觉的)

命令 docker pull nginx
拉去完镜像之后,找个文件夹新建一个nginx配置,名字为web.conf,内容如下:
server {
listen 8080;
location / {
real_ip_header X-Forwarded-For;
   set $out "http://你的公网ip:8096";
rewrite ^(.*)$ $out$request_uri redirect;
}
}
这个配置的意思是监听8080端口(必须和花生壳的映射端口一致),不管三七二十一301跳转到我们的公网IP去。
启动容器我们的nginx
卤煮还是喜欢使用docker-compose,文件如下:
web:
image: nginx
volumes:
- ./刚刚的web.conf:/etc/nginx/conf.d/web.conf
- 你的log文件夹:/var/log/nginx/
ports:
- "8080:8080"
如果你只需要docker命令,那么:
docker run --name 你的容器名字 -v 刚刚的web.conf:/etc/nginx/conf.d/web.conf -v 你的log文件夹:/var/log/nginx/ -p 8080:8080 -d nginx
说明下:/etc/nginx/conf.d/是nginx的配置目录,/var/log/nginx/是nginx的日志目录
做完这一步,小伙伴们你们可以测试一下是否成功,离完美还剩1%,接下来就是我们写脚本定时更新我的的公网IP了。
3. 更新公网IP的脚本
原理就是把nginx配置也就是上面的web.conf中的第6行的IP更新,保证它的正确性。
实时获取公网ip
PUBLIC_IP=`curl icanhazip.com`
IP_FILE=&39;
touch $IP_FILE
SYS_PUBLIC_IP=`cat $IP_FILE`
echo "系统公网IP:$SYS_PUBLIC_IP,本次获取的IPPUBLIC_IP"
这里6c表示第6行替换为XXXX
sed -i &39;$G_PUBLIC_IP&39; 你的web.conf
#重启nginx容器
docker restart 你的nginx容器id
fi
把以上脚本加入到开机启动,设置成每1天跑一次就OK啦。
  
总结
完美的方案还是用dns去解决域名和IP直接的事情,不过这也算是一种方法啦(还是白嫖爽啦)。
卤煮本来还想通过nginx判断客户机真实IP完成一个域名搞定内外网。(外网跳转到外网IP,内跳转到内网IP),无奈花生壳没法获取到真实IP,如果大佬们有方案记得通知卤煮。(不要跟我说修改路由器host之类的,卤煮的路由器是老款菊花牌,不支持这些花里胡哨的功能)

回复

使用道具 举报

全部回复6

点点奇遇记 7

2020-8-1 10:07

公网IP好要吗?有什么诀窍吗?
回复 支持 反对

使用道具 举报

heartzc 6

2020-4-28 00:01

这个确实太专业了,一般人无法企及。
回复 支持 反对

使用道具 举报

蜀国de小瘪三 5

2020-4-27 11:30

好麻烦,我用的华硕路由器免费解析
Let's Encrypt 服务可为您提供免费的域验证证书,并在为域签发证书前进行域验证。由 Let's Encrypt 签发的证书有效期为 90 天。在您的证书过期前,华硕路由器将会在成功验证域后自动更新这些证书。请确认您的路由器通过端口 80 连接网络以验证域和更新证书。
回复 支持 反对

使用道具 举报

stingwon 4

2020-4-27 10:10

感觉天书。。。
回复 支持 反对

使用道具 举报

moukai 3

2020-4-27 08:48

喜欢折腾的可以试试,谢谢楼主
回复 支持 反对

使用道具 举报

lhm50348 2

2020-4-27 08:24

谢谢你的经验啦!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则



绑定微信 + 关注公众号,第一时间获得消息通知!
:
新手玩家
:
介绍未填写

主题

帖子

积分7

图文推荐

  • 搭建私有云—华芸AS6404T NAS+华硕 AC68U体

    帮朋友搭建私有云—华芸AS6404T NAS+华硕 AC68U体

  • 分享蜗牛星际A\B\C\D款机箱和功能分别有

    历经一个月研究:蜗牛星际ABCD款机箱和功能分

  • 利用NAS建立DNS缓存服务器Pi-hole

    在家用环境中利用NAS建立DNS缓存服务器 1 前

  • 科普:什么是硬盘MTBF?那MTTF、MTTD、MTTR

    买固态硬盘,我们会比较关注颗粒寿命,机械硬盘虽

  • 群晖硬盘迁移到新群晖,插在另外一台群晖NA

    之前有一台蜗牛星际做的黑群晖系统nas,然后现在

  • 机械硬盘该怎么选?教你最全机械硬盘选购指

    机械硬盘该怎么选?教你最全机械硬盘选购指南

  • 万由HS-200S最简单的远程开机方法教程

    分享下我的nas使用技巧,以及最简单的远程开机

  • 家庭NAS+HTPC组建及注意事项(一)(内网穿

    原创篇一:家庭NAS+HTPC组建及注意事项(一)(内

  • NAS都有哪些品牌?带你了解几大NAS名牌介绍

    NAS都有哪些品牌?带你了解几大NAS名牌介绍 前

  • 不用U盘引导直装SSD!矿渣NAS安装黑群晖与

    教你怎么不用U盘引导直装SSD!矿渣NAS安装黑群晖

  • Hao4K影音app客户端下载