ipv6
Inhaltsverzeichnis
IPv6
Neighbor Discovery (NDP)
- ipv6 multicast ping an alle hosts:
ping6 ff02::1%eth0 - ipv6 multicast ping an alle router:
ping6 ff02::2%eth0 - ndp cache (ipv6) bzw. arp tabelle (ipv4) auslesen:
ip neighip -6 neighip -4 neigh
IP Adressen reserviert für Dokumentation
- IPv4:
192.0.2.0/24(256)198.51.100.0/24(256)203.0.113.0/24(256)
- IPv6:
2001:db8::/32(2^96)3fff::/20(2^108)
IPv6 ULA gegenüber IPv4 bevorzugen
Windows
# prefix präferenz anzeigen netsh interface ipv6 show prefixpolicies # 6to4, prio: 30 -> 20 netsh interface ipv6 set prefixpolicy prefix=2002::/16 precedence=20 label=2 store=persistent # ipv4, prio: 35 -> 30 netsh interface ipv6 set prefixpolicy prefix=::ffff:0:0/96 precedence=30 label=4 store=persistent # ula, prio: 3 -> 35 netsh interface ipv6 set prefixpolicy prefix=fc00::/7 precedence=35 label=13 store=persistent # prefix präferenz anzeigen netsh interface ipv6 show prefixpolicies
Teredo Tunneling
- Teredo erlaubt es IPv6-Konnektivität an einem IPv4-only Anschluss
- Da Teredo am aussterben ist, gibt es kaum noch aktive Server
- für den zuletzt funktionierenden Server siehe den nicht auskommentierten
ServerAddress-Eintrag in der Linux-Konfiguration
- Teredo nutzt UDP und benötigt Port 3544 und einen weiteren Port (Firewall muss ausgehend zulassen)
- Es wird empfohlen Teredo nicht zu nutzen, weil es sehr unzuverlässsig sein kann
- Es ist jedoch nützlich, wenn man unbedingt IPv6 benötigt und keine andere Möglichkeit hat
Linux
- Debian
apt install miredo
- /etc/miredo/miredo.conf
# Please refer to the miredo.conf(5) man page for details. InterfaceName teredo # Pick a Teredo server: #ServerAddress teredo.ipv6.microsoft.com #ServerAddress teredo-debian.remlab.net #ServerAddress teredo.trex.fi ServerAddress teredo.iks-jena.de # Some firewall/NAT setups require a specific UDP port number: BindPort 3545
systemctl restart miredo; systemctl status miredo ip a cat /var/log/syslog | grep -Fi miredo | less
Windows
- PowerShell als Admin ausführen
-
- aktuellen Status abfragen:
Get-NetTeredoState - Konfiguration abfragen:
Get-NetTeredoConfiguration - Konfiguration zurücksetzen:
Reset-NetTeredoConfiguration - Konfiguration modifizieren:
Set-NetTeredoConfiguration
Set-NetTeredoConfiguration -ServerName "teredo.iks-jena.de" -ClientPort 3545 -Type Default ipconfig -all
IPv6 SLAAC auf FreeBSD
man rc.confman ifconfigman rtsoldman inet6
- /etc/rc.conf
# IPv6 aktivieren ipv6_activate_all_interfaces="YES" # privacy extensions (temporary addresses) ipv6_privacy="NO" # ICMPv6 RA (router advertisment) #ifconfig_em0_ipv6="inet6 accept_rtadv" # ICMPv6 RA (router advertisment) & default route ifconfig_em0_ipv6="inet6 accept_rtadv -no_radr" # ICMPv6 RS (router solicitation) rtsold_enable="YES" rtsold_flags="-aF"
- /etc/sysctl.conf
# IPv6 Sockets sind von IPv6 & IPv4 ansprechbar net.inet6.ip6.v6only=0
IPv6 abschalten
FreeBSD
in FreeBSD 10.1
> vi /etc/rc.conf ... ### IPv6 ip6addrctl_verbose="NO" # Set to YES to enable verbose configuration messages ip6addrctl_policy="ipv4_prefer" # Use IPv4 instead of IPv6 ipv6_default_interface="NO" ipv6_gateway_enable="Yes" ipv6_ipv4mapping="YES" # ### abschalten ip6addrctl_enable="NO" # Set to YES to enable default address selection ipv6_enable="NO" # FreeBSD 5.4 ipv6_activate_all_interfaces="NO" ipv6_network_interfaces="none" ...
testen ob IPv6 noch aktiv ist:
> netstat -anp tcp | fgrep tcp6 > netstat -s -p ip6
> cat /etc/sysctl.conf ### IPv6 abschalten kern.features.inet6=0
Linux
-
- WARNING: Please note, that at the time of writing this method to disable IPv6 after reboot using /etc/sysctl.conf configuration file on Ubuntu 18.04 does Not work. However, this seems to be a bug so feel free to try.
- dieses Kommando hat bei Ubuntu 18.04 LTS funktioniert:
for A in $(ls /proc/sys/net/ipv6/conf/*/disable_ipv6) ; do echo "1" > ${A} ; done
Viele Anwendungen (SSH, host, ping, nslookup, …) ist die Reihenfolge, nach der sie die einzelnen Netzwerkprotokolle einsetzen, separat festgelegt.
/etc/gai.conf
Es gibt aber auch noch die glibc, die ebenfalls nach einer konfigurierbaren
Reihenfolge vorgeht.
Die dazugehörige Konfigurationsdatei heißt "/etc/gai.conf":
# vi /etc/gai.conf precedence ::ffff:0:0/96 100
/etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1
IPv6-Kerneloption
Um dem Kernel beim booten bereits mitzuteilen, dass IPv6 unerwünscht ist,
gibt es eine Option: "ipv6.disable=1".
Bei Ubuntu trägt man diese hier ein:
# vi /etc/default/grub ... GRUB_CMDLINE_LINUX_DEFAULT="noplymouth,ipv6.disable=1" ...
Jetzt muss die Grub-Konfigurations neu geschrieben werden:
# update-grub
/home/http/wiki/data/pages/ipv6.txt · Zuletzt geändert: von david
