GRE Tunnel erstellen (IPv4 und IPv6) - Linux
Autor
JanHill
Update
20.05.2026
GRE Tunnel in Linux erstellen auf Host-A
sudo modprobe ip_gre
lsmod | grep greHiermit aktivieren wir die Linux Kernel funktionen für das Protokoll GRE
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.confecho 'net.ipv6.conf.default.forwarding=1' >> /etc/sysctl.confecho 'net.ipv6.conf.all.forwarding=1' >> /etc/sysctl.conf
sysctl -p
Hiermit erlauben wir dem Linux Host, dass er IP-Adressen weiterleiten darf.
Debugging Befehle im Überblick
# zeigt alle interfaces an
ip a
# zeigt alle ipv4 routen an
ip route
# zeigt alle IPv6 routen an
ip -6 route
GRE Tunnel eröffnen auf Host-A
ip link add gre1 type gre local Hier-Deine-Host-A-IPv4 remoteHier-die-REMOTE-IPv4ttl 255
ip addr add 10.8.0.1/24 dev gre1ip -6 addr add 2a0b:4e07:2c::1/126 dev gre1
ip link set gre1 up
GRE Tunnel eröffnen auf Host-B
Hier tauschen wir vom Code her einige IP-Adressen Bereiche um.
ip link add gre1 type gre local Hier-Deine-Host-B-IPv4 remoteHier-die-Host-A-IPv4ttl 255
ip addr add 10.8.0.2/24 dev gre1ip -6 addr add 2a0b:4e07:2c::2/126 dev gre1
ip link set gre1 up
Jetzt IP-Adressen durch Tunneln
Auf Host-Aip -6 route replace 2a0b:4e07:2c::/48 via 2a0b:4e07:2c::2 dev gre1
Auf Host-B
ip -6 route replace 2a0b:4e07:2c::/48 dev vmbr0
Auf Host-B
Für z.B Proxmox Routing
ip -6 rule add from 2a0b:4e07:2c::/48 table 10
IPv6-Subnetz wieder zum richtigen Gateway zurückleiten
ip -6 route replace default via 2a0b:4e07:2c::1 dev gre1 table 10
IPv6-Gateway jetzt auch für vmbr0 setzen auf Host-B
ip -6 addr add 2a0b:4e07:2c::3/128 dev vmbr0
Das "2a0b:4e07:2c::/48" ist jetzt auf vmbr0 auf Host-B einsatzbereit.
Für jede VM / Container bitte Beispiele beachten z.B
Weitere Beispiel IPv6-Adresse:
IP: 2a0b:4e07:2c::4/48
Gateway: 2a0b:4e07:2c::3
Das gleiche Verfahren geht auch für das ältere IPv4-Protokoll:
ip route ...
ip rule ...
ip addr add ...
Jetzt für IPv6 Endpunktverbindungen einen GRE-Tunnel eröffnen
type gre -> type ip6gre
Code oben beachten und bei type bitte anstatt gre einfach ip6gre eintragen, fertig!
