Hallo,
ich habe schon wieder ein Problem - diesmal leider etwas komplexer. ☹
Und zwar benutze ich einen Ubuntu Server als Gateway und DNS und einen Ubuntu Server mit OpenVPN. Das OpenVPN soll im Bridge-Modus laufen. Zugegriffen wird auf den VPN-Server mit Windows.
Ich habe schon zig Tutorials gefunden, aber die erklären alle immer nur teilweise die Einrichtung und verweisen auf andere Artikel und wenn ich das zusammenpacke, widersprechen sich alle und ich weiß absolut nicht mehr, was richtig und falsch ist.
Ich habe meine gesamte aktuelle Konfiguration (server.conf, client.ovpn, bridge-start, bridge-stop und ifconfig's) angehängt. Am Anfang habe ich es testweise mit dev tun eingerichtet und das funktionierte. Da das aber nicht für den Zweck der Nutzung ausreicht, versuche ich schon seit einigen Tagen die Umstellung auf das tap Interface. ☹
Nur mal kurz zur Übersicht:
- DynDNS-Account besteht
- Router: 192.168.42.201 (Speedport W701V - 1194 UDP wird weitergeleitet)
- Server: 192.168.42.2 (Gateway, DNS, DHCP)
- DHCP auf Server: Soll IPs im Bereich von 100 - 199 an lokale Clients, den OpenVPN-Server und die VPN-Clients verteilen.
- OpenVPN-Server: 192.168.42.22 (testweise mit fester IP, um Fehler mit DHCP ausschließen zu können)
server.conf
Warum muss man bei server-bridge einen DHCP-Bereich angeben? Kann ich den Clients nicht von meinem richtigen DHCP-Server eine IP zuweisen?
port 1194 proto udp dev tap0 ca ./easy-rsa2/keys/ca.crt cert ./easy-rsa2/keys/server.crt key ./easy-rsa2/keys/server.key # Diese Datei geheim halten. dh ./easy-rsa2/keys/dh1024.pem # Diffie-Hellman-Parameter tls-auth ./easy-rsa2/keys/ta.key 0 # This file is secret ifconfig-pool-persist ipp.txt server-bridge 192.168.42.22 255.255.255.0 192.168.42.80 192.168.42.99 keepalive 10 120 comp-lzo max-clients 20 user openvpn group openvpn persist-key persist-tun status openvpn-status.log verb 3
client.ovpn
client dev tap proto udp remote blablabla.homeip.net 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert clt343.crt key clt343.key tls-auth ta.key 1 comp-lzo verb 3
Dies ist das bridge-start Skript von openvpn.net. Muss die ETH0 und somit die Brücke eine feste IP bekommen oder ist es möglich, dass die IP vom DHCP bezogen wird?
#!/bin/bash # 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" eth_ip="192.168.42.22" eth_netmask="255.255.255.0" eth_broadcast="192.168.42.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
Und hier das bridge-stop Skript von openvpn.net.
#!/bin/bash # Define Bridge Interface br="br0" # Define list of TAP interfaces to be bridged together tap="tap0" ifconfig $br down brctl delbr $br for t in $tap; do openvpn --rmtun --dev $t done
ifconfig vor ausführen von bridge-start
eth0 Link encap:Ethernet HWaddr 00:0C:29:65:0C:B6 inet addr:192.168.42.22 Bcast:192.168.42.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe65:cb6/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:7969 errors:0 dropped:0 overruns:0 frame:0 TX packets:2241 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:595871 (581.9 KB) TX bytes:174126 (170.0 KB) Interrupt:16 Base address:0x1400 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:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
ifconfig nach ausführen von bridge-start
br0 Link encap:Ethernet HWaddr 00:0C:29:65:0C:B6 inet addr:192.168.42.22 Bcast:192.168.42.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe65:cb6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:89 errors:0 dropped:0 overruns:0 frame:0 TX packets:41 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:7019 (6.8 KB) TX bytes:6069 (5.9 KB) eth0 Link encap:Ethernet HWaddr 00:0C:29:65:0C:B6 inet6 addr: fe80::20c:29ff:fe65:cb6/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:8307 errors:0 dropped:0 overruns:0 frame:0 TX packets:2398 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:624500 (609.8 KB) TX bytes:198259 (193.6 KB) Interrupt:16 Base address:0x1400 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:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) tap0 Link encap:Ethernet HWaddr 00:FF:DE:90:02:43 inet6 addr: fe80::2ff:deff:fe90:243/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:52 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Ich hoffe, ihr könnt mir weiterhelfen. Und wenn ich das irgendwann zum Laufen gebracht habe, werde ich das von Anfang bis Ende dokumentieren, damit es anderen nicht mehr so schwer fallen muss.
MfG Jens