OpenVPN brigded init.d script

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
christianwohlgemuth
Beiträge: 3
Registriert: 17.12.2014 10:18:15

OpenVPN brigded init.d script

Beitrag von christianwohlgemuth » 17.12.2014 10:47:09

Hallo,

ich habe OpenVPN auf Debian 7 installiert und möchte dies gerne mit einer Netzwerkbrücke realisieren. Die Konfiguration läuft auch sehr gut, es gibt nur ein kosmetisches Problem.
Sobald der OpenVPN (neu)gestart wird muss ich die tap0 Schnittstelle manuell aktivieren und zur Brücke hinzufügen.

Code: Alles auswählen

root@srv02:~# brctl showstp xenbr0
xenbr0
 bridge id              8000.0013723de078
 designated root        8000.0013723de078
 root port                 0                    path cost                  0
 max age                  20.00                 bridge max age            20.00
 hello time                2.00                 bridge hello time          2.00
 forward delay            15.00                 bridge forward delay      15.00
 ageing time             300.01
 hello timer               1.03                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                  19.07
 flags


eth0 (1)
 port id                8001                    state                forwarding
 designated root        8000.0013723de078       path cost                  4
 designated bridge      8000.0013723de078       message age timer          0.00
 designated port        8001                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.02
 flags

tap0 (2)
 port id                8002                    state                forwarding
 designated root        8000.0013723de078       path cost                100
 designated bridge      8000.0013723de078       message age timer          0.00
 designated port        8002                    forward delay timer        4.47
 designated cost           0                    hold timer                 0.02
 flags

Code: Alles auswählen

root@srv02:~# service openvpn restart
[ ok ] Stopping virtual private network daemon: server.
[ ok ] Starting virtual private network daemon: server.

Code: Alles auswählen

root@srv02:~# brctl showstp xenbr0
xenbr0
 bridge id              8000.0013723de078
 designated root        8000.0013723de078
 root port                 0                    path cost                  0
 max age                  20.00                 bridge max age            20.00
 hello time                2.00                 bridge hello time          2.00
 forward delay            15.00                 bridge forward delay      15.00
 ageing time             300.01
 hello timer               0.44                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                  12.48
 flags


eth0 (1)
 port id                8001                    state                forwarding
 designated root        8000.0013723de078       path cost                  4
 designated bridge      8000.0013723de078       message age timer          0.00
 designated port        8001                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.00
 flags
Nach einen Neustart des OpenVPN Dienstes muss ich noch folgende Befehle absetzen:

Code: Alles auswählen

root@srv02:~# ifdown tap0
root@srv02:~# brctl addif xenbr0 tap0
root@srv02:~# ifup tap0
root@srv02:~# brctl showstp xenbr0
xenbr0
 bridge id              8000.0013723de078
 designated root        8000.0013723de078
 root port                 0                    path cost                  0
 max age                  20.00                 bridge max age            20.00
 hello time                2.00                 bridge hello time          2.00
 forward delay            15.00                 bridge forward delay      15.00
 ageing time             300.01
 hello timer               1.21                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                  33.39
 flags


eth0 (1)
 port id                8001                    state                forwarding
 designated root        8000.0013723de078       path cost                  4
 designated bridge      8000.0013723de078       message age timer          0.00
 designated port        8001                    forward delay timer        0.00
 designated cost           0                    hold timer                 0.20
 flags

tap0 (2)
 port id                8002                    state                forwarding
 designated root        8000.0013723de078       path cost                100
 designated bridge      8000.0013723de078       message age timer          0.00
 designated port        8002                    forward delay timer       10.41
 designated cost           0                    hold timer                 0.20
 flags
Bei einer Installation in einer Testumgebung die auf Ubuntu 12.04 LTS basiert wird die tap0 Schnittstelle automatisch automatisch zur Brücke hinzugefügt.
Ich habe mir die init.d Skipte angeschaut und konnte keine Unterschiede finden, die auf die Netzwerkbrücke hindeuten.

Auch die Konfiguration ist identisch auf beiden Rechnern.

Code: Alles auswählen

root@srv02:~# cat /etc/openvpn/server.conf
mode server
local 192.168.2.4
server-bridge 192.168.2.4 255.255.255.0 192.168.2.121 192.168.2.130
tls-server
port 8080
proto tcp-server
tls-auth [inline] 0
tls-timeout 120
dev tap0
ca [inline]
cert [inline]
key [inline]
dh [inline]
crl-verify /etc/openvpn/crl.pem
auth-nocache
float
ping-timer-rem
keepalive 20 180
client-to-client
push "route 172.16.0.0 255.255.0.0 192.168.2.4"
push "route 192.168.4.0 255.255.255.0 192.168.2.4"
push "dhcp-option DNS 192.168.2.252"
push "dhcp-option WINS 192.168.2.252"
push "dhcp-option DOMAIN domain.local"
push "dhcp-option DISABLE-NBT"
verb 6
comp-lzo
reneg-sec 3600
user openvpnuser
group openvpngroup
persist-tun
persist-key
persist-local-ip
persist-remote-ip
log-append /var/log/openvpn_tcp.log
status /var/log/openvpn_tcp.status 10
cipher AES-256-CBC
script-security 3 system
plugin /usr/lib/openvpn/openvpn-auth-pam.so login
auth-user-pass-verify /etc/openvpn/user_computer.pl via-env
tls-verify /etc/openvpn/verify.pl
opt-verify
<ca>
-----BEGIN CERTIFICATE-----
gelöscht
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
gelöscht
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
gelöscht
-----END RSA PRIVATE KEY-----
</key>
<dh>
-----BEGIN DH PARAMETERS-----
gelöscht
-----END DH PARAMETERS-----
</dh>
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
gelöscht
-----END OpenVPN Static key V1-----
</tls-auth>
Kann mir jemand verraten, wie ich automatisch die tap0 Schnittstelle in dir Brücke bekomme bzw. was Ubuntu anders macht?

Vielen Dank

mtheiss
Beiträge: 154
Registriert: 01.04.2005 22:07:26
Lizenz eigener Beiträge: MIT Lizenz

Re: OpenVPN brigded init.d script

Beitrag von mtheiss » 19.12.2014 10:02:33

Hallo,

wenn du deine Bridge über /etc/network/interfaces steuerst, dann schalte mal unter /etc/default/bridge-utils das Hotplug ein.

Gruss
Martin

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: OpenVPN brigded init.d script

Beitrag von habakug » 19.12.2014 11:04:38

Hallo!

Das ist doch in den "sample-scripts" [1] schon vorbereitet. Dann ergibt sich diese Reihenfolge:
run bridge-start
run openvpn
stop openvpn
run bridge-stop
Gruss, habakug

[1] https://openvpn.net/index.php/open-sour ... inuxscript
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Antworten