, , , , , , , , , , , , , , , , , ,

GRE Tunnel erstellen in Linux – IPv4 und IPv6

Posted by

0
(0)

Herzlich Willkommen!

Zu einen weiteren Tutorial meiner Netzwerk Reihe 🙂 In der letzten Zeit ist der Bedarf nach mehr Wissen und Informationen zum Thema GRE Tunnel deutlich gestiegen. Das freut mich sehr wenn ich euch dabei helfen kann. Nun, in den letzten Monaten habe ich viel darĂŒber berichtet und auch war dies besonders mit Noez.de verbunden. Heute aber werden wir lernen, wie wir selbst einen GRE Tunnel erstellen und aufbauen. NatĂŒrlich auch mit Netzwerk Konfigurationen.

1. So erstellen wir den GRE Tunnel

Im Endeffekt werden wir bei Server A, der den GRE Tunnel eröffnet, die zugewiesenen IPv4 oder IPv6 Adressen dem GRE Tunnel zuweisen und routen. Zudem werden wir auch Proxy Arp auf allen Interfaces aktivieren damit das Routing optimal funktioniert. Auch IPv4 und IPv6 Forward muss fĂŒr Server A aktiviert sein.

				
					# Auf Server A
echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp
echo 1 > /proc/sys/net/ipv6/conf/default/proxy_ndp

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf

sudo sysctl -p
				
			

Mit diesen Befehlen erlauben wir allen Interfaces das nutzen von Proxy Arp und erlauben das Weiterleiten unserer Statischen IPv4 sowie IPv6 Adressen.

1.2 GRE Tunnel fĂŒr IPv4 Aufbau

				
					# Auf Server-A Seite
sudo ip link add gre1 type gre local Server-A-IPv4 remote Server-B-IPv4 ttl 255
# Hier könnt Ihr das Internal Subnet individuell anpassen
sudo ip addr add 10.10.0.1/30 dev gre1
sudo ip link set gre1 up
				
			
				
					# Auf Server-B Seite
sudo ip link add gre1 type gre local Server-B-IPv4 remote Server-A-IPv4 ttl 255
# Hier könnt Ihr das Internal Subnet individuell anpassen
sudo ip addr add 10.10.0.2/30 dev gre1
sudo ip link set gre1 up
				
			
				
					# ÜberpĂŒfe jetzt ob beide Seiten sich anpingen können

# Auf Server A
ping -4 10.10.0.2

# Auf Server B
ping -4 10.10.0.1
				
			

Sollten beide Seiten Pingen und somit erreichbar sein untereinander, so ist der Tunnel Aufbau mit Erfolg erledigt 🙂

1.3 GRE Tunnel fĂŒr IPv6 Aufbau

Gerade fĂŒr IPv6 Only Server kann das Modul ip6gre genutzt werden um somit auch nur einen Tunnel Aufbau ĂŒber IPv6 Adressen zu erstellen.

				
					# Auf Server A
ip tunnel add gre1 mode ip6gre local Server-A-IPv6 remote Server-B-IPv6 ttl 255
sudo ip -6 addr add fd58:fe09:eaed:5e82::1/64 dev gre1
ip link set gre1 up
				
			
				
					# Auf Server B
ip tunnel add gre1 mode ip6gre local Server-B-IPv6 remote Server-A-IPv6 ttl 255
sudo ip -6 addr add fd58:fe09:eaed:5e82::2/64 dev gre1
ip link set gre1 up
				
			
				
					# ÜberpĂŒfe jetzt ob beide Seiten sich anpingen können

# Auf Server A
ping -6 fd58:fe09:eaed:5e82::2

# Auf Server B
ping -6 fd58:fe09:eaed:5e82::1

# Wenn der Ping erfolgreich war ist der Tunnel Aufbau ĂŒber IPv6 erfolgreich gewesen
				
			

2. Jetzt die ersten IPv4 Adressen routen

				
					# Auf Server A
# Beachtet das die jeweilige IP nicht zuvor auf eth0 etc. geaddet ist auf Server A
sudo ip route add 45.130.x.y/32 dev gre1
				
			
				
					# Auf Server B
# Wir setzen unseren Internal Gateway auf Table 10
sudo ip route add default via 10.10.0.1 dev gre1 table 10
sudo ip route add 45.130.x.y/32 dev gre1
sudo ip rule add 45.130.x.y table 10
sudo ip addr add 45.130.x.y/32 dev gre1
				
			

Bitte prĂŒft also folgendes:

1. Pingt die Statische IPv4 Adresse auch im Öffentlichen Internet aus?

2. Könnt Ihr gegebenfalls Ports erreichen z.B SSH (22)?

3. Ist auch die IPv4 Adresse intern wenn man diese bei Server A Pingt z.B ping -4 45.130.x.y pingbar?

Wenn der erste Punkt bei der Checkliste nicht funktioniert, so muss hierfĂŒr wirklich Proxy Arp auf allen Interfaces aktiviert sein. Der Befehl wurde dazu weiter oben erlĂ€utert.

3. Jetzt IPv6 Adressen routen

				
					# Auf Server A
sudo ip -6 route add fd58:fe09:xxxx:yyyy::100 dev gre1
# Bitte ersetzt alle IP-Adressen Beispiele, jeweils zu euren Öffentlichen IP-Adressen
				
			
				
					# Auf Server B
sudo ip -6 route add default via fd58:fe09:eaed:5e82::1 dev gre1 table 10
sudo ip -6 route add fd58:fe09:xxxx:yyyy::100 dev gre1
sudo ip -6 rule add from fd58:fe09:xxxx:yyyy::100 table 10
sudo ip addr add fd58:fe09:xxxx:yyyy::100 dev gre1
				
			

Fertig! 🙂 Jetzt sollte auch die Öffentliche IPv6 Adresse im Internet erreichbar sein und auf Server B verweisen. So einfach kann man also einen selbst erstellen GRE Tunnel routen und sogar auch Statische IPv4 und IPv6 Adressen hin und her routen.

Hier sind noch Hilfreiche Tipps

Damit wir reibungslos unsere Internen IPv6 Adressen generieren können, bietet sich folgender IPv6 Generator als gute Hilfe.

Ich biete Hilfe an und helfe gerne bei Problemen und das auch Kostenlos.

Zumeist mache ich die Meetings dann ĂŒber Discord: rawnetworks – Einfach als Freund adden

Oder fĂŒr Terminabsprache via Email: privat@janhill.email

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert