本帖最后由 neroxps 于 2021-7-27 11:10 编辑
只改宿主的 hosts 是不行的,hassio 有自己的dns 服务器,不依赖系统内部的 hosts,在 hassio_dns 容器内,hassos 应该会在 /mnt/data/supervisor/dns 文件夹内
把 version.home-assistant.io 在 core_dns 里的 hosts 文件屏蔽了就完了,不过 core_dns 重启了会覆盖 hosts。hassio 最讨厌的地方。
另一个方案是在 supervisor 页面里面,修改 DNS 地址为路由地址,然后在路由下挟持上述域名,让其不可以获得新版本。
修改位置在这里。
可以通过如下命令在宿主中执行查看 ha dns 设置
neroxps@n3150:~/hassio$ ha dns info
host: 172.30.32.3
locals:
- dns://10.89.0.1
servers:
- dns://10.89.0.1
update_available: false
version: 2021.06.0
version_latest: 2021.06.0
但还有有个问题,因为 coredns 配置如下
bash-5.1# cat /etc/corefile
.:53 {
log {
class error
}
errors
loop
hosts /config/hosts {
fallthrough
}
template ANY AAAA local.hass.io hassio {
rcode NOERROR
}
mdns
forward . dns://10.89.0.1 dns://10.89.0.1 dns://127.0.0.1:5553 {
except local.hass.io
policy sequential
health_check 1m
}
fallback REFUSED,SERVFAIL,NXDOMAIN . dns://127.0.0.1:5553
cache 600
}
.:5553 {
log {
class error
}
errors
forward . tls://1.1.1.1 tls://1.0.0.1 {
tls_servername cloudflare-dns.com
except local.hass.io
health_check 5m
}
cache 600
}
可以看到
forward . dns://10.89.0.1 dns://10.89.0.1 dns://127.0.0.1:5553 {
里面还有一个 127.0.0.1:5553,而这个其实是 tls://1.1.1.1 tls://1.0.0.1,所以你还应该要把 1.1.1.1 和 1.0.0.1 屏蔽掉,这样才能正确的挟持掉域名。
这东西太恶心,搞不懂 hassio 为何要多此一举,我也烦透这家伙。
|