OpenVPN mit "dev tap" statt "dev tun" - wie kann man das einrichten?

GregorM

Benutzer
Mitglied seit
26. Apr 2011
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hallo madeda,
sorry, dass ich mich bisher noch nicht gemeldet habe... Habe die letzten drei Tage mit Fieber im Bett gelegen. Leider ist mein WE auch schon voll und am Montag geht's mit Family 14 Tage in den Urlaub. Vielleicht komme ich da dann mal dazu, das Thema voranzubringen, wenn ich da vernünftiges Netz habe (bin auf einer Insel in der Nordsee, mal sehen). Spätestens aber danach werde ich das angehen...

Hast Du mal das avahi aus dem IPKG installiert? Sollte das Programm nicht die Broadcasts ins VPN schicken, wenn ich das richtig verstanden habe, oder?

Um mich nicht auszusperren, habe ich immer PPTP parallel laufen und starte OpenVPN darüber dann manuell per Console neu. Das nur am Rande, weil Du oben mal das leidige Booten angesprochen hast.

Wenn ich deine Ausführungen oben lese, vermute ich, dass dich das Thema genauso gepackt hat, wie mich. Daher denke ich, dass wir das schon irgendwie herausfinden werden. Da ich in der Softwarebranche arbeite, habe ich noch einige Quellen, die ich dazu mal fragen kann.

Bis dann,
Gregor
 

dachande

Benutzer
Mitglied seit
20. Mrz 2013
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
So, habe die bridge-utils mal installiert, gab's als ipkg package. Hilft aber nix: brctl addbr bringt eine Fehlermeldung "add bridge failed: Package not installed". Komisch, brctl funktioniert nämlich grundsätzlich. Welches Package soll denn da fehlen. Dochn irgendeine Kernelunterstützung ...

Gruß madeda
Hi,

da ich zur Zeit auch dabei bin, meiner DS213+ Ethernet-Bridging beizubringen, um OpenVPN über ein TAP interface (gebridged mit eth0) zu betreiben, habe ich mich mal ein wenig schlau gemacht.

Das Bridging funktioniert in Deinem Fall nicht, da noch nicht die notwendigen Kernel-Module geladen wurden. Probier daher mal folgendes:

# insmod /lib/modules/stp.ko
# insmod /lib/modules/bridge.ko

Anschließend solltest Du eine Ethernet-Bridge anlegen können:

# brctl addbr br0

Bis dahin noch alles prima. Nun kommt die Stelle, wo es passieren kann, dass Deine Diskstation unerreichbar wird. (Falls das passiert, musst Du sie neustarten)
Zunächst geben wir der Bridge mal eine IP-Adresse und fahren anschließend das Interface hoch

# ifconfig br0 192.168.178.10/24
# ifconfig br0 up

Nun hängen wir eth0 in die Bridge ein. Ab diesem Zeitpunkt ist die Diskstation nicht mehr über die alte IP-Adresse von eth0 erreichbar sondern sollte (ggf. erst nach ein paar Sekunden) über die neue IP-Adresse von br0 ezu erreichen sein.

# brctl addif br0 eth0

Wenn das klappt, ist der erste Stein schonmal gelegt. Soll heissen, soweit bin ich bisher auch gekommen und experimentiere gerade weiter damit, ein tap0 Interface anzulegen, und das ebenfalls mit in die Bridge zu hängen.

# openvpn --mktun --dev tap0
# ifconfig tap0 up
# brctl addif br0 tap0

Das ganze funktioniert bei mir aber zur Zeit nur, da ich im Hintergrund bereits OpenVPN aus dem VPNCenter Package laufen habe. Damit sind nämlich auch die benötigten Kernel-Module bereits geladen, um ein TAP Interface zu erstellen. Aus diesem Grund ist das hier bisher auch noch nicht als Lösung, sondern erstmal nur als Proof-of-Concept zu sehen ;)

Mal schauen, wie es weiter geht bei mir, denn das ganze soll natürlich später auch vollkommen automatisch beim Hochfahren der Diskstation passieren.

EDIT
Blöd ist das Ganze, wenn man, so wie ich gerade, dieses Experiment von der Arbeit aus durchführt. Gerade hat sich meine Diskstation verabschiedet, und ich kann sie von hier aus nicht neustarten. Verdammt! :mad:
 
Zuletzt bearbeitet:

n0j0e

Benutzer
Mitglied seit
09. Feb 2012
Beiträge
53
Punkte für Reaktionen
1
Punkte
14
Seit ihr da irgendwie weiter gekommen UPNP/DLNA Multicast zu tunneln?
Arbeite mich da gerade auch ein.

Hab nur so was bis jetzt gefunden: UDPBroadcastForwarder
Halte das aber für suboptimal, soll ja auch ohne weitere laufende Maschinen funktionieren!
 

GregorM

Benutzer
Mitglied seit
26. Apr 2011
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich bin da leider auch nicht weiter gekommen.
Der Ansatz von dachande scheint es wert zu sein, weiter verfolgt zu werden.
Das Tool, was n0j0e vorschlägt scheint nur für Windows zu sein, oder irre ich mich?
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

hatte vor einiger Zeit auch mal damit experimentiert, hab es dann aber nicht mehr getestet. Vielleicht helfen euch ja folgende Scripte weiter:

create_tap.sh

Rich (BBCode):
#!/bin/sh

#################################
# create_tap.sh
#################################

# Define Bridge Interface
br="br0"

# Define TAP interfaces to be bridged,
tap="tap0"

# Get ip, mask and broadcast from eth
eth="eth0"
eth_ip=$(ifconfig $eth | grep 'inet addr' | tr -s ' ' | cut -d ' ' -f3 | cut -d ':' -f2)
eth_netmask=$(ifconfig $eth | grep 'inet addr' | tr -s ' ' | cut -d ' ' -f5 | cut -d ':' -f2)
eth_broadcast=$(ifconfig $eth | grep 'inet addr' | tr -s ' ' | cut -d ' ' -f4 | cut -d ':' -f2)
eth_gateway=$(route -n | grep UG | tr -s ' ' | cut -d ' ' -f2)

# file for ip backup
ip_backup="/var/tmp/ip_backup"

# backup for restore after delete
echo ifconfig $eth $eth_ip netmask $eth_netmask broadcast $eth_broadcast > $ip_backup

echo Creating bridge with $eth and $tap

# load modules
insmod /lib/modules/stp.ko
insmod /lib/modules/bridge.ko

# create tab device
for t in $tap; do
    openvpn --mktun --dev $t
done


#create bridge with eth and tap
brctl addbr $br
brctl addif $br $eth

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

# set devices and bring up
for t in $tap; do
    ifconfig $t 0.0.0.0 promisc up
done

ifconfig $eth 0.0.0.0 promisc up

# set ip for bridge
ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast

# set route for standard gateway
route add default gw $eth_gateway $br

delete_tap.sh

Rich (BBCode):
#!/bin/sh

####################################
# delete_tap.sh
####################################

# Define Bridge Interface
br="br0"

# Define list of TAP interfaces to be bridged together
tap="tap0"

# file for ip backup
ip_backup="/var/tmp/ip_backup"

# Remove bridge
ifconfig $br down
brctl delbr $br

# Remove tap's
for t in $tap; do
    openvpn --rmtun --dev $t
done

# Restore settings
ifc=$(cat $ip_backup)
$ifc

Gruß Frank
 

GregorM

Benutzer
Mitglied seit
26. Apr 2011
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hallo fpo4711,
muss man für diese Scripte noch irgendetwas aus dem ipkg installieren, oder laufen die direkt auf der Synology. Habe nämlich gerade auf das letzte DSM upgedatet, so dass ich vermute, dass bei mir nun alles wieder auf Default steht...
Gregor
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
muss man für diese Scripte noch irgendetwas aus dem ipkg installieren, oder laufen die direkt auf der Synology. Habe nämlich gerade auf das letzte DSM upgedatet, so dass ich vermute, dass bei mir nun alles wieder auf Default steht...

VPNCenter muß installiert sein. Der Rest dürfte alles bereits vorhanden sein.

Gruß Frank
 

n0j0e

Benutzer
Mitglied seit
09. Feb 2012
Beiträge
53
Punkte für Reaktionen
1
Punkte
14
n2n: https://www.ntop.org/products/n2n/

Auch ein interessanter Ansatz! Linux, Mac, Windows.
Mir fehlen leider die nötigen Linux Kenntnisse so was auf zu setzen (und auch wieder im worst case wieder rückgängig zu machen!).

"n2n allows a person to create a VPN connection between two or more computers. For a computer to connect to another computer, an "edge" executable is required to be run on each computer. Any number of computers can be connected to each other, but for all the connections to take place, one computer needs to run the "supernode" executable. Now for the connections to take place, the computers running the "edge" first tries to connect to the computer running the "supernode", after which once the exchange of information between all the computers running the "edge" is completed through the "supernode", the "supernode" is no longer needed, and the connections between the computers running the "edge" is done directly from computer to computer without any involvement from the "supernode".

So the smallest n2n network is created using only two computers, where the first computer runs both the "supernode" and the "edge". And the second computer runs only the "edge.
".


Auch noch was: udpxy relay daemon
 
Zuletzt bearbeitet:

JuSu

Benutzer
Mitglied seit
30. Sep 2011
Beiträge
170
Punkte für Reaktionen
0
Punkte
16
In die Installlation von OpenVPN unter WIN7 habe ich während meines diesjährigen Urlaubes etwas Zeit investiert, da die OpenVPN Lösung unter Win7 in Zusammenarbeit mit Synology "Server VPN" nicht ganz so lief, wie ich mir das vorstellte. Folgende Einstellungen habe ich gemacht:

1. Gateway
In der Datei openvpn.ovpn wird das redirect-gateway freigeschaltet, damit jeglicher Datenverkehr getunnelt wird (kann unter Umständen langsam sein, ist in meinem Fall aber so gewollt, das ich auf das DokuWiki und OpenERP der Diskstation auch remote per Browser zugreifen möchte, ohne den Zugriff nach außen über Port 80 o. a. öffnen zu wollen).
# If redirect-gateway is enabled, the client will redirect it's
# default network gateway through the VPN.
# It means the VPN connection will firstly connect to the VPN Server
# and then to the internet.
# (Please refer to the manual of OpenVPN for more information.)

redirect-gateway

2. Metrik
Wenn man das Wort Metrik im Zusammenhang von (W)LAN Verbindungen durch das Wort Kosten ersetzt, wird einem der Zusammenhang in Verbindung mit dem Routing klarer. Unter Win7 werden die (W)LAN Schnittstellentreiber in der Standardinstalltion mit "automatischer Metrik" gesetzt, d. h. Windows versucht ständig die schnellste Verbindung zu ermitteln und setzt dessen Metrik automatisch herunter; die Kosten für diese Verbindung werden dadurch automatisch "billiger" und demzufolge beim Routing bevorzugt. Das ist im Rahmen von OpenVPN Verbindungen kontraproduktiv: VPN Verbindungen sind in aller Regel etwas langsamer als die direkte Verbindung ins Netz und werden durch diesen Automatismus nach ca. 5 Minuten aufgrund der automatischen Metrik/Kosten Veränderung nicht mehr genutzt. Die Folge ist, das man aus der Verbindung herausfliegt. Mit dem Windows Command Tool "route print" kann man sich die aktuelle Routingtabelle und dazugehöriger Metrik abrufen und überprüfen.

Abhilfe: Unter Netzwerk- und Freigabecenter -> (W)LAN Verbindung -> Eigenschaften -> Internetprotokoll IP4 -> Eigenschaften -> Erweitert -> Automatische Metrik ausschalten bzw. auf einen festen Wert (40) setzen.

3. OpenVPN GUI & Kompatibilität
Die GUI muss mit Adminrechten gestartet werden. Am einfachsten erledigt man das mit einem Rechtsklick auf das Programm "OpenVPN GUI" -> Eigenschaften -> Reiter Kompatibilität -> Markiere Berechtigungsstufe "Programm als Admin ausführen". Auf der gleichen Seite noch unter "Programm im Kompatibilitätsmodus ausführen" den Eintrag "Windows Vista (Service Pack 1)" auswählen. Ohne den Vista Kompatibilitätsmodus hatte ich massive Probleme mit der DNS Auflöung.

Hat man diese beiden Selektionen vorgenommen, wird der OpenVPN Schnittstelle unter Win7 neben der Gatewayadresse auch die korrekte DNS-Adresse des Heimrouters zugewiesen. D. h. Browseraufrufe wie "diskstation", "fritz.box" oder das bestehende Laufwerksmapping "H:" funktionieren damit einwandfrei und verweisen auf die entsprechenden Ordner der heimischen Diskstation.

Ich hoffe, das hilft ein wenig.


Gruß
JuSu
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
@JuSu
Deine Erfahrungen zu teilen ist lobenswert, hat aber leider nichts mit diesem Thread zu tun. Hier geht es um das "tap" device bei OpenVPN. Hier werden keine Pakete geroutet. Das läuft auf einer ganz anderen Ebene.

Gruß Frank
 

JuSu

Benutzer
Mitglied seit
30. Sep 2011
Beiträge
170
Punkte für Reaktionen
0
Punkte
16
@fpo4711
Grund für meinen Beitrag war, dass mit den oben genannten Einstellungen auf meinem WIN7 Rechner laut OpenVPN Log-File ein "tap" Device gestartet wird. Die Adressen werden jedoch weiterhin geroutet. Damit ziehe ich meinen Beitrag zurück - der hat hier wirklich nichts zu suchen. Danke für den Hinweis.
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.999
Punkte für Reaktionen
264
Punkte
373
Hallo,
@JuSo
auch wenn Dein Beitrag thematisch hier nicht ganz hin passt so ist er doch inhaltlich sehr wertvoll und sollte nicht in der Versenkung verschwinden. Ich hab in diesem Unterforum keine Rechte um Beiträge zu verschieben und die nächsten 3 Tage bin ich nicht online, wenn Du magst erinnere mich bitte Anfang nächster Woche per PN einen geeigneten Platz für Deinen Beitrag zu finden.

Gruß Götz
 

RodNoc

Benutzer
Mitglied seit
20. Aug 2013
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich habe ähnliches vor und zwar möchte ich, dass ein Fernseher an Standort1 auf das NAS per UPNP/DLNA an Standort2 zugreifen kann, allerdings soll nicht der gesamte Traffic von Standort1 über Standort 2 laufen. Hier erstmal ein paar Randinfos

Standort1 hat die IP-Adressen 192.168.2.0/24
Standort2 hat die IP-Adressen 192.168.10.0/24
VPN zwischen den beiden Synos 213+ ist 10.8.0.0/24
zusätzliches VPN zwischen den beiden Fritzboxen, sodass es auch hier ein s2s gibt (Soll aber abgeschaltet werden, wenn das mit den synos funktioniert)

Meine Idee: Die Syno an Standort1 bekommt ein virtuelles Interface eth0:1 mit einer Adresse von Standort2, die mit dem VPN gebridged wird. So würde es noch beide IP-Bereiche geben, aber der Fernseher an SO1 hat auch eine IP von SO2 und bekommt so seine multicast-pakete ab.
Meine Probleme:
- Ich bekomme kein tap-device hin
- ich bekomme das eth0:1 nicht in die br0
- nach einem neustart werden eth0:1 und br0 nicht mit hochgefahren
und warscheinlich ergeben sich noch mehr Probleme, wenn ich das ganze weiterbaue, aber das sind so die ersten ;)

Gibt es dafür schon eine Lösung? Ich bin komplett neu, was synology angeht, daher habe ich auch kräftig Probleme mit dem ganzen Kram (was ist wo bootfest, was kann ich machen, wovon sollte ich die finger lassen, etc). Wie ich das auf "richtigen" Linux-Boxen mache, ist mir klar, aber synology ist nunmal ne eigene Welt.

Gruß
Dom
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo Dom,
Du machst da mehrere Gedankenfehler. Das tap-device bindet auf Layer2 im Gegensatz zu tun-device auf Layer3. Also mit anderen Worten nix Routing nur schwarzes Loch. Ich hatte doch schonmal hier ein Script zum Erstellen des tap-device eingestellt. Nimm dieses und passe die entsprechenden OpenVPN Scripte auf Client und Serverseite an. Wenn alles richtig funktioniert sollte dann zwichen beiden eine Verbindung wie ein Kabel sein, also incl. Broadcast.

Ich glaube aber, und hier bin ich mir nicht sicher deshalb diese Aussage mit Vorsicht geniessen, im client-to-client Mode unter tun überträgt OpenVPN auch Multicasts.

Halte uns doch über deine Versuche sofern es das tap-device betrifft hier im Thread auf dem Laufendem.

Gruß Frank
 

RodNoc

Benutzer
Mitglied seit
20. Aug 2013
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hi,

das ist mir schon klar mit tun und tap. Aber wenn meine Logik nicht komplett falsch ist, brauche ich tap, damit ich quasi einen neuen virtuellen Ethernet-Adapter habe (tun ist ja nur ein p2p-Adapter)

Und ja, das mit dem c2c stimmt, aber ich brauche eine s2s, da ich auf dem Fernseher ja kein VPN-Client installiert bekomme ;)

Ich werde mir das Script mal anschauen und hoffen, dass ich nichts kaputt mache ;)

Gruß
Dom
 

dachande

Benutzer
Mitglied seit
20. Mrz 2013
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hi,

nach langer Zeit melde ich mich dann auch mal wieder zurück (bin mittlerweile umgezogen). Ich muss leider sagen, dass ich meinen Ansatz nicht mehr weiter verfolgt habe. Zwischenzeitlich hab ich einen OpenWrt Router in mein Netzwerk geklemmt, welcher nun neben DNS, DHCP, Firewall und IPv6 Gateway auch wieder die Aufgabe des OpenVPN Servers in meinem Netzwerk übernommen hat.

Ich hoffe trotzdem, Ihr seid mit dem Problem schon weitergekommen.
 

ToniTonic

Benutzer
Mitglied seit
29. Jun 2011
Beiträge
94
Punkte für Reaktionen
1
Punkte
8
Hallo Zusammen.

Jemand schon im Standard OpenVPN oder auch im IPKG installiertem TAP über die Synolgy hingekommen?¿?

Gruß ToniTonic
 
  • Like
Reaktionen: update-freak

update-freak

Benutzer
Mitglied seit
19. Feb 2018
Beiträge
356
Punkte für Reaktionen
21
Punkte
18
Würde mich auch interessierten ob das noch aktuell ist und wie man es als Tab device hinbekommt.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat