OpenVPN (Bridge) Problem - Server nach Bridge nicht mehr erreichbar

Aruca

Registered User
Hallo zusammen,

ich würde gerne mithilfe OpenVPN ein VPN einrichten, in dem Windows 7 und diverse Ubuntu Clients gegenseitig auf Samba Freigaben zugreifen können, die Windows 7 Clients untereinander über eine Windows 7 Homegroup verbunden sind und LAN Spiele möglich sind. Als Server soll ein Ubuntu 10.04 bei hetzner dienen.

Dazu habe ich mir nun mal die Tutorials von openvpn.net zu Gemüte geführt und soweit ich das verstanden habe, sollte ich für die oben genannten Zwecke eine Bridge und kein Routing verwenden. Bei ersten Tests noch mit Routing (dev tun) nach http://openvpn.net/index.php/open-source/documentation/howto.html war ich auch schon erfolgreich; also ich hab OpenVPN schon so weit am laufen, dass sich da ein Testclient korrekt verbinden kann. Ich brauche aber ja wohl eine Bridge (dev tap) und verstehe jetzt leider nicht wirklich, wie ich das Bridge Tutorial (http://openvpn.net/index.php/open-source/documentation/miscellaneous/76-ethernet-bridging.html) auf meinen Server anwende...
Ich habe ja nur ein Interface (eth0) und das ist nicht privat sondern das WAN was mit der Server IP konfiguriert ist. Mein erster Gedanke/Versuch war, eben ein zusätzliches privates Interface wie folgt zu erstellen:
Code:
 auto eth0:1
 iface eth0:1 inet static
  address   5.5.5.1
  network   5.5.5.0
  broadcast 5.5.5.255
  netmask   255.255.255.0
Nachdem dann mein Server lokal auch auf Pings an die 5.5.5.1 gehört hat, habe ich dann die Werte entsprechend in das bridge-start Script aus dem Tutorial eingetragen. Sobald ich aber die Bridge starte, ist mein Server nicht mehr erreichbar und es hilft nur noch ein Reboot mittels des hetzner Robots.

Ich gehe also mal davon aus, dass ich irgendwie grundlegend falsch an die Sache herangehe und das ganze anders lösen müsste. Da ich aber nicht wirklich hilfreiche weitere Tutorials gefunden habe, wäre ich da für Tipps oder gute Links zu anderen Tutorials gerade sehr dankbar!

MfG
Aruca
 
Hmm, keine Ahnung :(
Ich bin in meinem Versuch erst mal stur nach Anleitung vorgegangen (außer dass ich mir oben genanntes zusätzliches Interface eth0:1 erstellt habe).

Also bridge-utils installiert und dann versucht die Bridge mit folgendem angepassten Script zu starten:
Code:
#!/bin/bash

#################################
# Set up Ethernet bridge on Linux
# Requires: bridge-utils
#################################

# Define Bridge Interface
br="br0"

# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"

# Define physical ethernet interface to be bridged
# with TAP interface(s) above.
eth="eth0:1"
eth_ip="5.5.5.1"
eth_netmask="255.255.255.0"
eth_broadcast="5.5.5.255"

for t in $tap; do
    openvpn --mktun --dev $t
done

brctl addbr $br
brctl addif $br $eth

for t in $tap; do
    brctl addif $br $t
done

for t in $tap; do
    ifconfig $t 0.0.0.0 promisc up
done

ifconfig $eth 0.0.0.0 promisc up

ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast

Resultat war wie gesagt sofortige Unerreichbarkeit meines Servers; was es mir auch unmöglich macht zu sehen, wie ifconfig jetzt aussehen würde. Und ich habe auch wirklich keine Ahnung, wie ich für meinen Fall dieses Bridge-Start-Script anpassen müsste oder ob ich derzeit total auf dem Holzweg bin und ich das ganz anders machen sollte...
 
Nimm die Anleitung von ubuntu, die funktioniert :)

Hi, da hatte ich natürlich noch nicht nachgeschaut aber sieht vielversprechend aus. Also ich gehe mal davon aus, du meinst https://help.ubuntu.com/10.04/serverguide/C/openvpn.html und https://help.ubuntu.com/10.04/serverguide/C/network-configuration.html#bridging. Hoffentlich komme ich morgen auch wieder dazu, etwas herumzuprobieren und dann mal sehen, wie weit ich mit den Anleitungen komme.
Allerdings stellt sich mir beim ersten Durchlesen wieder die Frage, wie und mit welchen IPs ich die Bridge und dementsprechend die
Code:
server-bridge [...]
und
Code:
push "route [...]"
konfigurieren muss.

Derzeit habe ich ja nur eine WAN IP 78.46.x.x auf dem Server konfiguriert und möchte nun aber, dass das VPN ein eigenes Subnet 5.5.5.1/24 bekommt. Zudem wäre es glaube ich ja auch gar nicht möglich, dass die Clients IPs aus dem hetzner Netz, in dem der Server mit seiner 78.46.x.x steht, zugewiesen bekommen... oder habe ich da schon wieder einen Denkfehler?
Also wenn mir jemand mit der IP Konfiguration, die ich in meinem Fall brauche, Hilfestellung leisten könnte, wäre das sehr nett. Ansonsten probier ich mal etwas rum und poste dann Ergebnisse ;-)

Vielen Dank im voraus.
 
Oh man... so wirklich kapier ich es nicht.

Erst mal die Teile um die es geht, aus meiner OpenVPN Server .conf:
Code:
dev tap0
up "/etc/openvpn/up.sh br0"
down "/etc/openvpn/down.sh br0"
server-bridge 5.5.5.1 255.255.255.0 5.5.5.10 5.5.5.99
push "route 5.5.5.1 255.255.255.0"
Die up und down Skripte sind die aus der Ubuntu Anleitung von oben. So, wenn ich jetzt "manuell" eine einfache bridge wie folgt einrichte:
Code:
brctl addbr br0
ifconfig br0 5.5.5.1 netmask 255.255.255.0 up
dann kann ich mich mit einem Testclient verbinden und Client und Server können sich gegenseitig pingen. Ob Samba-Shares und W7 Homegroup gehen würde, weiß ich nicht. Internet Zugriff ist aber wohl definitv nicht möglich, was etwas schade ist, da das auch manchmal praktisch wäre.
Meine ifconfig in dem Moment sieht übrigens so aus:
Code:
br0       Link encap:Ethernet  HWaddr -:-:-:-:-:-  
          inet addr:5.5.5.1  Bcast:5.5.5.255  Mask:255.255.255.0
          inet6 addr: -::-:-:-:-/- Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:235200 (235.2 KB)  TX bytes:1282 (1.2 KB)

eth0      Link encap:Ethernet  HWaddr -:-:-:-:-:-  
          inet addr:78.46.---.---  Bcast:78.46.---.---  Mask:255.255.255.224
          inet6 addr: -::-:-:-:-/- Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:86924 errors:0 dropped:0 overruns:0 frame:0
          TX packets:84026 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12983805 (12.9 MB)  TX bytes:12118406 (12.1 MB)
          Interrupt:25 Base address:0xa000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2510 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2510 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:377350 (377.3 KB)  TX bytes:377350 (377.3 KB)

tap0      Link encap:Ethernet  HWaddr -:-:-:-:-:-  
          inet6 addr: -::-:-:-:-/- Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:248178 (248.1 KB)  TX bytes:1282 (1.2 KB)

Ich gehe mal davon aus, dass Internet wegen falschen/fehlenden Gateway nicht funktioniert.
Wenn ich nun versuche, die Bridge permanent über meine interfaces Datei einzurichten, dann ist nach einem networking restart nach wie vor leider sofort der Server nicht mehr erreichbar. Versucht habe ich das wie folgt:
Code:
### Hetzner Online AG - installimage
# Loopback device:
auto lo
iface lo inet loopback

# device: eth0
auto  eth0
iface eth0 inet static
  address   78.46.xxx.xxx
  broadcast 78.46.yyy.yyy
  netmask   255.255.255.224
  gateway   78.46.zzz.zzz

# bridge: br0
auto br0
iface br0 inet static
        address 5.5.5.1
        network 5.5.5.0
        netmask 255.255.255.0
        broadcast 5.5.5.255
        gateway ???
        bridge_ports eth0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off


# default route to access subnet
up route add -net 78.46.hhh.hhh netmask 255.255.255.224 gw 78.46.zzz.zzz eth0

Da ich das Problem nun bei dem Gateway vermutet hatte, habe ich hier den aktuellen default Gateway, die Server IP und komplett ohne Gateway porbiert; leider alles ohne Erfolg. Den letzten "up route" Eintrag verstehe ich leider auch nicht wirklich und weiß nicht, ob ich den anpassen müsste...
Hat da jemand eine Idee, wie ich das in der interfaces Datei einstellen kann, dass ich nicht jedes mal ein Script a la "brctl addbr" ausführen muss und zusätzlich über das VPN auch Internetzugriff habe?

Schon mal wieder vielen Dank!

Grüße
Aruca
 
Hi Aruca!

Mich würde interessieren, wie du das Problem denn gelöst hast.
Soweit ich das verstanden habe, musstest du
Code:
server-bridge 5.5.5.1 255.255.255.0 5.5.5.10 5.5.5.99
in
Code:
server 5.5.5.1 255.255.255.0 5.5.5.10 5.5.5.99
umschreiben und
Code:
push "route 5.5.5.1 255.255.255.0"
ganz von der server.conf rausgenommen?!

Und was hast du hiermit
Code:
# bridge: br0
auto br0
iface br0 inet static
        address 5.5.5.1
        network 5.5.5.0
        netmask 255.255.255.0
        broadcast 5.5.5.255
        gateway ???
        bridge_ports eth0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off


# default route to access subnet
up route add -net 78.46.hhh.hhh netmask 255.255.255.224 gw 78.46.zzz.zzz eth0
entgültig gemacht?

Wäre nett wenn du oder jemand, der es weiß, antworten könnte.
Schonmal Danke!

Gruß Appili

edit: habe nach langem Suchen endlich was passendes zu meinem Fall gefunden:
https://help.ubuntu.com/11.10/serverguide/openvpn.html unter "Advanced bridged VPN configuration on server"
damit hat es funktioniert... trotzdem danke!
 
Last edited by a moderator:
Back
Top