Wyłączenie IPv6

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Ten artykuł opisuje jak w Linuksie i Windowsie może zostać wyłączona obsługa IPv6. Ze względów bezpieczeństwa może to być użyteczne, oczywiście jeżeli IPv6 nie jest jeszcze produktywnie używane. W ten sposób można uniknąć otrzymania adresu IPv6, w przypadku, gdy w sieci dostępny jest Advertisement Daemon. Poza tym obecne reguły firewallu (Firewall Rules) często nie obowiązują dla IPv6. W tym przypadku pewne usługi mogą być dostępne przez IPv6, pomimo, że w regułach IPv4 zostały zablokowane. W Linuksie dostępne jest polecenie "ip6tables", które pozwala na zarządzanie regułami IPv6.

Ubuntu 12.04 - Precise Pangolin / Ubuntu 10.04 - Lucid Lynx

W Ubuntu 10.04 i 12.04 jest IPv6 zawarte w jadrze i nie jest ładowane jako moduł. Najłatwiejszą metodą wyłączenia IPv6 jest nadanie odpowiedniego parametru sysctl. Tymczasowo może zostać to przeprowadzone poleceniem:

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6

Aby te ustawienia zostały trwale zachowane, oferuje się skorzystanie z funkcjonalności sysctl. Do tego należy utworzyć plik o nazwie /etc/sysctl.d/01-disable-ipv6.conf y następującą zawartością:

net.ipv6.conf.all.disable_ipv6 = 1

Po następnym restarcie IPv6 jest wyłączone.

Skontrolowane może zostać to komendą "ip addr show". Nie może zawierać tekstu "inet6".

ip addr show | grep inet6

RHEL 4 / CentOS 4

W RHEL 4 / CentOS 4 jest IPv6 zintegrowane jako moduł.

Aby je wyłączyć należy dodać w pliku /etc/modprobe.conf następujący wiersz:

install ipv6 /bin/true

Skontrolować wynik można jak w Ubuntu 10.04 poleceniem "ip addr show | grep inet6" lub alternatywnie komendą

lsmod | grep -i ipv6


Windows Vista, Windows 7, Windows Server 2008

Informacje na ten temat dostępne są w Microsoft Support: http://support.microsoft.com/?scid=kb%3Bde%3B929852&x=17&y=13

Windows XP

Informacje na ten temat dostępne są w Microsoft Support: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sag_ip_v6_pro_remove.mspx?mfr=true

Aplikacje, które wymagają obsługi IPv6

OpenVZ

W OpenVZ z jądrem "2.6.18-164.15.1.el5.028stab068.9" występuje następujący problem. W przypadku wyłączenia IPv6 poprzez Modul-Blacklisting (vide "RHEL 4 / CentOS 4"), OpenVZ nie funkcjonuje. Moduł vzmon nie może zostać załadowany.

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

To samo może również dotyczyć Virtuozzo: http://kb.parallels.com/en/3583

Unbound DNS Server

Unbound DNS Server nasłuchuje w standardowej konfiguracji na 127.0.0.1 (IPv4) i ::1 (IPv6). Jeśli IPv6 zostanie, jak powyżej opisane, wyłączone, w Unbound występuje podczas uruchamiania ze standardową konfiguracją następujący błąd:

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:~$

Można łatwo obejść ten problem poprzez pozostawienie w konfiguracji /etc/unbound/unbound.conf wyłącznie adresu 127.0.0.1:

        # 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

Powiązane artykuły

Firewall programowy
Podstawowe informacje o VLAN
Voltoampery (VA) vs Waty