OpenVPN, DNS und DHCP

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
mase76
Beiträge: 1353
Registriert: 19.06.2004 08:57:32

OpenVPN, DNS und DHCP

Beitrag von mase76 » 27.04.2008 16:48:47

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

Code: Alles auswählen

push "dhcp-option DOMAIN mydomain"
push "dhcp-option DNS 10.0.0.1"
push "redirect-gateway"
eingetragen, doch die Namensauflösung mit VPN funktioniert nicht.
Kann mir jemand helfen?
Zuletzt geändert von mase76 am 29.04.2008 08:23:37, insgesamt 1-mal geändert.

mase76
Beiträge: 1353
Registriert: 19.06.2004 08:57:32

Re: OpenVPN, DNS und DHCP

Beitrag von mase76 » 27.04.2008 17:46:52

Ich hab jetzt mal diese dhcpd.conf probiert:

Code: Alles auswählen

class "openvpn" {
        match if substring (hardware, 1, 2) = 00:FF;
}

authoritative;
ddns-update-style none;

subnet 10.0.0.0 netmask 255.255.255.0 {
        always-broadcast on;
        max-lease-time 3600;
        default-lease-time 1800;
        option domain-name "mydomain";
        option subnet-mask 255.255.255.0;
        option broadcast-address 10.0.0.255;
        option routers 10.0.0.1;

        pool {
                allow members of "openvpn";
                range 10.0.0.10 10.0.0.100;
        }
}



subnet 192.168.0.0 netmask 255.255.255.0 {
        always-broadcast on;
        max-lease-time 3600;
        default-lease-time 1800;
        option domain-name "mydomain";
        option subnet-mask 255.255.255.0;
        option routers 192.168.0.1;

        pool {
                deny members of "openvpn";
                range 192.168.0.10 192.168.0.100;
        }
}
Aber ein dhclient tap0 erhält keine IP-Adresse.
Zuletzt geändert von mase76 am 29.04.2008 08:22:26, insgesamt 1-mal geändert.

mase76
Beiträge: 1353
Registriert: 19.06.2004 08:57:32

Re: OpenVPN, DNS und DHCP

Beitrag von mase76 » 28.04.2008 19:18:50

Ich hab ein Roadwarrior-Setup hingekriegt!
Doch 3 Probleme hab ich noch:
Obwohl ich in der Clientconfig resolv-retry infinite angegeben habe,
muss ich openvpn auf dem Clienten immer wieder neu starten, wenn
ich das Netz wechsele. Z. B. hab ich eine VPN-Verbindung in meinem
WLAN. Jetzt schalt ich an meinem Notebook das WLAN aus. Dann
connecte ich über ein BT-Handy. Die Verbindung kommt nicht wieder.
Host unreachable. Wenn ich ein openvpn restart mache, dann ist
die Verbindung da.
Ein weiteres Problem wäre die IP-Vergabe via DHCP. Ich will erreichen,
dass jeder Client eine IP reserviert bekommt. Momentan lass ich noch
den VPN-Server die IPs vergeben, will aber auf meinen DHCP3-Server
umstellen. Doch wie soll ich eine Reservierung machen? Die MAC von
tap0 ändert sich ja nach jedem Restart des VPN-Clienten. Und damit
der Nameserver richtig funktioniert, muss die IP immer dieselbe sein.
Dann hab ich das Problem, dass der Client vom Fremdnetz via DHCP
einen DNS-Server bekommt. Ich will aber, dass mein eigener auf dem
Server (bind9) verwendet wird.
Ich hab die Optionen

Code: Alles auswählen

push "DOMAIN mydomain.dyndns.org" #ich weiss nicht, ob der nötig ist
push "dhcp-option DNS 192.168.0.1" #das ist die lokale IP meines Servers
in die server.conf eingetragen. Das Zeigt aber keine Wirkung. Trage ich
nach Aufbau der Verbindung 192.168.0.1 in die resolv.conf ein, dann
geht es. Das soll aber automatisch gehen.
Weiss jemand Rat?

reox
Beiträge: 2559
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: OpenVPN, DNS und DHCP

Beitrag von reox » 28.04.2008 21:29:11

Mh also mit der Domain solltest du net brauchen, wüsste jetzt nicht wozu.
Ob das so mit dem DNS geht, weiß ich jetzt grad net, ich hab das gleiche bei mir drin stehen und es geht immer irgendwie, bin mir aber nie sicher ob der jetzt wirklich den DNS verwendet.
irgendwie bin ich mir net wirklich sicher ob man für das DNS zeugs nicht noch was anderes machen muss...

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: OpenVPN, DNS und DHCP

Beitrag von Danielx » 28.04.2008 21:33:18

mase76 hat geschrieben:Ich hab die Optionen

Code: Alles auswählen

push "DOMAIN mydomain.dyndns.org" #ich weiss nicht, ob der nötig ist
push "dhcp-option DNS 192.168.0.1" #das ist die lokale IP meines Servers
in die server.conf eingetragen. Das Zeigt aber keine Wirkung. Trage ich
nach Aufbau der Verbindung 192.168.0.1 in die resolv.conf ein, dann
geht es. Das soll aber automatisch gehen.
Weiss jemand Rat?
"dhcp-option DNS" wird nur von Windows-Clients beachtet und hat also bei Linux-Clients erstmal keine Wirkung!

Näheres findest du dazu hier in einem Beitrag von mir (beachte auch den Hinweis, dass es unter Lenny schon ein entsprechendes Skript gibt):
https://www.debianforum.de/forum/viewto ... 70#p590370

Gruß,
Daniel

mase76
Beiträge: 1353
Registriert: 19.06.2004 08:57:32

Re: OpenVPN, DNS und DHCP

Beitrag von mase76 » 28.04.2008 22:33:49

Ich brauch also ein Script, dass mir die resolv.conf austauscht?
Und DHCP Reservierungen? Ist das möglich?

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: OpenVPN, DNS und DHCP

Beitrag von Danielx » 28.04.2008 23:13:43

mase76 hat geschrieben:Ich brauch also ein Script, dass mir die resolv.conf austauscht?
Jein, wenn du das genannte Skript aus Lenny benutzt, dann läuft das über das Programm resolvconf welches die Nameserver-Informationen (letztendlich über die Datei resolv.conf) verwaltet.

Gruß,
Daniel

mase76
Beiträge: 1353
Registriert: 19.06.2004 08:57:32

Re: OpenVPN, DNS und DHCP

Beitrag von mase76 » 29.04.2008 17:49:31

Das Script in Lenny funktioniert wunderbar.
Ich sitze schon den ganzen Mittag an der Automatisierung:
Ich habe in meinem Notebook 2 Interfaces.
eth0 = Kabel
eth1 = WLAN
Zum Einrichten verwende ich ifplugd, guessnet und Roaming mit wpa-supplicant.
In /etc/default/openvpn hab ich das ALL auskommentiert.
Meine /etc/network/interfaces sieht jetzt so aus:

Code: Alles auswählen

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet manual
post-up ifup tun-default
pre-down ifdown tun-default
wpa-driver wired
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
wpa-roam-default-iface default-wparoam
wpa-mapping-script guessnet-ifupdown
wpa-map default: default-guessnet
wpa-map0 inyourface-cable

allow-hotplug eth1
iface eth1 inet manual
wpa-driver wext
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
wpa-roam-default-iface default-wparoam
wpa-mapping-script guessnet-ifupdown
wpa-map default: default-guessnet
wpa-map0 inyourface1
wpa-map1 inyourface2
post-up /sbin/ifup tun-default
pre-down /sbin/ifdown tun-default
Dann kommen ein paar iface-tests.
Dann geht es so weiter:

Code: Alles auswählen

auto tun-default
iface tun-default inet manual
openvpn client
ifup tun-default und ifdown tun-default funktionieren.
Nur wird das post-up / pre-down von eth0 und eth1
ignoriert.
Wenn ifplugd den link-lost von eth1 erkennt, wird
ifdown eth1 ausgeführt. Openvpn läuft dann aber
immernoch weiter und findet natürlich nichts mehr.
Ich will eigentlich nur, dass openvpn gestartet wird,
wenn eth0 oder eth1 Verbindung hat, bzw. stoppen,
wenn keine Verbindung mehr da ist.
Ich hab's auch schon innerhalb der iface-tests probiert,
ging aber auch nicht.
Und was kann ich mit DHCP-Reservierungen machen?
MAC-Spoofing für tap0 vielleicht?

mase76
Beiträge: 1353
Registriert: 19.06.2004 08:57:32

Re: OpenVPN, DNS und DHCP

Beitrag von mase76 » 30.04.2008 18:24:16

Das scheint mit dhcp3 nicht zu gehen.
Da muss ich wohl das ifconfig-push von VPN benutzen.
Ich hab jetzt festgestellt, dass das post-up in meiner
interfaces gemacht wird. Doch das pre-down macht er nicht.

mase76
Beiträge: 1353
Registriert: 19.06.2004 08:57:32

Re: OpenVPN, DNS und DHCP

Beitrag von mase76 » 30.04.2008 19:19:32

Jetzt hat sich schon wieder ein Problem eingestellt.
Ich verwende in meinem Heimnetz den Adressbereich
192.168.0.2 - 100
VPN vergibt 192.168.0.101 - 254
Wenn ich in meinem Heimnetzt bin, will ich trotzdem
über VPN zugreifen. Der Client macht das aber nicht
über tap0, sondern über eth1.
Von aussen kein Problem.
Das ist meine Route, die default ist über eth1, muss
doch dann tap0 sein:

Code: Alles auswählen

Ziel            Router          Genmask         Flags Metric Ref    Use Iface
192.168.0.0     server.mydomai 255.255.255.0   UG    0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     0      0        0 tap0
default         server.mydomai 0.0.0.0         UG    0      0        0 eth1
Was kann ich da machen?

dgruhn
Beiträge: 3
Registriert: 30.04.2008 21:53:42
Wohnort: Merzig

Re: OpenVPN, DNS und DHCP

Beitrag von dgruhn » 30.04.2008 22:04:22

Hallo,

tut mir leid wenn ich hier so reinplatzt, ich kann dir bei der Lösung deines Problems leider nicht helfen, du mir aber evtl. bei meinem.

Probier vergebens meinem tap0 device des clients eine ip-adresse von meinem dhcp server (welcher nach erfolgreicher Einwahl ja erreichar sein sollte) zukommen zu lassen. In einem anderen Forum habe ich den Tip mit dhcpcd bekommen. Der Befehl dhcpcd tap0 bringt leider keine ip?

Möchte auch eine Roadwarrior Konfiguration erreichen.

Auf welchem Weg hast du das denn hinbekommen.

Für Hilfe wäre ich sehr dankbar.


Gruß Dominique

mase76
Beiträge: 1353
Registriert: 19.06.2004 08:57:32

Re: OpenVPN, DNS und DHCP

Beitrag von mase76 » 01.05.2008 01:02:40

Soll ich meine gesamte Konfiguration posten, oder was geht bei dir nicht?
Bei mir erhalten nur die eth-Devices eine IP vom dhcp3-server.
Die tap-Devices erhalten momentan ihre IP von openvpn.
Ich versuche noch, eine IP-Reservierung zu realisieren. Da ich Zertifikate
von CaCert.org benutze, brauch ich aber Punkte vom WoT, um
Clientzertifikate mit unterschiedlichem Common Name zu erstellen.
Anscheinend kann ich nur so die Clients auseinanderhalten, und damit
reservierte Ips verteilen. Die ersten Assurer-Treffen stehen in den nächsten
Tagen an. Sobald ich ein paar Punkte habe, kann ich das richtig angehen.
Momentan hab ich halt nur das Problem mit den NFS-Freigaben vom
Server. Feigegeben ist für *.mydomain.dyndns.org.
Der dhcp3-server vergibt für eth die Range 192.168.0.2 - 100.
Openvpn vergibt 192.168.0.101-254. Da ich zukünftig nur noch über VPN
in mein Netzwerk will (auch zu Hause), hat mein Nameserver (bind9) nur
noch die Einträge vom VPN (also 101 - 254). Von aussen hab ich Zugriff
auf NFS, da ich über tap0 gehe. Zu Hause geht dr Client aber über eth1.
Da dafür kein Eintrag in bind9 ist, ist der Host für den Server unbekannt,
und der Zugriff wird verweigert. Wenn ich nun erreichen könnte, dass
der Client (egal ob zu Hause oder von aussen) immer über tap0 geht,
wäre dieses Problem gelöst. Ich will nämlich nicht mit 2 verschiedenen
Hostnamen für den Clienten arbeiten. Und ein gleicher Name für 2 IPs
geht beim Nameserver ja nicht. Stellt sich nur noch die Frage, ob keine
grossartigen Geschwindigkeitseinbrüche durch VPN zu Hause entstehen,
sodas Online-Spiele auch noch problemlost laufen.
Eine Möglichkeit wäre wahrscheinlich, auf dem Clienten eine Bridge zwischen
tap 0 und eth1 zu konfigurieren. Mein Notebook hat aber auch noch eine
zweite Netzwerkkarte mit Kabel. Dann müsste bei einem Link-up die Bridge
vom WLAN getrennt werden, und mit dem Kabel aufgebaut werden.
Problematisch wird's aber dann, wenn ich über Bluetooth oder USB mit
einem Handy als Modem verbinde. Dann müssten beide Netzwerkkarten von
der Bridge getrennt werden, und das handy verbunden werden.
Es müsste aber doch eine Möglichkeit über die Route geben. Der Server
kann diese Informationen doch bestimmt liefern. Oder durch ein post-up in
der /etc/network/interfaces.

dgruhn
Beiträge: 3
Registriert: 30.04.2008 21:53:42
Wohnort: Merzig

Re: OpenVPN, DNS und DHCP

Beitrag von dgruhn » 02.05.2008 10:49:51

Hallo,

Danke für die Antwort.

dachte du würdest di eip-Adressen von einem Dhcp hinter dem openvpn-Server beziehen. Ich schaffs nicht, dem Client sprich dem tap0 device eine ip-Adresse zukommen zu lassen....


Werd wohl besser ein neues posting für mein Problem aufmachen.

Trotzdem Danke



Gruß Dominique

mase76
Beiträge: 1353
Registriert: 19.06.2004 08:57:32

Re: OpenVPN, DNS und DHCP

Beitrag von mase76 » 02.05.2008 11:28:24

Guck mal in der /etc/default/dhcp3-server.
So ein Problem hatte ich auch. Da musst du dann als interface tap0 eintragen.
Zumindest wenn du es so wie ich, mit einer Bridge von eth1 auf tap0 gemacht hast.

dgruhn
Beiträge: 3
Registriert: 30.04.2008 21:53:42
Wohnort: Merzig

Re: OpenVPN, DNS und DHCP

Beitrag von dgruhn » 02.05.2008 22:14:51

Hab ne Lösung für mich gefunden:

durch den Eintrag:

ifconfig ip-client 255.255.255.0

in der client config wird diese ip an das tap device übergeben und dann funktioniert auch die Verbindung. Wie das mit dem dhcp funktioniert habe ich nicht rausgefunden. Mir genügt diese Lösung allerdings auch.


Nachmals Danke für die Hilfe.


Gruß Dominique

Antworten