openVPN: Bridging Clientseitig

Artimis

Registered User
Hallo ihrs!

Ich stehe irgendwie voll auf dem Schlauch.

Zunächst mein Vorhaben:
Ich habe einen Server, den ich als zentralen Server für openVPN nutzen möchte.
Nun habe ich mindestens ein Netzwerk und ein paar einzelne Clients. Diese sollen sich beim Server einwählen können und ein gesamtes privates Netzwerk vorfinden.
vpn.jpg

Nochmal in Zahlen:
Netzwerk 1:
Code:
openVPN-CLIENT: 192.168.0.10
Netzwerk: 192.168.0.0
Subnetz: 255.255.255.0
Gateway: 192.168.0.1
Für den Bridging-Client nutze ich übrigens einen NSLU2.

Nun habe ich folgendes probiert:
Server:
Code:
mode server
tls-server
local <meine Server-IP>
user openvpn
group openvpn
port 51920
proto udp
dev tap
ifconfig 192.168.0.254 255.255.255.0
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
tls-auth /etc/openvpn/easy-rsa/keys/192.168.0.x.static 0
dh /etc/openvpn/easy-rsa/keys/dh4096.pem
comp-lzo
cipher AES-256-CBC
keepalive 10 120
client-to-client
Bridging Client:
Code:
client
remote <meine Server-IP> 51920
nobind
dev tap
ifconfig 192.168.0.10 255.255.255.0
ca /opt/etc/openvpn/ca.crt
cert /opt/etc/openvpn/nslu2.crt
key /opt/etc/openvpn/nslu2.key
tls-auth /opt/etc/openvpn/192.168.0.x.static 1
remote-cert-tls server
comp-lzo
cipher AES-256-CBC
Nun stoße ich schon bei der Verbindungsherstellung auf ein für mich unüberwindbares Hindernis:
Während es auf anderen Clients mit identischer (bis auf die Pfade) Config funktioniert, spuckt der NSLU2 folgendes aus (und das ziemlich schnell und viel!):
Code:
[...]Sat May 25 16:45:02 2030 TLS Error: Unroutable control packet received from <meine Server-IP>:51920 (si=3 op=P_CONTROL_V1)
Sat May 25 16:45:02 2030 TLS Error: Unroutable control packet received from <meine Server-IP>:51920 (si=3 op=P_CONTROL_V1)
Sat May 25 16:45:02 2030 TLS Error: Unroutable control packet received from <meine Server-IP>:51920 (si=3 op=P_CONTROL_V1)
Sat May 25 16:45:02 2030 TLS Error: Unroutable control packet received from <meine Server-IP>:51920 (si=3 op=P_CONTROL_V1)
Sat May 25 16:45:02 2030 TLS Error: Unroutable control packet received from <meine Server-IP>:51920 (si=3 op=P_ACK_V1)[...]
Der Server sagt nur gaaaanz oft:
Code:
Tue May 25 19:11:22 2010 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Außerdem kriege ich einfach keine Netzwerkbrücke angelegt.
Ich habe mich einfach mal anhand von http://www.linuxforen.de/forums/showpost.php?p=1339454&postcount=6 orientiert, es wird jedoch nichts gemacht außer sämtliche Verbindungen zu schrotten.
Ich habe den stdout vom Script mal umgeleitet:
Code:
Sat May 25 16:49:33 2030 Note: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)
Sat May 25 16:49:33 2030 Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Sat May 25 16:49:33 2030 Cannot allocate TUN/TAP dev dynamically
Sat May 25 16:49:33 2030 Exiting
Sat May 25 16:49:33 2030 Note: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)
Sat May 25 16:49:33 2030 Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Sat May 25 16:49:33 2030 Cannot open TUN/TAP dev /dev/tap0: No such file or directory (errno=2)
Sat May 25 16:49:33 2030 Exiting
Das /dev/net/tap-Device existiert jedoch:
Code:
crw-------    1 root     root      10, 200 May 25  2010 /dev/net/tun
Ich bin echt voll fertig...
Ich hoffe, jemand kann mir helfen.

Vielen Dank und liebe Grüße!
 
Last edited by a moderator:
Schlicht wegen der begrenzten Ressourcen.

1) Der NSLU2 ist eig. ein NAS-Terminal für USB-Platten. Der hat nicht sooo die Leistung. Und für einen 150W-Rechner für VPN bin ich zu geizig, der NSLU2 schluckt max. 20W.

2) Die Bandbreite ist auch entscheidend. Da nachher mehrere netzwerke eingehängt werden sollen (Vater, Mutter, Freundin) und da ab und an auch ordentlich Daten fließen können sollen, benötige ich ja nicht nur ohnehin einen zentralen Server, sondern der sollte auch gut angebunden sein.
 
Hm warum nicht so ein Setup:

Fritzbox als Defaultgw mit den Routen ins VPN auf den Server und den Server mit Ip Forwarding ausgerüstet und via Pushroutes alles an die Clients verteilt. Dafür brauchste nicht viel Rechenleistung und es birgt meiner Meinung nach weniger Probleme und du hast die Broadcasts der Netze nur jeweils daheim und nicht aufm Server.
 
Die Lösung hat zwei Probleme:

Habe ich nicht und die günstigste kostet eben 100 Tacken. Außerdem mag ich sie nicht. Mit meinen Allnet-Geräten und dem WRT54GL kann man viel mehr machen. :D

und du hast die Broadcasts der Netze nur jeweils daheim und nicht aufm Server
Da u.a. Netbios und Spiele, die per Broadcast die Hosts zusammensuchen die Hauptanwendungen sind, gaaaanz schlecht ;)


Ich verstehe das nicht. Es müsste doch eig. alles laufen.
Ich habe die Config mittlerweise bei 3 Clients ausprobiert. Alle laufen einwandfrei damit. Und eine Netzwerkbrücke sollte doch auch nicht das Ding sein. Ich kenne mich nun bei Linux damit nicht aus, aber unter Wind00f geht das immerhin mit einem Ziehen und zwei Klicks. Das sollte doch machbar sein.
 
Ich denke du flushed dir irgendwie das Standardgateway raus und dadurch kommen die Pakete nicht mehr an bzw. nicht mehr zurück. Netzwerkbrücken und VPN finde ich einfach ne sehr sehr unsaubere Sache ;)
 
Ich denke du flushed dir irgendwie das Standardgateway raus
Naja, das taste ich ja eig. gar nicht an. Die einzigen Pakete, die das Netz wechseln, sind ja die ins Internet. Im VPN ist ja alles im selben Netz. Das Standardgateway soll nach wie vor der Router des jeweiligen "Unternetzes" sein, DHCP wird nicht verwendet.
 
Wie gibst du eigentlich dem VPN Server eine IP? Normalerweise setzt man das mit:
Server:
ifconfig lanserverip lanclientip
ifconfig 10.10.0.1 10.10.0.2

Client:
ifconfig lanclientip lanserverip
ifconfig 10.10.0.2 10.10.0.1
 
Bei reinen P2P schon, ja.
Da aber mehrere Clients unterstützt werden, sieht das anders aus:

Server:
Code:
ifconfig 192.168.0.10 255.255.255.0
Client:
Code:
ifconfig 192.168.0.254 255.255.255.0
So funktioniert es auch mit allen Geräten außer meinem NSLU2.
ich fürchte, ich werde ihn kicken müssen. :(
Nur: Woher nehme ich dann einen kostengünstigen openVPN-Client?
 
Leider nicht. Es werden nur einfache Netgear-, DLink- und sogar Telekom-Geräte eingesetzt. Da ist absolut nichts zu machen.



Hmm, beim Rumspielen stoße ich immer wieder auf Dinger wie "Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)". Der Witz dabei ist: Zum einen existiert das Device, "ls -l /dev/net/tun" vestätigt dies mit einem "crw------- 1 root root 10, 200 May 25 2010 /dev/net/tun", zum zweiten macht der openVPN-Client auch kein Alarm. Nur einmal hat er das Device plötzlich vergessen. Ich gehe fast von einem Fehler beim Device aus. Vielleicht sollte ich statt Unslug das vollwertige Debian ausprobieren. Aber ganz wohl ist mir dabei nicht. Die Kiste hat 29MB RAM. Und meinen USB-Stick die ganze Zeit als Swap zu missbrauchen...
 
"Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)". Der Witz dabei ist: Zum einen existiert das Device, "ls -l /dev/net/tun" vestätigt dies mit einem "crw------- 1 root root 10, 200 May 25 2010 /dev/net/tun"

Du solltest Dir den Unterschied zwischen errno=19 und errno=2 klar machen. Mit Deinem "ls" kannst Du nur letzteren überprüfen.

(siehe auch /usr/include/errno.h, bzw. die davon inkludierten Dateien)
 
Soo, gerade eben habe ich den ersten openVPN mit meinem NSLU2, diesmal mit vollwertigem Debian, unternommen: Es klappt.
Das ist soweit schonmal schön, ich werde mich dann mal ans Bridging wagen.

@LinuxAdmin: Stimmt, da hätte man mal ein Auge draufwerfen können.
Naja, nun ists zu spät, nun ist der Slug platt gemacht. Aber er läuft viel schöner so :)
 
Soo, ich wollte ja Rückmeldung geben, wenn das Ganze läuft.
Ich habe die Lösung nun seit einigen Tagen im Einsatz und bridge inzwischen 3 unterschieldiche Netzwerke (192.168.0.0, 192.168.1.0 und 192.168.2.0) durch das selbe VPN. Mit vollem Erfolg.

Um euch meine Lösung nicht vorzuenthalten:
Hier mein HowTo (Bitte denkt an das (C) ;))

Danke für eure Mühen, es lag wirklich nur an dem ollen abgespeckten System auf meinem Slug. Mit einem vollwertigen Debian läuft alles rund.
 
Back
Top