gif0 mittels rc.conf konfigurieren

miguel

FreeBSD Frischling
Hallo,

ich nutze einen IPv6-Tunnel via sixxs.net mittels sixxs-aiccu aus den Ports.
Vorher lief das ganze über einen FBSD-Router/Gateway, welcher allerdings kürzlich das Zeitliche gesegnet hat.
Aus diesem Grund lasse ich das Ganze jetzt direkt auf dem Host laufen; ohne Probleme bis auf einen kleinen Schönheitsfehler:
Die IPv6 aus meinem zugewiesenen Subnet lässt sich nicht direkt über die /etc/rc.conf einstellen.

Folgende relevanten Variablen sind in der /etc/rc.conf definiert:

Code:
ipv6_gateway_enable="YES"
ipv6_enable="YES"
gif_interfaces="gif0"
ipv6_ifconfig_gif0="2001:06f8:1384::0042 prefixlen 64"

Nach dem Booten ergibt ein ifconfig folgendes Ergebnis:

Code:
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
        tunnel inet 84.178.47.39 --> 212.224.0.188
        inet6 fe80::230:84ff:fe0c:53a5%gif0 prefixlen 64 scopeid 0x9 
        inet6 2001:6f8:900:4d1::2 prefixlen 128

Dieses resultiert allerdings nur aufgrund des Start-Skriptes /usr/local/etc/rc.d/sixxs-aiccu.sh .
Mit anderen Worten: Die gemachten Einstellungen in der /etc/rc.conf werden ignoriert. Man könnte dies zwar mittels eines eigenen Skriptes unter /usr/local/etc/rc.d/ lösen, doch scheint es nicht eine elegante Lösung zu sein.

Habe ich irgendwas übersehen, was ich noch in der /etc/rc.conf angeben muss?!

Danke und Gruß, Miguel
 
Code:
ipv6_gateway_enable="YES"
ipv6_enable="YES"
gif_interfaces="gif0"
ipv6_ifconfig_gif0="2001:06f8:1384::0042 prefixlen 64"

Was soll ipv6_ifconfig_gif0 darstellen? Eine Variable dieser Art wird nirgends in /etc/rc.d/ abgefragt. Suchst du vielleicht sowas?
Code:
gifconfig_gif0="inet6 2001:06f8:1384::0042 prefixlen 64"
 
Erstmal Danke für Deine Antwort. Es führte (teilweise) zu der Lösung :D

MrFixit schrieb:
Code:
ipv6_gateway_enable="YES"
ipv6_enable="YES"
gif_interfaces="gif0"
ipv6_ifconfig_gif0="2001:06f8:1384::0042 prefixlen 64"

Was soll ipv6_ifconfig_gif0 darstellen? Eine Variable dieser Art wird nirgends in /etc/rc.d/ abgefragt. Suchst du vielleicht sowas?
Code:
gifconfig_gif0="inet6 2001:06f8:1384::0042 prefixlen 64"

Meine Angabe in der /etc/rc.conf wird schon ausgewertet. Es ist lediglich ein ifconfig -> ipv6_ifconfig_$INTERFACE. So sollte es egal sein, ob es nun ein ed0 oder gif0 ist. Das Problem bestand, wie ich mittlerweile herausfand, darin, dass das gif0 nicht angelegt wurde. Auch ein Grund, warum ip6fw immer Warnungen ausgab, dass gif0 nicht existiere.

Ich ging halt davon aus, dass gifconfig_gif0 zum Erstellen des Tunnels gedacht ist, welches ich allerdings nicht in der /etc/rc.conf angeben kann(?), da meine IPv4 dynamischer Natur ist.
Dein Hinweis erstellte zwar gif0, wies ihm aber nicht die IPv6 zu :o

Aber wie im Leben, macht die Kombination den Unterschied :D

Ich habe jetzt beides in meiner /etc/rc.conf und schwupps, jetzt läuft es so, wie es soll. Meine gewünschte IPv6 aus meinem Subnet wird jetzt als src-address benutzt :)))

Da ich auch wie der Wilde rumgoogelte, aber nichts fand, bin ich entweder der Einzige mit diesem Problem/Anliegen, oder Infos bleiben bei den Usern selbst ;)
Wäre vielleicht was fürs Wiki...

Gruß, Miguel
 
Argh, du hast recht. Ich hatte in /etc/rc.d/* gesucht, aber das ganze wird in /etc/network.subr ausgewertet, wobei gifconfig_gif0 wie folgt ausgewertet wird:
Code:
ifconfig $i create >/dev/null 2>&1
ifconfig $i tunnel ${peers} 
ifconfig $i up

Wenn du also das "tunnel" nicht brauchst, solltest lieber cloned_interfaces verwenden, dass macht dann nur ein "ifconfig foo create"
 
MrFixit schrieb:
Wenn du also das "tunnel" nicht brauchst, solltest lieber cloned_interfaces verwenden, dass macht dann nur ein "ifconfig foo create"

Ahhh, das ist natürlich optimal mit dieser Variable. Dann werde ich das gifconfig wieder rausnehmen und durch dieses ersetzen.

Gruß, Miguel
 
Zurück
Oben