Dieser Artikel beschreibt wie Sie unter Linux und Windows den IPv6 Support deaktivieren bzw. ausschalten können. Dies kann aus Sicherheitsgründen sinnvoll sein solange man IPv6 noch nicht produktiv einsetzt. Damit kann verhindert werden, dass man eine IPv6 Adresse erhält, sobald ein IPv6 Router Advertisement Daemon in einem Netz verfügbar ist. Außerdem sind bestehende Firewall Rules oft nicht für IPv6 gültig. In diesem Fall hätte man dann unter Umständen Dienste per IPv6 zugänglich die man eigentlich mit einer IPv4 Regel unterbunden hat. Unter Linux gibt es das eigene Kommando "ip6tables" zur Verwaltung der IPv6 Firewall Rules.
In Ubuntu 10.04, 12.04, 14.04 und 16.04 ist IPv6 direkt in den Kernel kompiliert und wird nicht als Modul geladen. Die einfachste Methode um IPv6 zu deaktivieren ist den passenden sysctl Parameter zu setzen. Temporär kann dies mit folgendem Kommando erfolgen:
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
Um diese Einstellung dauerhaft vorzunehmen bietet es sich an auf die sysctl Funktionalitäten zurückzugreifen. Dafür einfach eine Datei namens /etc/sysctl.d/01-disable-ipv6.conf
anlegen mit folgendem Inhalt:
net.ipv6.conf.all.disable_ipv6 = 1
Nach dem nächsten Reboot ist IPv6 dann deaktiviert.
Am besten kann dies mit dem Kommando "ip addr show" überprüft werden. Es darf dann keine Einträge mit dem Text "inet6" mehr geben.
ip addr show | grep inet6
Unter RHEL 6 / CentOS 6 kann die Deaktivierung von IPv6 ident wie unter Ubuntu via sysctl erfolgen (siehe oben).
In RHEL 4 / CentOS 4 ist IPv6 als Modul integriert. Um dieses zu deaktiveren einfach folgende Zeile in der Datei /etc/modprobe.conf hinzufügen:
install ipv6 /bin/true
Die Überprüfung ob es geklappt hat kann mit dem Kommando "ip addr show | grep inet6" oder alternativ mit dem Kommando
lsmod | grep -i ipv6
erfolgen.
Informationen zur Deaktivierung von IPv6 finden Sie für die jeweiligen Windows Versionen auf den folgenden Seiten:
Bei OpenVZ mit dem Kernel "2.6.18-164.15.1.el5.028stab068.9" tritt folgendes Problem auf, wenn IPv6 via Modul-Blacklisting (siehe "RHEL 4 / CentOS 4") deaktiviert wird. OpenVZ funktioniert dann nicht, da das vzmon Modul nicht geladen werden kann.
Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol ve_snmp_proc_init Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol addrconf_sysctl_free Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol ve_ndisc_init Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol addrconf_ifdown Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol ip6_frag_cleanup Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol fini_ve_route6 Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol addrconf_sysctl_init Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol ve_snmp_proc_fini Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol ve_ndisc_fini Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol init_ve_route6 Jul 8 21:21:08 ovz2 kernel: vzmon: Unknown symbol addrconf_sysctl_fini Jul 8 21:21:08 ovz2 vz: failed to load module vzmon failed
Das gleiche dürfte auch für Virtuozzo gelten: http://kb.parallels.com/en/3583
Der Unbound DNS Server lauscht in der Standardkonfiguration auf 127.0.0.1 (IPv4) und ::1 (IPv6). Wird IPv6 wie oben beschrieben deaktiviert, kommt es mit der Unbound Standardkonfiguration zu folgenden Fehler beim Starten:
user@ubuntu-10.04:~$ sudo /etc/init.d/unbound start * Starting recursive DNS server unbound [1278656703] unbound[1924:0] error: can't bind socket: Cannot assign requested address [1278656703] unbound[1924:0] fatal error: could not open ports [fail] user@ubuntu-10.04:~$
Sie können das Problem leicht umgehen, indem Sie in der Konfiguration /etc/unbound/unbound.conf
explizit nur die Adresse 127.0.0.1 anführen:
# specify the interfaces to answer queries from by ip-address. # The default is to listen to localhost (127.0.0.1 and ::1). # specify 0.0.0.0 and ::0 to bind to all available interfaces. # specify every interface[@port] on a new 'interface:' labelled line. # The listen interfaces are not changed on reload, only on restart. # interface: 192.0.2.153 # interface: 192.0.2.154 # interface: 192.0.2.154@5003 # interface: 2001:DB8::5 interface: 127.0.0.1
Autor: Christoph Mitasch Christoph Mitasch arbeitet in der Abteilung Web Operations & Knowledge Transfer bei Thomas-Krenn. Er ist für die Betreuung und Weiterentwicklung der Webshop Infrastruktur zuständig. Seit einem Studienprojekt zum Thema Hochverfügbarkeit und Daten Replikation unter Linux beschäftigt er sich intensiv mit diesem Themenbereich. Nach einem Praktikum bei IBM Linz schloss er sein Diplomstudium „Computer- und Mediensicherheit“ an der FH Hagenberg ab. Er wohnt in der Nähe von Linz und ist neben der Arbeit ein begeisterter Marathon-Läufer und Jongleur, wo er mehrere Weltrekorde in der Team-Jonglage hält.
|