PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenVPN, DNS und DHCP



mase-faq
27.04.08, 20:50
Hallo!
Ich habe es endlich geschafft, zwischen meinem Notebook und dem Server eine
OpenVPN-Anbindung zu machen. Jetzt hab ich das Problem, dass der Server
nur über die IP erreichbar ist. Auf dem Server läuft bind9 und dhcp3 für das
Subnetz 192.168.0.0. Das Subnetz für VPN ist 10.0.0.0.
Für bind9 hab ich einfach eine weitere Forward und Reverse Zone für VPN erstellt,
und in die Konfiguration integriert. Ein host 10.0.0.x auf dem Server liefert den
richtigen Namen. Ein host NAME liefert aber 192.168.0.x. Auf dem Clienten funktioniert
das nur, wenn ich im LAN bin. Von aussen nicht mehr.
Nur wie konfiguriere ich den DHCP-Server, dass beide Subnetze bedient werden?
Ist es auch möglich, IP-Reservierungen zu machen? Immerhin ändert sich immer
die MAC des tap-Devices.
Ich hab mal versucht, den DHCP-Server so zu konfigurieren, wie in dieser Anleitung:
http://www.rprengel.de/e5/e243/e449/e802/openvpn.pdf
Doch irgendwie blick ich da nicht durch.
In meiner server.conf von OpenVPN hab ich noch

push "dhcp-option DOMAIN inyourface.mine.nu"
push "dhcp-option DNS 10.0.0.1"
push "redirect-gateway"
eingetragen, doch die Namensauflösung mit VPN funktioniert nicht.
Kann mir jemand helfen?

hessijens
02.05.08, 08:24
Dein DNS Server lauscht doch bestimmt auf einer 192.169.0.x Adressen, daher denke ich mal:


push "dhcp-option DNS 192.168.0.X"

wird wohl richtig sein. Da Openvpn in der Regel nach Bind gestartet wird bindet sich bind nicht an die tun Adresse von openvpn. Übrigens solltest Du auch noch die Route festlegen z.B.:


push "route 10.0.0.0 255.255.255.0"


damit der Laptop auch das 192.168.0.X Netz findet.

EDIT:
Wenn Du noch das 192.168.0.X Netzt hinter dem Server erreichbar machen möchtest brachst Du evtl. noch folgende Filterregeln (tun0 und eth0 entsprechend anpassen), damit der Verkehr geroutet wird:

iptables -A forward_int -i tun0 -o eth0 -j ACCEPT
iptables -A forward_int -o tun0 -i eth0 -j ACCEPT

mase-faq
02.05.08, 09:26
Erreichbar ist das Netz ja. Ich muss wohl mit ifconfig-push meine
Reservierungen machen. Dann muss ich in Abhängigkeit von meinen
Clientzertifikaten die IPs zuweisen lassen.

hessijens
02.05.08, 11:42
Habe grade nochmal nachgelesen und bemerkt, dass Du ja das tap device verwendest.

Das macht aber keinen Unterschied, denn openvpn startet definitiv nach bind, folglich kennt bind werde das Tun, noch das Tap Device und hört auch nicht auf diese Adresse. Ich denk, wenn das Routing funktioniert und Du vom Laptop das Netzwerk 192.168.0.0 erreichst, dann kannst Du auch den Nameserver 192.168.0.X (kenne die genaue Adressen nicht) weitergeben. 10.0.0.1 wird definitv nicht funktionieren, da antwortet bind nicht drauf.

mase-faq
02.05.08, 15:36
Ich verwende für beide auch nur 1 Subnet.
LAN 192.168.0.1 - 100
VPN 192.168.0.101 - 254
Der Server ist in beiden Fällen 192.168.0.1.
Ich bin mir nicht sicher, ob ich das so gut gemacht habe,
aber bind kennt somit alle. dhcp3-server lauscht auf br0,
der ist in meinem Fall aber nur für das LAN zuständig. Damit
bind richtig funktioniert, muss ja jeder Client eine eindeutige
IP haben. Da die MAC-Adresse für das tap-Device der Clients
sich aber immer ändert, kann ich das wohl nur mit ifconfig-push
und unterschiedlichen Clientzertifikaten machen. Da ich Zertifikate
von cacert.org verwende, brauch ich noch den ein oder anderen
Assurer, bis ich sehen kann, ob's so funktioniert.
Bei mir ist die bridge und das tap-Device schon in der interfaces
definiert, und bind startet auf jedenfall danach. Das tap-Device
ist also schon da, bevor OpenVPN und bind starten.