问题
我正在尝试使用静态 IPv6 在家庭网络中的 debian 11 服务器上的 docker 容器内设置本地 DNS 服务器(pihole),以便我可以将路由器的所有查找指向它。
到目前为止我所拥有的
由于这是家庭网络,我的路由器会在一定的时间间隔内重新连接,这不允许我使用全局 IPv6 前缀。
docker
服务正在我的服务器上运行我正在使用 docker-compose,目前的 compose 文件如下所示:
version: "3" # More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/ services: pihole: container_name: pihole image: pihole/pihole:latest ports: - "53:53/tcp" - "53:53/udp" - "67:67/udp" - "80:80/tcp" environment: TZ: 'Europe/Berlin' # WEBPASSWORD: 'set a secure password here or it will be random' WEBPASSWORD: 'XXXXXXXXX' # Volumes store your data between container upgrades volumes: - type: bind source: ./etc-pihole/ target: /etc/pihole/ - type: bind source: ./etc-dnsmasq.d target: /etc/dnsmasq.d/ # Recommended but not required (DHCP needs NET_ADMIN) # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities cap_add: - NET_ADMIN #option not needed wen used in combinationwith systemd #restart: unless-stopped networks: macvlan: ipv4_address: 10.10.1.51 ipv6_address: fd00:0:0:1:50::51 networks: macvlan: driver: macvlan enable_ipv6: true driver_opts: parent: enp7s0 ipam: config: - subnet: 10.10.1.50/24 gateway: 10.10.1.1 - subnet: fd00:0:0:1:50::/80 gateway: fd00:0:0:1:2e91:abff:fe91:baa0
整个 IPv4 设置正在工作,但是我不完全了解如何设置 macvlan,以便 dockered pihole 可以作为我的家庭网络中的 DNS 服务器。
这
fd00:0:0:1:2e91:abff:fe91:baa0
是我的路由器的本地地址。docker-compose up
产量:failed to create network dc_pihole_macvlan: Error response from daemon: Invalid subnet fd00:0:0:1:50:/80 : invalid CIDR address: fd00:0:0:1:50:/80
问题
- 我想做的事情到底可行吗?
- 这是我想要做的正确设置吗?
如何让容器启动?
编辑1
修复建议的语法后,docker 容器将启动。从容器内的 bash,我可以 ping 我的路由器,地址为
fd00:0:0:1:2e91:abff:fe91:baa0
。我还可以 pingipv6.google.com
并解析为正确的 IPv6,但奇怪的是,只有四个数据包之一被传输。为什么?请参阅附加的输出,其中PROVIDER-PREFIX-RM
是我的(当前)范围全局前缀:root@c4ca40297eaa:/# ping ipv6.google.com -c 4 PING ipv6.google.com(fra24s11-in-x0e.1e100.net (2a00:1450:4001:830::200e)) 56 data bytes From PROVIDER-PREFIX-RM:42:aff:fe0a:133 (PROVIDER-PREFIX-RM:42:aff:fe0a:133): icmp_seq=1 Destination unreachable: Address unreachable From PROVIDER-PREFIX-RM:42:aff:fe0a:133 (PROVIDER-PREFIX-RM:42:aff:fe0a:133): icmp_seq=2 Destination unreachable: Address unreachable From PROVIDER-PREFIX-RM:42:aff:fe0a:133 (PROVIDER-PREFIX-RM:42:aff:fe0a:133): icmp_seq=3 Destination unreachable: Address unreachable 64 bytes from fra24s11-in-x0e.1e100.net (2a00:1450:4001:830::200e): icmp_seq=4 ttl=115 time=18.7 ms --- ipv6.google.com ping statistics --- 4 packets transmitted, 1 received, +3 errors, 75% packet loss, time 95ms rtt min/avg/max/mdev = 18.738/18.738/18.738/0.000 ms, pipe 3
附录:显然我对此很陌生,所以如果您想建议一个更好的编号方案,请务必这样做。