IPv6 deaktivieren

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

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.

Ubuntu

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

RHEL / CentOS

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.

Windows

Informationen zur Deaktivierung von IPv6 finden Sie für die jeweiligen Windows Versionen auf den folgenden Seiten:

Anwendungen welche IPv6 Support voraussetzen

OpenVZ

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

Unbound DNS Server

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


Foto Christoph Mitasch.jpg

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.


Das könnte Sie auch interessieren

Bash history
Linux Pipe Viewer (pv)
PCIe Bus Error Status 00001100 beheben