Forum: PC-Programmierung Tunnel IP-in-IP IPv6 zwischen 2 Raspis


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Martin M. (capiman)


Lesenswert?

Ich versuche seit einiger Zeit einen (später mehrere) IP-in-IP-Tunnel 
für IPv6 zwischen 2 Raspis einzurichten. Die Ethernet-Interfaces der 
beiden Raspis sind direkt (ohne Switch/ohne zusätzliches lokales LAN) 
verbunden. Es wollen aber keine (IPv6) Daten über den Tunnel fließen.

Ich hab auf der einen Seite (einfach mal als "A" bezeichnet):
1
$ cat /etc/network/interfaces.d/eth0
2
auto eth0
3
4
iface eth0 inet6 static
5
    address 2a03:192:168:180::2
6
    netmask 64
7
    up ip addr add 2a03:192:168:180::4/64 dev eth0
8
$
9
10
# Setup mytunnel 1 for IPv6
11
ip tunnel del mytunnel1
12
ip tunnel add mytunnel1 mode ipip6 ttl 64 local 2a03:192:168:180::2 remote 2a03:192:168:180::1 dev eth0
13
ip addr add fd00::2/0 dev mytunnel1
14
ip link set mytunnel1 up
15
16
# Setup mytunnel 2 for IPv6
17
ip tunnel del mytunnel2
18
ip tunnel add mytunnel2 mode ipip6 ttl 64 local 2a03:192:168:180::4 remote 2a03:192:168:180::3 dev eth0
19
ip addr add fd00::4/0 dev mytunnel2
20
ip link set mytunnel2 up

Auf der anderen Seite "B" (2. Raspi):
1
$ cat /etc/network/interfaces.d/eth0
2
auto eth0
3
4
iface eth0 inet6 static
5
    address 2a03:192:168:180::1
6
    netmask 64
7
    up ip addr add 2a03:192:168:180::3/64 dev eth0
8
$
9
10
# Setup mytunnel 1 for IPv6
11
ip tunnel del mytunnel1
12
ip tunnel add mytunnel1 mode ipip6 ttl 64 local 2a03:192:168:180::1 remote 2a03:192:168:180::2 dev eth0
13
ip addr add fd00::1/0 dev mytunnel1
14
ip link set mytunnel1 up
15
16
# Setup mytunnel 2 for IPv6
17
ip tunnel del mytunnel2
18
ip tunnel add mytunnel2 mode ipip6 ttl 64 local 2a03:192:168:180::3 remote 2a03:192:168:180::4 dev eth0
19
ip addr add fd00::3/0 dev mytunnel2
20
ip link set mytunnel2 up

Dann lausche ich z.B. mittels tcpdump auf "A" und "B":

sudo tcpdump -i mytunnel1

und sende Pings:

ping -6 -i mytunnel1 2001:4860:4860::8888

Auf der Sendeseite sehe ich die Pings. Aber auf der Empfangsseite kommen 
keine Daten an. Auf dem Ethernet sind auch keine Daten zu sehen.

Ich hab so eine Vermutung, dass es an der Tunnel-internen Adresse liegt.
fd00::1/0? Wenn man hier ein Suffix ungleich 0 verwendet, dann kommt 
"ping: connect: Network is unreachable".
Hab auch schon fe80::1/0 versucht, selbiges.
Oder 2a03:192:168:180::1/0, auch ein Durchbruch.

Direktes Anpingen ping -6 2a03:192:168:180::1 und ping -6 
2a03:192:168:180::3 geht, ist aber halt ohne Tunnel.

Obige Config sind etwas verkleinert. Ich habe die IPv4 Tunnel, die 
bereits eingerichtet sind und auch funktionieren, weggelassen.

Jemand eine Idee, was noch falsch sein könnte oder fehlt?

von Armin H. (min)


Lesenswert?

Braucht man für diese direkte Verbindung ohne switch nicht ein "cross" 
lan-Kabel, indem die Datenleitungen überkreuzt sind? Das mit den roten 
Steckern.

von Εrnst B. (ernst)


Lesenswert?

Willst du evtl. Tunnel-Modus ip6ip6 (IPv6 over IPv6) statt ipip6 (IPv6 
over IPv4) verwenden?

Und du solltest deinen FDxx:xxxx Adressen deutlich mehr Netzmaske geben. 
RFC sagt: 8 Bit "FD", danach 40 Bits Zufall, von dir vergeben, danach 
deine Host-Bits.

von Klaus (feelfree)


Lesenswert?

Armin H. schrieb:
> Braucht man für diese direkte Verbindung ohne switch nicht ein
> "cross" lan-Kabel, indem die Datenleitungen überkreuzt sind? Das mit den
> roten Steckern.

Nur wenn man ins letzte Jahrtausend zurückreist.

von Martin B. (martin_b563)


Lesenswert?

was steht in  /proc/sys/net/ipv6/conf/all/forwarding ?

von Martin M. (capiman)


Lesenswert?

Martin B. schrieb:
> was steht in  /proc/sys/net/ipv6/conf/all/forwarding ?

sysctl -w net.ipv4.conf.all.forwarding=1
sysctl -w net.ipv6.conf.all.forwarding=1

und können auch so zurückgelesen werden:

# cat /proc/sys/net/ipv6/conf/all/forwarding
1
#

Danke für den Hinweis!

von Martin M. (capiman)


Lesenswert?

Εrnst B. schrieb:
> Willst du evtl. Tunnel-Modus ip6ip6 (IPv6 over IPv6) statt ipip6 (IPv6
> over IPv4) verwenden?

Der Hinweis ist sehr gut, Danke!

Εrnst B. schrieb:
> Und du solltest deinen FDxx:xxxx Adressen deutlich mehr Netzmaske geben.
> RFC sagt: 8 Bit "FD", danach 40 Bits Zufall, von dir vergeben, danach
> deine Host-Bits.

Auch dies werde ich gleich berücksichtigen!

von Martin M. (capiman)


Lesenswert?

Armin H. schrieb:
> Braucht man für diese direkte Verbindung ohne switch nicht ein "cross"
> lan-Kabel, indem die Datenleitungen überkreuzt sind? Das mit den roten
> Steckern.

Danke für den Hinweis. Dies ist aber nicht das Problem.
Ich kann ja bereits einzelne Pings (ohne Tunnel) über die Verbindung 
übertragen. Und der Test-Tunnel mit IPv4 läuft auch bereits erfolgreich 
über diese Verbindung.

von Martin M. (capiman)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.