OpenVPN: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Bomb-at (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Bomb-at (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 41: Zeile 41:
   # cat /etc/conf/bridges
   # cat /etc/conf/bridges


  #bridge_br0="eth0 tap0"
  bridge_br0="eth0 tap0"
  #BRIDGE_INTERFACES=(br0)
  BRIDGE_INTERFACES=(br0)
 
Dann kommt die /etc/rc.conf dran:
 
Erstmal fügen wir bei MODULES= tun und bridge hinzu.
 
Dann kommen die eigentlichen Einstellungen:
 
  eth0="eth0 up"
  tap0="tap0 up"
  br0="br0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255"
  INTERFACES=(lo eth0 br0)
  gateway="default gw 192.168.1.1"
  ROUTES=(gateway)
 
Wir klauen der eth0 (je nach System auch eth1) die IP und geben der br0 die dafür.
 
Somit ist die Brücke fast fertig.
 
Wir müssen nur noch dafür sorgen das tap0 noch angelegt wird. Dafür habe ich ein kleines rc.d-Script gefunden, welches einfach
vor network in der rc.conf kommt.
 
  #!/bin/bash
 
  . /etc/rc.conf
  . /etc/rc.d/functions
 
  case "$1" in
    start)
      stat_busy "Creating tap0 interface"
      /usr/sbin/openvpn --mktun --dev tap0 >/dev/null
      if [ $? -eq 0 ]; then
        stat_done
      else
        stat_fail
      fi
      ;;
    stop)
      stat_busy "Destroying tap0 interface"
      /usr/sbin/openvpn --rmtun --dev tap0 >/dev/null
      stat_done
      ;;
    *)
      echo "usage: $0 {start|stop}"
  esac
  exit 0
 
Dieses einfach unter /etc/rc.d/tap0 speichern, dann chmod 755 auf /etc/rc.d/tap0 und schon funktioniert.


===Benutzen===
===Benutzen===

Version vom 21. Februar 2008, 02:07 Uhr

Da sich hier lange nichts tat, schreibe ich nun ein, hoffentlich ausführliches HowTo. Bomb@

OpenVPN

Ich wollte einfach mal 2 Rechner via Internet verbinden. Über Windows geht das ja relativ easy mit Hamachi. Aber auch unter Linux ist das mit OpenVPN sehr leicht zu realisieren. Als Server läuft ein Archlinux (64bit / Testing). Als Gegenstelle dient ein Windows XP Professional 32bit und ein Gentoo-Linux 32bit. Der Lappy steht im ebenfalls im Lan, dient also nur zur Kontrolle, ob es "theoretisch" geht. Der Gentoo-Root wiederrum steht in Frankfreich und ist Optimal zum testen.

Ich gehe hier auf die "relativ" einfache Einrichtung und Installation einer OpenVPN-Bridge mit Client-to-Client funktion ein.

Installation

Als erstes müssen wir OpenVPN ganz normal installieren.

  # pacman -S openvpn 

Konfiguration

--- Module ---

Als erstes laden wir die nötigen Module

 # modprobe tun bridge

zur Kontrolle

 # lsmod | grep tun; lsmod | grep bridge
  tun                    10368  1
  bridge                 56488  0

--- Bridge ---

So die Bridge ist eigentlich relativ einfach einzurichten.

Bei mir siehts folgendermaßen aus:

 # cat /etc/conf/bridges
  bridge_br0="eth0 tap0"
  BRIDGE_INTERFACES=(br0)

Dann kommt die /etc/rc.conf dran:

Erstmal fügen wir bei MODULES= tun und bridge hinzu.

Dann kommen die eigentlichen Einstellungen:

  eth0="eth0 up"
  tap0="tap0 up"
  br0="br0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255"
  INTERFACES=(lo eth0 br0)
  gateway="default gw 192.168.1.1"
  ROUTES=(gateway)

Wir klauen der eth0 (je nach System auch eth1) die IP und geben der br0 die dafür.

Somit ist die Brücke fast fertig.

Wir müssen nur noch dafür sorgen das tap0 noch angelegt wird. Dafür habe ich ein kleines rc.d-Script gefunden, welches einfach vor network in der rc.conf kommt.

  #!/bin/bash
  
  . /etc/rc.conf
  . /etc/rc.d/functions
  
  case "$1" in
    start)
      stat_busy "Creating tap0 interface"
      /usr/sbin/openvpn --mktun --dev tap0 >/dev/null
      if [ $? -eq 0 ]; then
        stat_done
      else
        stat_fail
      fi
      ;;
    stop)
      stat_busy "Destroying tap0 interface"
      /usr/sbin/openvpn --rmtun --dev tap0 >/dev/null
      stat_done
      ;;
    *)
     echo "usage: $0 {start|stop}"
 esac
 exit 0

Dieses einfach unter /etc/rc.d/tap0 speichern, dann chmod 755 auf /etc/rc.d/tap0 und schon funktioniert.

Benutzen