MacOS sendet Pakete zum falschen Interface raus (VPN-Szenario)
Hallo,
ich habe auf meinem Mac ein VPN vom Arbeitgeber konfiguriert, via Tunnelblick/OpenVPN. Das funktioniert eigentlich auch, aber hin und wieder bekomme ich DNS-Probleme. Das VPN ersetzt die DNS-Server, der Weg dahin geht durchs VPN.
Ich habe das jetzt untersucht, als es wieder mal auftrat. Und da sehe ich im tcpdump, dass die DNS-Requests an die richtige IP-Adresse gesendet werden, allerdings übers falsche Interface. Dementsprechend antwortet der Server auf die Requests mit REFUSED, weil sie bei ihm "von extern" ankommen.
Ich habe im Log versucht nachzuvollziehen, was zu dem Zeitpunkt genau passiert, wenn der Weg der Pakete schwenkt, aber nichts gefunden. Netstat zeigt mir jedenfalls immer noch an, dass die Requests eigentlich übers Tunnel-Interface gehen sollten, tcpdump zeigt mir, dass sie übers normale WLAN-Interface rausgehen. Die meisten zumindest, manche gehen noch korrekt raus.
Bonus zum extra verwirren: Wenn ich mittels "dig example.com" einen Namen auflöse, wird dieser Request übers Tunnel-Interface geschickt und ich bekomme eine Antwort. Probiere dann aber direkt im Anschluss ein "telnet example.com", schickt er den DNS-Request dafür übers falsche Interface und ich bekomme ein "unknown host" vom Telnet.
Es gibt übrigens auch einen DNS-Request, der IMMER übers falsche Interface rausgeht, auch wenn ALLE anderen Requests übers Tunnel-Interface gehen: Die Auflösung von mask-api.icloud.com.
Das klingt für mich nach einem Bug sehr weit unten im Betriebssystem. Irgendwer eine Idee? Das einzige was man machen kann zum Reparieren ist VPN neu verbinden. Das heißt aber auch, immer wieder alle SSH-Sessions zu- und wieder aufmachen.
MacBook Pro 16″, macOS 13.2