Layer2 Tunnel Konfigurieren

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
joe2017
Beiträge: 208
Registriert: 07.08.2017 14:29:51

Layer2 Tunnel Konfigurieren

Beitrag von joe2017 » 19.09.2018 10:34:44

Guten Morgen zusammen,

ich habe die nette Aufgabe einen reinen Layer2 Tunnel zwischen zwei Computern (Standorten) herzustellen. Ich hab mir jetzt schon verschiedene Modelle angesehen. Unter anderem StronSwan mit X.509 Zertifikaten. Jedoch wird hier immer mit IP Adressen gearbeitet und somit bin ich eigentlich schon wieder auf Layer3 Ebene. Kann mir hierzu jemand einen kleinen Denkanstoß geben mit was ich dies realisieren kann?

Weiß jemand ob ich mit OpenVPN einen Layer2 Tunnel aufbauen kann?

Benutzeravatar
bluestar
Beiträge: 612
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Layer2 Tunnel Konfigurieren

Beitrag von bluestar » 19.09.2018 13:01:17

OpenVPN, TAP-Device und Bridge und fertig bist du.

joe2017
Beiträge: 208
Registriert: 07.08.2017 14:29:51

Re: Layer2 Tunnel Konfigurieren

Beitrag von joe2017 » 19.09.2018 14:14:04

Das hab ich auch gelesen. Jedoch wird hier doch wieder auf der IP Ebene (zwar mit einer Bridge) gearbeitet. Somit ist das doch wieder eine Layer3 Verbindung oder sehe ich das falsch?

Benutzeravatar
bluestar
Beiträge: 612
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Layer2 Tunnel Konfigurieren

Beitrag von bluestar » 19.09.2018 14:19:13

joe2017 hat geschrieben: ↑ zum Beitrag ↑
19.09.2018 14:14:04
Das hab ich auch gelesen. Jedoch wird hier doch wieder auf der IP Ebene (zwar mit einer Bridge) gearbeitet.
Quelle?
joe2017 hat geschrieben: ↑ zum Beitrag ↑
19.09.2018 14:14:04
Somit ist das doch wieder eine Layer3 Verbindung oder sehe ich das falsch?
Wenn du weder dem TAP Device noch der Bridge, noch dem ETH-Device eine IP zuordnest, dann wüsste ich nicht, wo da Layer3 im Spiel sein sollte.
Natürlich kannst du TAP auch für Layer 3 nutzen, aber du willst ja explizit einen Layer2-Tunnel.

Ich an deiner Stelle würde Layer2-Tunneling gar nicht mehr anfangen, dass ist einfach ne Krücke.

dufty2
Beiträge: 1505
Registriert: 22.12.2013 16:41:16

Re: Layer2 Tunnel Konfigurieren

Beitrag von dufty2 » 19.09.2018 14:21:55

Aus Sicht der End-devices ist es ein Layer 2.

joe2017
Beiträge: 208
Registriert: 07.08.2017 14:29:51

Re: Layer2 Tunnel Konfigurieren

Beitrag von joe2017 » 19.09.2018 14:35:37

aber der Bridge bzw. dem TAP Adapter wird doch immer eine IP Adresse zugewisen. Wie kann man hiermit eine reine Layer2 Verbindung aufbauen?

dufty2
Beiträge: 1505
Registriert: 22.12.2013 16:41:16

Re: Layer2 Tunnel Konfigurieren

Beitrag von dufty2 » 19.09.2018 14:39:41

Die End-devices sind die clients im jeweiligen Netz, nicht die beiden "Tunnel-aufbauer".
Die End-devices können sich im gleichen Netz unterhalten (brauchen also kein Gateway)
und sehen auch die MACs (=Layer2-Netz).
Anhand der Latency (ping) könnte der client erkennen, das dies doch kein gewöhnliches LAN ist.

Benutzeravatar
bluestar
Beiträge: 612
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Layer2 Tunnel Konfigurieren

Beitrag von bluestar » 19.09.2018 14:40:46

joe2017 hat geschrieben: ↑ zum Beitrag ↑
19.09.2018 14:35:37
aber der Bridge bzw. dem TAP Adapter wird doch immer eine IP Adresse zugewisen. Wie kann man hiermit eine reine Layer2 Verbindung aufbauen?
Sprichst du jetzt von IPv6 Adressen oder meinst du IPv4 Adressen, in letzterem Falle würde ich mich wundern, wenn TAP- und Bridge-Device eine automatische IPv4 Adresse bekommen würden.

Deine Formulierung ist ewas widersprüchlich ... Ein Layer2 Device kann natürlich zusätzlich auch auf Layer 3 (IP) konfiguriert sein, muss es jedoch nicht.

joe2017
Beiträge: 208
Registriert: 07.08.2017 14:29:51

Re: Layer2 Tunnel Konfigurieren

Beitrag von joe2017 » 19.09.2018 14:46:21

Ich habe einfach noch keine korrekte Beschreibung zu der reinen L2TP Verbindung im zusammenhang mit OpenVPN / TAP / Bridge gefunden.
In meinen gefundenen Ergebnissen wird der Bridge immer eine IP zugewiesen.

Vielleicht hat von euch jemand ein entsprechendes Szenario bzw. Beschreibung.

Benutzeravatar
bluestar
Beiträge: 612
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Layer2 Tunnel Konfigurieren

Beitrag von bluestar » 19.09.2018 14:51:59

joe2017 hat geschrieben: ↑ zum Beitrag ↑
19.09.2018 14:46:21
Ich habe einfach noch keine korrekte Beschreibung zu der reinen L2TP Verbindung im zusammenhang mit OpenVPN / TAP / Bridge gefunden.
In meinen gefundenen Ergebnissen wird der Bridge immer eine IP zugewiesen.
L2TP ist ne ganz andere Baustelle.
Welche Quelle(n) hast du denn gelesen???
joe2017 hat geschrieben: ↑ zum Beitrag ↑
19.09.2018 14:46:21
Vielleicht hat von euch jemand ein entsprechendes Szenario bzw. Beschreibung.
In etwa:

Code: Alles auswählen

openvpn --mktun --dev tap0 --dev-type tap
brctl addbr br-layer2
brctl addif br-layer2 eth0
brctl addif br-layer2 tap0
Jetzt richtest du noch auf tap0 einen OpenVPN Server bzw. auf der anderen Seite einen OpenVPN Client ein und fertig ist dein Layer2 Tunnel.

mat6937
Beiträge: 1061
Registriert: 09.12.2014 10:44:00

Re: Layer2 Tunnel Konfigurieren

Beitrag von mat6937 » 19.09.2018 15:07:39

joe2017 hat geschrieben: ↑ zum Beitrag ↑
19.09.2018 14:35:37
Wie kann man hiermit eine reine Layer2 Verbindung aufbauen?
Das es auch eine Layer2-Verbindung ist, kannst Du daran erkennen, dass auch per arp-Protokoll (arp-request bzw. arp-reply) kommuniziert werden kann. Z. B.:

Code: Alles auswählen

:~$ arping -c 3 -I tap1 -s 10.88.0.2 10.88.0.1
ARPING 10.88.0.1 from 10.88.0.2 tap1
Unicast reply from 10.88.0.1 [12:E4:DA:41:13:7D]  4.293ms
Unicast reply from 10.88.0.1 [12:E4:DA:41:13:7D]  4.030ms
Unicast reply from 10.88.0.1 [12:E4:DA:41:13:7D]  3.992ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)

joe2017
Beiträge: 208
Registriert: 07.08.2017 14:29:51

Re: Layer2 Tunnel Konfigurieren

Beitrag von joe2017 » 21.09.2018 11:37:04

Also ich habe das ganze jetzt mal getestet und komme trotzdem nicht weiter.

Ich habe folgendes ausgeführt

OpenVPN-Server
sudo apt install openvpn bridge-utils
sudo modprobe tun
sudo modprobe bridge
sudo nano /etc/network/interfaces

Code: Alles auswählen

auto lo
iface lo inet loopback

iface eth0 inet manual

auto br0
iface br0 inet manual
        pre-up openvpn --mktun --dev tap0 --dev-type tap
        bridge_ports eth0 tap0

auto eth1
iface eth1 inet static
        address 192.168.0.1/24
Bei meinem Client hab ich das selbe durchgeführt. Nur der eth1 Adapter hat natürlich eine andere IP. Aber das interessiert ja erst einmal nicht.

sudo nano /etc/openvpn/server.conf

Code: Alles auswählen

port 1194   #ich glaube das wird nicht mehr benötigt oder?
proto udp   #ich glaube das wird nicht mehr benötigt oder?
dev tap0
ca /path to chain ca
cert /path to cert
key /path to cert-key
dh ...
user nobody
group nogroup
persist-tun
persist-key
client-to-client
tls-auth ta.key
cipher AES-265-GCM
Nach einem Neustart erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

Failed to start OpenVPN connection to server
Wenn ich mir die Adapter anzeigen lasse sieht das wie folgt aus.
ip -c addr

Code: Alles auswählen

eth1 = UP
eth0 = UP
br0 = UP
tap0 = DOWN
sudo ifup tap0

Code: Alles auswählen

unknown interface tap0
Sieht jemand mein Fehler?

Benutzeravatar
bluestar
Beiträge: 612
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Layer2 Tunnel Konfigurieren

Beitrag von bluestar » 21.09.2018 11:41:07

joe2017 hat geschrieben: ↑ zum Beitrag ↑
21.09.2018 11:37:04

sudo nano /etc/openvpn/server.conf

Code: Alles auswählen

port 1194   #ich glaube das wird nicht mehr benötigt oder?
proto udp   #ich glaube das wird nicht mehr benötigt oder?
Natürlich wird dies weiterhin benötigt ... Du baust ja einen Layer2 Tunnel über UDP auf.
joe2017 hat geschrieben: ↑ zum Beitrag ↑
21.09.2018 11:37:04
Sieht jemand mein Fehler?
Dein OpenVPN Server startet nicht, lies die Logs.... Zur Vereinfachung würde ich dir dazu raten statt Zertifikate einfach auf OpenVPN Keys zu wechseln, macht bei einem Layer2 Tunnel irgendwie mehr Sinn, es gibt ja nur zwei Endpunkte (hoffentlich).

joe2017
Beiträge: 208
Registriert: 07.08.2017 14:29:51

Re: Layer2 Tunnel Konfigurieren

Beitrag von joe2017 » 21.09.2018 16:52:55

Also laut Log gab es wohl ein Problem mit dem Zertifikat. Das hab ich soeben beseitigt. Auf das Zertifikat kann ich leider nicht verzicheten. Das ist eine zwingende Vorgabe.
Jedoch wird der OpenVPNService immer noch nicht gestartet. Auch der TAP0 wird nicht angelegt. Ich lege diesen zwar in der /etc/network/interfaces an, jedoch ist dieser nicht im System bekannt.

Code: Alles auswählen

pre-up openvpn --mktun --dev tap0 --dev-type tap
Ist ja auch klar wenn der OpenVPNService nicht gestartet wird :facepalm:
Hat jemand eine Idee wo ich noch nachschauen könnte. Ich kann euch auch gerne mehr Informationen liefern, falls noch etwas fehlt.
/var/log/daemon

Code: Alles auswählen

Sep 21 16:33:52 OpenVPNServer systemd[1]: Stopped target Graphical Interface.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Starting Flush Journal to Persistent Storage...
Sep 21 16:34:12 OpenVPNServer lvm[268]:   2 logical volume(s) in volume group "OpenVPNServer-vg" monitored
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Reached target Local File Systems (Pre).
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Flush Journal to Persistent Storage.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started udev Kernel Device Manager.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Found device RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Found device Micron_1100_SATA_256GB EFI\x20System\x20Partition.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Found device /dev/mapper/OpenVPNServer--vg-swap_1.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Found device Micron_1100_SATA_256GB 2.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Starting File System Check on /dev/disk/by-uuid/c9fe47b0-c131-46c8-a89b-70cbeb727210...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Activating swap /dev/mapper/OpenVPNServer--vg-swap_1...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started File System Check Daemon to report status.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Activated swap /dev/mapper/OpenVPNServer--vg-swap_1.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Reached target Swap.
Sep 21 16:34:12 OpenVPNServer systemd-fsck[395]: /dev/sda2: sauber, 331/62496 Dateien, 72315/249856 Blöcke
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started File System Check on /dev/disk/by-uuid/c9fe47b0-c131-46c8-a89b-70cbeb727210.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Mounting /boot...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Mounted /boot.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Mounting /boot/efi...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Mounted /boot/efi.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Reached target Local File Systems.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Starting Create Volatile Files and Directories...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Starting Set console font and keymap...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Starting Raise network interfaces...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started ifup for enp2s0.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Set console font and keymap.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Create Volatile Files and Directories.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Starting Network Time Synchronization...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Starting Update UTMP about System Boot/Shutdown...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Update UTMP about System Boot/Shutdown.
Sep 21 16:34:12 OpenVPNServer sh[447]: enp2s0=enp2s0
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Network Time Synchronization.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Reached target System Initialization.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Listening on D-Bus System Message Bus Socket.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Daily Cleanup of Temporary Directories.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Listening on PC/SC Smart Card Daemon Activation Socket.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Reached target Sockets.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Reached target Basic System.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started irqbalance daemon.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Regular background program processing daemon.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started D-Bus System Message Bus.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Starting System Logging Service...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Starting Login Service...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Starting OpenVPN connection to server...
Sep 21 16:34:12 OpenVPNServer systemd[1]: Reached target System Time Synchronized.
Sep 21 16:34:12 OpenVPNServer systemd[1]: apt-daily.timer: Adding 51min 51.821039s random time.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Daily apt download activities.
Sep 21 16:34:12 OpenVPNServer systemd[1]: apt-daily-upgrade.timer: Adding 38min 10.465795s random time.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Daily apt upgrade and clean activities.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Reached target Timers.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started Login Service.
Sep 21 16:34:12 OpenVPNServer systemd[1]: Started System Logging Service.
Sep 21 16:34:12 OpenVPNServer ovpn-server[484]: Options error: Unrecognized option or missing or extra parameter(s) in /etc/openvpn/server.conf:23: mode (2.4.0)
Sep 21 16:34:12 OpenVPNServer ovpn-server[484]: Use --help for more information.
Sep 21 16:34:12 OpenVPNServer systemd[1]: openvpn@server.service: Control process exited, code=exited status=1
Sep 21 16:34:12 OpenVPNServer systemd[1]: Failed to start OpenVPN connection to server.
Sep 21 16:34:12 OpenVPNServer systemd[1]: openvpn@server.service: Unit entered failed state.
Sep 21 16:34:12 OpenVPNServer systemd[1]: openvpn@server.service: Failed with result 'exit-code'.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Reached target Sound Card.
Sep 21 16:34:27 OpenVPNServer ifup[496]: Fri Sep 21 16:34:27 2018 TUN/TAP device tap0 opened
Sep 21 16:34:27 OpenVPNServer ifup[496]: Fri Sep 21 16:34:27 2018 Persist state set to: ON
Sep 21 16:34:27 OpenVPNServer systemd-udevd[547]: Could not generate persistent MAC address for tap0: No such file or directory
Sep 21 16:34:27 OpenVPNServer systemd-udevd[545]: Could not generate persistent MAC address for br0: No such file or directory
Sep 21 16:34:27 OpenVPNServer ifup[496]: Waiting for br0 to get ready (MAXWAIT is 32 seconds).
Sep 21 16:34:27 OpenVPNServer systemd[1]: Started Raise network interfaces.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Reached target Network.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Starting OpenBSD Secure Shell server...
Sep 21 16:34:27 OpenVPNServer systemd[1]: Starting Permit User Sessions...
Sep 21 16:34:27 OpenVPNServer systemd[1]: Starting OpenVPN service...
Sep 21 16:34:27 OpenVPNServer systemd[1]: Started OpenVPN service.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Started Permit User Sessions.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Started Getty on tty1.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Reached target Login Prompts.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Started OpenBSD Secure Shell server.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Reached target Multi-User System.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Reached target Graphical Interface.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Starting Update UTMP about System Runlevel Changes...
Sep 21 16:34:27 OpenVPNServer systemd[1]: Started Update UTMP about System Runlevel Changes.
Sep 21 16:34:27 OpenVPNServer systemd[1]: Startup finished in 2.174s (kernel) + 16.201s (userspace) = 33.123s.
Sep 21 16:34:58 OpenVPNServer systemd[1]: Created slice User Slice of user.
Sep 21 16:34:58 OpenVPNServer systemd[1]: Starting User Manager for UID 1000...
Sep 21 16:34:58 OpenVPNServer systemd[1]: Started Session 1 of user user.
Sep 21 16:34:58 OpenVPNServer systemd[649]: Reached target Paths.
Sep 21 16:34:58 OpenVPNServer systemd[649]: Listening on GnuPG cryptographic agent and passphrase cache (restricted).
Sep 21 16:34:58 OpenVPNServer systemd[649]: Listening on GnuPG cryptographic agent (ssh-agent emulation).
Sep 21 16:34:58 OpenVPNServer systemd[649]: Listening on GnuPG cryptographic agent and passphrase cache.
Sep 21 16:34:58 OpenVPNServer systemd[649]: Reached target Timers.
Sep 21 16:34:58 OpenVPNServer systemd[649]: Listening on GnuPG cryptographic agent (access for web browsers).
Sep 21 16:34:58 OpenVPNServer systemd[649]: Reached target Sockets.
Sep 21 16:34:58 OpenVPNServer systemd[649]: Reached target Basic System.
Sep 21 16:34:58 OpenVPNServer systemd[649]: Reached target Default.
Sep 21 16:34:58 OpenVPNServer systemd[649]: Startup finished in 7ms.
Sep 21 16:34:58 OpenVPNServer systemd[1]: Started User Manager for UID 1000.
Bitte nicht wundern, ich habe in meiner config mit eth0/eth1 gearbeitet. Meine Adapter heißen eigentlich enp1s0/enp2s0

Benutzeravatar
bluestar
Beiträge: 612
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Layer2 Tunnel Konfigurieren

Beitrag von bluestar » 21.09.2018 17:03:07

Also wirklich, der Fehler steht in deinem Log... Schau bitte mal genau nach.

Antworten