Wyłączenie IPv6
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