Ich habe einen docker-openvpn
Container in meinem (lokalen) Kubernetes Cluster für den Zugriff bereitgestellt meine Dienste sicher und Debug abhängige Dienste lokal.
Ich kann über den Server openVPN eine Verbindung zum Cluster herstellen. Ich kann meine Dienste jedoch nicht über DNS auflösen.
Ich habe es geschafft, nach dem Setzen von Routen auf dem VPN-Server zu dem Punkt zu kommen:
subnet 10.2.0.0/16
) subnet 10.3.0.0/16
wie der DNS, der sich bei 10.3.0.10
befindet) curl
zu einem Services nach IP und bekomme die Daten, die ich brauche. Aber wenn ich nslookup kubernetes
oder einen Service bekomme, bekomme ich:
Ich vermisse immer noch etwas, damit die Daten vom DNS-Server zurückkommen, kann aber nicht herausfinden, was ich tun muss.
Wie debugge ich dieses SERVFAIL
Problem in Kubernetes DNS ?
BEARBEITEN:
Dinge, die ich bemerkt habe und die ich verstehen will:
nslookup
funktioniert, um den Servicenamen in einem beliebigen Pod außer dem openvpn-Pod nslookup
in diesen anderen Pods funktioniert, ping
nicht. traceroute
in diesen anderen Pods führt zur Flanellschicht 10.0.2.2
und stoppt dann dort. davon Ich denke, ICMP muss auf der Flanellschicht blockiert werden, und das hilft mir nicht herauszufinden, wo DNS blockiert ist.
EDIT2:
Ich habe schließlich herausgefunden, wie ich nslookup zum Laufen bringen kann: Ich musste die DNS-Suchdomäne mit
an den Client senden %Vor% fügen Sie mit der Option -p
im docker-openvpn
image
damit ich am Ende
%Vor% Nun funktioniert nslookup
, aber curl
immer noch nicht
endlich sieht meine Konfiguration so aus:
%Vor% -u
für die Adresse und den Port des VPN-Servers
-n
für alle zu verwendenden DNS-Server
-s
, um das VPN-Subnetz zu definieren (standardmäßig 10.2.0.0, das bereits von Kubernetes verwendet wird)
-d
zum Deaktivieren von NAT
-p
, um Optionen an den Client zu senden
-N
, um NAT zu aktivieren: Es scheint für dieses Setup auf Kubernetes
Der letzte Teil, der die Suchdomains an den Client weitergab, war der Schlüssel, um nslookup
etc .. zum Funktionieren zu bringen.
Beachten Sie, dass Curl zunächst nicht funktionierte, aber nach einigen Sekunden zu funktionieren scheint. Es funktioniert also, aber es dauert ein wenig, bis sich die Locken lösen können.
Tags und Links docker dns kubernetes vpn