MacvlanネットワークのPiholeの問題:ルーターDNSがPiholeを指しているときにホストとコンテナが通信できない。

MacvlanネットワークのPiholeの問題:ルーターDNSがPiholeを指しているときにホストとコンテナが通信できない。

私はこれがフィホールとは何の関係もないと思います。

TL/DR dockerのmacvlanを持つPiholeはホストと通信できません。 macvlan内の他のコンテナはホストと通信できます。これは、ホストと通信できない標準のmacvlanの問題ではありません。 Piholeは、ルーターのDNSサーバーがPiholeコンテナに割り当てられている場合にのみホストからアクセスでき、その逆も同様です。

使用されるこのガイド マクブランを設定してください。

状態:

Raspberry Piで実行されるPihole 1個(xxx9)(Pi#1)

Nucで実行されるPihole 1個(macvlan xxx243)(Pi #2)

Pihole 2に切り替えてPiを越えようとしています。

したがって、現在のルーターDNSはPi 1を指します。 Pihole 2はMacvlanのNucで動作しています。 Nuc ホストで実行できnslookup example.com 192.168.2.243、動作するように値を返します。

それでは、ルータを.243を指すように切り替えて変更するのは安全だと思いますか?エラーです。ルータのDNSを.243を指すように変更すると、nslookup example.com 192.168.2.243もう機能しません! .243に突然アクセスできなくなることを理解していません。

user@nuc:~$ nslookup example.com 192.168.2.243
;; communications error to 192.168.2.243#53: connection refused
;; communications error to 192.168.2.243#53: connection refused
;; communications error to 192.168.2.243#53: connection refused
;; no servers could be reached

これはタイムアウトなどの問題なくすぐに返されます。

これはmacvlanです。

sudo docker network create -d macvlan -o parent=eno1 \
--subnet 192.168.2.0/24 \
--gateway 192.168.2.100 \
--ip-range 192.168.2.240/28 \
--aux-address="nuc=192.168.2.254" \
macvlan

起動時にsystemdサービスを使用して実行します。

ip link add macvlan-shim link eno1 type macvlan mode bridge
ip addr add 192.168.2.254/28 dev macvlan-shim
ip link set macvlan-shim up
ip route add 192.168.2.240/28 dev macvlan-shim

Piholeは重力リストをダウンロードし、起動時に問題なく更新することができました。

ヌークから:

sudo docker exec -ti pihole ping -c 4 google.com

パケット損失は返されず、Pyholeはインターネットに接続できます。

ヌークから:

ping 192.168.2.243

user@nuc:~$ ping 192.168.2.243
PING 192.168.2.243 (192.168.2.243) 56(84) bytes of data.
From 192.168.2.21 icmp_seq=1 Destination Host Unreachable
From 192.168.2.21 icmp_seq=2 Destination Host Unreachable

接続できません - .21はホスト/ nucです。これが手がかりのようです。

macvlanでも実行されているhomeassistantコンテナ(.242)で

sudo docker exec -ti homeassistant ping -c 4 192.168.2.243

PING 192.168.2.243 (192.168.2.243): 56 data bytes
64 bytes from 192.168.2.243: seq=0 ttl=64 time=0.058 ms
64 bytes from 192.168.2.243: seq=1 ttl=64 time=0.050 ms

これにより、macvlanと同じネットワーク上のhomeassistantがピホールにアクセスできます。

Nucからホームアシスタントへ:

user@nuc:~$ ping 192.168.2.242
PING 192.168.2.242 (192.168.2.242) 56(84) bytes of data.
64 bytes from 192.168.2.242: icmp_seq=1 ttl=64 time=0.124 ms
64 bytes from 192.168.2.242: icmp_seq=2 ttl=64 time=0.074 ms

Nucはhomeassistantに接続できるため、この問題はmacvlanと直接関係がありません。

ルーターDNSが.243を指していない場合は、nmapを使用してください。

user@nuc:~$ nmap 192.168.2.243
Starting Nmap 7.80 ( https://nmap.org ) at 2024-01-03 17:25 UTC
Nmap scan report for 192.168.2.243
Host is up (0.00013s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
53/tcp open  domain
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

ルータDNSが0.243のPyholeを指す場合、nmap

user@nuc:~$ nmap 192.168.2.243
Starting Nmap 7.80 ( https://nmap.org ) at 2024-01-03 17:29 UTC
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.03 seconds


user@nuc:~$ nmap -Pn 192.168.2.243
Starting Nmap 7.80 ( https://nmap.org ) at 2024-01-03 17:29 UTC
Nmap scan report for 192.168.2.243
Host is up (0.29s latency).
All 1000 scanned ports on 192.168.2.243 are filtered

Nmap done: 1 IP address (1 host up) scanned in 51.05 seconds

Sooo Tl / dr少なくとも直接はmacvlanとは関係ありません。ホストはmacvlan内の他のコンテナと通信できます。ルータ DNS が Pyhole を指している場合、Pyhole だけに問題が発生します。この問題は、ブリッジネットワークを含むホストネットワークを使用するホストとコンテナにのみ適用されます。 DNSは確認できないからです。誰もが私がこれをデバッグする方法について提案を与えることができますか?

全体設定も上げました。ここ

関連情報