Benutzer-Werkzeuge

Webseiten-Werkzeuge


ipv6

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ipv6 [2021-03-14 23:05:07] – [IPv6] manfredipv6 [2025-07-05 02:31:29] (aktuell) – [in Linux IPv6 abschalten] david
Zeile 1: Zeile 1:
 +====== IPv6 ======
 +
 +  * RFC4291: [[https://youtu.be/z2NDIHsxP1Q|Ipv6 Adresse einfach erklärt, ipv6 Subnetting und ip Prefix]]
 +
 +
 +===== 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 =====
 +
 +  * [[https://en.wikipedia.org/wiki/Reserved_IP_addresses]]
 +  * 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 ====
 +
 +<code powershell>
 +# 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
 +</code>
 +
 +
 +===== 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
 +
 +<code bash /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
 +</code>
 +
 +  systemctl restart miredo; systemctl status miredo
 +  ip a
 +  cat /var/log/syslog | grep -Fi miredo | less
 +
 +
 +==== Windows ====
 +
 +  * PowerShell als Admin ausführen
 +  * [[https://learn.microsoft.com/powershell/module/networktransition/|Docs]]
 +    * 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''
 +
 +<code bash /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"
 +</code>
 +
 +<code bash /etc/sysctl.conf>
 +# IPv6 Sockets sind von IPv6 & IPv4 ansprechbar
 +net.inet6.ip6.v6only=0
 +</code>
 +
 +
 +===== IPv6 abschalten =====
 +
 +
 +==== FreeBSD ====
 +
 +  * [[https://www.freebsd.org/doc/de/books/developers-handbook/ipv6.html]]
 +  * [[https://forums.freebsd.org/threads/freebsd-9-disable-ipv6.29042/]]
 +  * [[http://www.hpc.mil/index.php/2013-08-29-16-03-23/networking-overview/2013-10-03-17-24-38/ipv6-knowledge-base-ip-transport/enabling-ipv6-in-freebsd-unix]]
 +  * [[https://grox.net/sysadm/unix/fbsd_disable_ipv6.howto]]
 +
 +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 ====
 +
 +  * [[http://www.pro-linux.de/artikel/2/1557/ipv6-basiertes-heim-netzwerk.html|IPv6]]
 +  * [[https://linuxconfig.org/how-to-disable-ipv6-address-on-ubuntu-18-04-bionic-beaver-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_ssl#unerwuenschte_wartezeit_wegen_ipv6_vor_dem_login|SSH]], host, ping, nslookup, ...) ist die Reihenfolge,
 +nach der sie die einzelnen Netzwerkprotokolle einsetzen, separat festgelegt.
 +
 +
 +=== /etc/gai.conf ===
 +
 +  * [[http://www.funtoo.org/wiki/IPv6_Networking#Prefer_IPv4_over_IPv6]]
 +  * [[http://www.getipv6.info/index.php/Customer_problems_that_could_occur#GNU.2FLinux]]
 +
 +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
 +