之前在群晖安装smartdns和adguard home出现客户端只显示172.17.0.1的情况,网上查了一些资料解决了这个问题。也给大家说一下怎么解决。出现这个问题的原因是smartdns跟adguard home不在同一个网段,adguard home一般就是我们的群晖ip,192.168开头。
解决方法就是使用macvlan。给容器创建虚拟mac,给容器分配你局域网ip。只要smartdns能获取到你局域网ip就行了。
关于macvlan
macvlan是可以虚拟mac地址,单独的macvlan存在意义不大,结合docker给每一个容器都虚拟一个mac地址,这样每个容器在局域网中都相当于一个独立的主机。创建macvlan
docker network create -d macvlan--subnet=192.168.10.0/24 --ip-range=192.168.10.32/28
--gateway=192.168.10.1
--aux-address="my-router=192.168.32.33"
-o parent=eth0 macnet
把容器加入macvlan
打开docker,进入网络,选中bridge-host,点开管理,在弹出窗口点击新增,选中你的smartdns容器。获取smartdns ip
进入容器,右键点你的smartdns,详情--终端机--新增--通过命令启动,输入/bin/sh,在终端内输入ifconfig,eth0里面inet addr后面的ip就是smartdns的ip。最后把smartdns的ip写入到adguard home的上游 DNS 服务器内就解决问题了。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
网友评论