Benutzer-Werkzeuge

Webseiten-Werkzeuge


ipv6

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 neigh
    • ip -6 neigh
    • ip -4 neigh

IP Adressen reserviert für Dokumentation

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.conf
  • man ifconfig
  • man rtsold
  • man 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

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