OpenVPN, vmware und ARP

08/02/2014 - 10:52 von Stefan+Usenet | Report spam
Ein lokales Netz, ein VMware-Server mit mehreren virtuellen Maschinen,
darunter eine, die openvpn enthaelt und Bridging macht. Die Konfiguration
als solche duerfte ganz passabel sein, denn ich kann den fernen (Windows-)
Rechner verbinden, alle virtuellen Server erreichen und der gesamte Traffic
wird dank "redirect-gateway" ueber das lokale Netz geleitet.

Was NICHT klappt ist die Verbindung zu reallen (nicht VMware-) Hosts im
lokalen Netzwerk. Naehere Analyse zeigt, es liegt wohl an den ARP-Replies,
die zwar an den VPN-Host geschickt, von dem aber nicht mehr an den fernen
Rechner weitergeleitet werden.

Jeweils ein Ping auf einen virtuellen und einen physischen Host ergibt auf
tap0 bzw. auf br0:

| root@vpn:~# tcpdump -i tap0 arp and host vpn01
| tcpdump: WARNING: tap0: no IPv4 address assigned
| tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
| listening on tap0, link-type EN10MB (Ethernet), capture size 65535 bytes
| 11:40:10.535748 ARP, Request who-has lanhost1.intern tell vpn01.intern, length 28
| 11:40:10.536247 ARP, Request who-has lanhost1.intern tell vpn01.intern, length 46
| [more of the same]
| 11:40:21.219887 ARP, Request who-has lanhost1.intern tell vpn01.intern, length 28
| 11:40:21.220042 ARP, Request who-has lanhost1.intern tell vpn01.intern, length 46
| 11:40:28.279701 ARP, Request who-has vhost1.intern tell vpn01.intern, length 28
| 11:40:28.280091 ARP, Reply vhost1.intern is-at 00:0c:29:dd:67:20 (oui Unknown), length 46
| 11:40:28.280098 ARP, Request who-has vhost1.intern tell vpn01.intern, length 46
| 11:40:33.309777 ARP, Request who-has vpn01.intern tell vhost1.intern, length 46
| 11:40:34.313523 ARP, Request who-has vpn01.intern tell vhost1.intern, length 46
| 11:40:34.373456 ARP, Reply vpn01.intern is-at 00:ff:91:07:e5:af (oui Unknown), length 28
| 11:40:34.377934 ARP, Reply vpn01.intern is-at 00:ff:91:07:e5:af (oui Unknown), length 28
|
| root@vpn:~# tcpdump -i br0 arp and host vpn01
| tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
| listening on br0, link-type EN10MB (Ethernet), capture size 65535 bytes
| 11:40:10.535758 ARP, Request who-has lanhost1.intern tell vpn01.intern, length 28
| 11:40:10.536252 ARP, Request who-has lanhost1.intern tell vpn01.intern, length 46
| 11:40:10.536653 ARP, Reply lanhost1.intern is-at 00:24:81:e6:da:0f (oui Unknown), length 46
| [more of the same]
| 11:40:21.219897 ARP, Request who-has lanhost1.intern tell vpn01.intern, length 28
| 11:40:21.220046 ARP, Request who-has lanhost1.intern tell vpn01.intern, length 46
| 11:40:21.220416 ARP, Reply lanhost1.intern is-at 00:24:81:e6:da:0f (oui Unknown), length 46
| 11:40:28.279713 ARP, Request who-has vhost1.intern tell vpn01.intern, length 28
| 11:40:28.280095 ARP, Reply vhost1.intern is-at 00:0c:29:dd:67:20 (oui Unknown), length 46
| 11:40:28.280099 ARP, Request who-has vhost1.intern tell vpn01.intern, length 46
| 11:40:33.309783 ARP, Request who-has vpn01.intern tell vhost1.intern, length 46
| 11:40:34.313531 ARP, Request who-has vpn01.intern tell vhost1.intern, length 46
| 11:40:34.373465 ARP, Reply vpn01.intern is-at 00:ff:91:07:e5:af (oui Unknown), length 28
| 11:40:34.377942 ARP, Reply vpn01.intern is-at 00:ff:91:07:e5:af (oui Unknown), length 28

Der openvpn-Host erhaelt also durchaus alle ARPs, leitet aber nur die
virutellen an den fernen Host weiter. Das sonstige Setup ist - soweit ich
beurteilen kann - unauffaellig, insbesondere keine iptables oder
dergleichen. Promiscuous mode am VMware-Server ist aktiviert (das
herauszufinden hat mich alleine 3 Stunden gekostet) und hat die
grundlegende Funktionalitaet hergestellt, bis eben auf das geschilderte
Problem.
<http://serverfault.com/questions/33...g-mode>
beschreibt wohl das gleiche, nur dummerweise ohne passende Loesung.

Und dummerweise weiss ich noch nicht einmal, ob nun openvpn (erscheint mir
unwahrscheinlich), der vpn-Host (erscheint mir moeglich)
unwahrscheinlich) oder die vmware (erscheint mir ebenfalls moeglich) daran
schuld ist.

(Konfigurationen bei Bedarf natuerlich verfuegbar, ohne Eingrenzung des
Spielfelds wird das aber ein bisschen zu viel, um es hier abzukippen)

Servus,
Stefan

http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stefan: Der Traum vom großen Glück.
(Sloganizer)
 

Lesen sie die antworten

#1 Kay Martinen
09/02/2014 - 09:37 | Warnen spam
Am 08.02.2014 10:52, schrieb Stefan Froehlich:
Was NICHT klappt ist die Verbindung zu reallen (nicht VMware-) Hosts im
lokalen Netzwerk. Naehere Analyse zeigt, es liegt wohl an den ARP-Replies,
die zwar an den VPN-Host geschickt, von dem aber nicht mehr an den fernen
Rechner weitergeleitet werden.

Der openvpn-Host erhaelt also durchaus alle ARPs, leitet aber nur die
virutellen an den fernen Host weiter. Das sonstige Setup ist - soweit ich



Kann es sein das du auf beiden Seiten den gleichen IP-Adressbereich
verwendest?

Dann brauchst du evtl. Proxy-ARP an beiden VPN-Gateways, würde ich
meinen. Siehe hier:
http://de.wikipedia.org/wiki/Addres...#Proxy_ARP

Ich bin nicht sicher ob das in deinem Setup auch hilft, aber ich
erinnere mich an ein gleichartiges Problem wenn man Netze per PPP
koppelt. Dort muss der Gateway-rechner seine eigene MAC eintragen für
jede IP der Gegenseite. So beantwortet er arp-anfragen selbst, und die
Kommunikation mit der Gegenseite klappt dann auch.

Vielleicht hilft es.

Kay

Ähnliche fragen