Hi pulux,
On Wed 14.01.2015 17:28:41, pulux wrote:
ich bin auf der Suche nach einer openvpn Konfiguration mit zwei
openvpn-Servern und n-Clients. Der Datenverkehr soll via client_to_client
erfolgen.
Ich habe eine ähnliche Konfiguration am laufen. Einer meiner Server bei mir
zuhause unterhält eine ständige VPN-Verbindung in das Firmen-Netz eines
meiner Kunden. Jetzt kann ich mich aus meinem Netz zu jedem Host im
entfernten Netz meines Kunden verbinden, und "aus meinem Netz" schließt
auch die Maschinen ein, die via VPN verbunden sind. Das alles funktioniert
auch in der umgekehrten Richtung, also alle Clients des Firmen-Netzes
können auf Ressourcen meines Netzes inkl. der VPN-Clients zugreifen.
Ich habe also, wenn ich VPN-Client zu VPN-Client kommuniziere, drei
VPN-Verbindungen involviert. Dieses Setup hat sich bewährt, auch wenn die
Client to Client - Kommunikation selten benötigt wird.
Ich habe auf dem Firmen-VPN (das via TUN überträgt) folgende Config:
# tun0.conf
server 10.0.1.0 255.255.255.0
ifconfig-pool-persist ip-pool.txt
port 1194
# client-specific config-options
client-config-dir clients-config
# routes advertised by clients
route 172.16.0.0 255.255.255.0
push "route 172.16.0.0 255.255.255.0"
push "route 192.168.142.0 255.255.255.0"
client-to-client
ping 30
ping-restart 120
persist-tun
persist-key
# clients-config/hive.ak-online.be
iroute 172.16.0.0 255.255.255.0
## EOF
Mittels client-config-dir habe ich meinem Server eine zusätzliche
Konfiguration gepusht, und auf dem Firmen-Server internes Routing ergänzt,
sobald der Client (mein Server) online ist.
Mein Server hat auf seiner eigenen Seite noch ein paar Routen gesetzt, die
für alle VPN-Clients des Firmen-Servers gelten (192.168.142.0/24 ist das
Firmen-LAN).
Mein eigenes VPN ist ein TAP-VPN, das am internen (virtuellen) Switch
hängt, und direkt vom DHCP-Server auf IP-Ebene versorgt wird. Damit spare
ich mir eine Menge Konfiguration, denn das Routing funktioniert für alle
lokalen und remote Clients identisch, da mein Server das Standard-Gateway
ist.
Angenommen deine beiden Server stehen in recht zentraler Lage (z.B. zwei
Datacenter des Hosters deiner Wahl) und sollen VPN-technisch sich identisch
"anfühlen", inkl. der vergebenen Client-IP, würde ich die folgende
Konfiguration vorschlagen:
* Leg auf jedem Server eine Bridge an (brctl)
* Konfiguriere auf beiden Servern einen DHCP-Server, der die lokale
Bridge befüttert, und sich mit dem jeweils anderen abspricht, welche
IPs er vergibt (also ein großes Subnet/"statische" IPs via MAC-Adresse,
aber ein Server funktioniert als Fail-Over des anderen
(https://www.madboa.com/geek/dhcp-failover/) )
* Konfiguriere einen Server mit dem VPN (TAP-based) und lasse das
Interface der lokalen Bridge hinzufügen.
* Konfiguriere den anderen Server mit einem VPN-Client der den ersten
Server kontaktiert und einem VPN-Server der analog zum ersten arbeitet.
Dabei sollten beide TAP-Interfaces der lokalen Bridge hinzugefügt
werden.
* Anschließend kannst du die Clients konfigurieren, mit dynamischen IPs
und einem dynamischen DNS kommst du wahrscheinlich am leichtesten, denn
die MAC-Adressen von tun und tap-Interfaces kann man leider nicht auf
einen bestimmten Wert festlegen (AFAIK, es kann sein das es inzwischen geht),
alternativ kann man DHCP natürlich noch über Hostnamen statisch fixieren.
An sich sollte diese Konfiguration recht gut ein zentrales Setup spiegeln,
wo beide VPN-Server an einem internen Netz hängen, das DHCP, DNS und
Routing abnimmt, und beide Server direkt in das interne Netz patchen.
Wenn du noch Fragen hast, immer her damit, ich mag Spielerei mit Netzwerken ;)
Grüße,
Andre
_______________________________________________
Lug-dd maillist - Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd