PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zwei Netze und die resolv.conf



pixel
18.05.06, 13:14
Hallo zusammen,

ich habe ein Problem mit der resolv.conf. Ich befinde mich mit dem Laptop im Netz der Firma. Hier bekomme ich alle relevanten Daten per DHCP. Danach sieht meine resolv.conf so aus:

search localdomain

nameserver 192.168.123.1
Das funktioniert und das Netz ist erreichbar. Nun startet auf dem Laptop jedoch automatisch OpenVPN und verbindet zu meinem Gateway zuhause. Wenn ich nun in der resolv.conf die Werte von search und nameserver auf die meines Server zuhause ändere kann ich auf alle Rechner in meinem Heimnetz zugreifen und der dortige Nameserver wird benutzt.
Allerdings kann ich die Rechner in der Firma (LAN wo ich lokal bin) nicht mehr unter ihrem Hostnamen ansprechen.

Kann man in der resolv.conf irgendiwe angeben das zwei Netze benutzt werden? So wie:

search localdomain1 localdomain2

nameserver 192.168.123.1
nameserver 192.168.5.1

Wobei hier localdomain1 den Nameserver 192.168.123.1
und
localdomain2 den Nameserver 192.168.5.1
benutzt. Geht so etwas überhaupt?

Viele Grüße
pixel

tschloss
18.05.06, 14:49
Ich habe es jetzt nicht ganz nachvollzogen, aber so kompliziert ist es glaub ich nicht.

Bei einer DNS Anfrage wird es halt bei den gelisteten DNS-Servern nachgefragt. Wenn die nicht erreichbar sind - sei es wegen des Routings oder weil sie down sind - dann geht es halt zum nächsten Entry.
Das ganze ist dann auch eine Performance Frage.

Hast Du ein VPN, so ändert sich manchmal das Default-GW auf einen Knoten in/hinter dem Tunnel.

Ich hoffe, ich habe die Frage jetzt nicht falsch verstanden.

Grüße
Thomas

pixel
18.05.06, 14:58
Bei einer DNS Anfrage wird es halt bei den gelisteten DNS-Servern nachgefragt. Wenn die nicht erreichbar sind - sei es wegen des Routings oder weil sie down sind - dann geht es halt zum nächsten Entry.
Genau darin dürfte das Problem liegen. Er befrägt den ersten in der Liste und wenn dieser erreichbar ist und den Namen nicht auflösen kann befrägt er seinen Forwarder, also den vom ISP der den Namen natürlich auch nicht auflösen kann.
Der zweite in der Liste der Namen auflösen könnte wird gar nicht gefragt. Ich habe keine zündende Idee wie ich das lösen kann.

giotto
03.10.06, 20:56
Hallo Pixel!

Ich stehe gerade vor dem selben Problem, ich habe den DNS Server zuhause, und die DNS Server in der Firma, die ich über das VPN erreiche.

Nun möchte ich beide Verwenden, meiner Zuhause für mein lokales Netz und die Firmenserver...

Ja, du hast natürlich recht, wenn mein PC den ersten DNS in der resolv.conf erreicht, dann probiert er natürlich nicht den zweiten in der Liste, auch nicht, wenn die Anfrage an den ersten erfolglos war...

Hast du das mittlerweile irgendwie lösen können? Oder hat vielleicht jemand eine andere Idee?

Gruss
giotto

suck
03.10.06, 21:26
Kann man das Problem vielleicht mit einem passend konfigurierten DNS-Server namens localhost beheben? localhost könnte der Alternativserver (mir fällt der Fachbegriff grad net ein) zum DNS-Server im Heimnetzwerk sein und alle Anfragen, die er nicht beantworten kann, an den DNS-Server der Firma weiterleiten. Sollte dieser nicht erreichbar sein, wird der nächste (öffentliche!) DNS-Server befragt.

Oder man macht's ganz einfach mit der /etc/hosts

giotto
03.10.06, 22:04
Hi suck!

Hey danke für die Antwort! So etwas habe ich mir auch schon durch den Kopf gehen lassen, habe aber noch nicht gross die Dokus von Bind durchgeschaut... Ich werde mir das mal genauer anschauen! :)

Danke und Gruss
Giotto

pixel
04.10.06, 17:01
ich habe es dann so versucht das ich die jeweilige entfernte Zone als Slave konfiguriert habe. Das funktionierte auch auf anhieb allerding nur einen Tag lang. Dann schmeißt er mir die Slave-Zone raus. Ich habe das noch nicht weiter verfolgt da ich die Tage ein neues Server-OS bekomme

Thorashh
04.10.06, 21:24
Eigentlich müsste es reichen, einen lokalen Bind zu installieren und dann beide DNS-Server als Forwarder einzutragen.

Anders als bei den Einträgen in der resolv.conf fragt Bind der Reihe nach alle Forwarder ab, bevor die Anfrage fehlschlägt.

Beispiel: /etc/named.conf
options {
auth-nxdomain yes;
directory "/etc/named";
forward only;

forwarders {
1.2.3.4;
5.6.7.8;
};

listen-on port 53 {
127.0.0.1;
};

allow-query {
127.0.0.1;
};
};

pixel
05.10.06, 16:56
Eigentlich müsste es reichen, einen lokalen Bind zu installieren und dann beide DNS-Server als Forwarder einzutragen.
Das ist aber nicht sehr elegand.

1. Lasse ich den Forwarder dynamisch durch den ppp setzen
2. Wir jede Adresse die durch die Master-Zone nicht aufgelöst werden kann an den Forwarder weiter geleitet das würde bei deiner Lösung bedeuten das jeder Aufruf einer Webseite zu einer Anfrage beim entfernten DNS führen würde

Thorashh
05.10.06, 17:03
Na wenn es auch noch eine elegante Lösung sein soll. :)

Das musst Du eigentlich nur einen eigenen DNS-Forwarder schreiben, der in der Lage ist, anhand der Domain den DNS-Server zu selektieren. Ist mit relativ wenigen Zeilen Perl erledigt.