Pracuję nad Debian Wheezy:
$ uname -a
Linux openstack1 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
Skonfigurowałem dwie sieci dla VirtualBox:
# Public network vboxnet0 (10.1.0.0/16)
VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet0 --ip 10.1.0.254 --netmask 255.255.0.0
# Private network vboxnet1 (10.2.0.0/16)
VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet1 --ip 10.2.0.254 --netmask 255.255.0.0
...
# VirtualBox Network
VBoxManage modifyvm openstack1 --nic1 nat \
--nic2 hostonly --hostonlyadapter2 vboxnet0 \
--nic3 hostonly --hostonlyadapter3 vboxnet1
Na maszynie wirtualnej mam następujące elementy /etc/network/interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
# Primary network interface
auto eth0
iface eth0 inet dhcp
# Public network (OpenStack)
auto eth1
iface eth1 inet static
address 10.1.0.10
netmask 255.255.0.0
network 10.1.0.0
broadcast 10.1.255.255
# Private network (OpenStack)
auto eth2
iface eth2 inet static
address 10.2.0.10
netmask 255.255.0.0
network 10.2.0.0
broadcast 10.2.255.255
Podczas sprawdzania konfiguracji interfejsu włącza się protokół IPv6:
$ sudo ifconfig
[sudo] password for openstack:
eth0 Link encap:Ethernet HWaddr 08:00:27:6f:c5:38
inet addr:172.16.1.23 Bcast:172.31.255.255 Mask:255.240.0.0
inet6 addr: fe80::a00:27ff:fe6f:c538/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:614 errors:0 dropped:0 overruns:0 frame:0
TX packets:120 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:61279 (59.8 KiB) TX bytes:13336 (13.0 KiB)
eth1 Link encap:Ethernet HWaddr 08:00:27:79:99:40
inet addr:10.1.0.10 Bcast:10.1.255.255 Mask:255.255.0.0
inet6 addr: fe80::a00:27ff:fe79:9940/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:35 errors:0 dropped:0 overruns:0 frame:0
TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5288 (5.1 KiB) TX bytes:8485 (8.2 KiB)
eth2 Link encap:Ethernet HWaddr 08:00:27:f1:7b:f5
inet addr:10.2.0.10 Bcast:10.2.255.255 Mask:255.255.0.0
inet6 addr: fe80::a00:27ff:fef1:7bf5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:35 errors:0 dropped:0 overruns:0 frame:0
TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5288 (5.1 KiB) TX bytes:8690 (8.4 KiB)
man 5 interfacesnie omawia sposobu wyłączania IPv6 w interfejsie. Projekt Debian IPv6 nie określa, jak wyłączyć IPv6 dla Wheezy (tylko poziom jądra dla Squeeze).
W przypadku braku dokumentacji, próbowałem dodanie offa disabledo eth1i eth2, ale to spowodowało błędu:
iface eth1 inet6 off
(Wygląda na to, że powyższa zwrotka całkowicie zepsuła sieć, ponieważ nic nie wychodzi ifconfigi pingnie działa. Dodatkowo, eth0i nie działa, lomimo że nie zostały zmodyfikowane.)
Do czego mam dodać, aby /etc/network/interfaceswyłączyć IPv6 na skonfigurowanych przeze mnie interfejsach?
ip6tablesdo całkowitego zablokowania wejścia i wyjścia IPv6, ale interfejs nadal będzie nasłuchiwał IPv6.
# /sbin/ifconfig <interface> inet6 del <ipv6address>/<prefixlength>. Wyłączyłem IPv6 w moim jądrze, więc nie mogłem go przetestować. W każdym razie spróbuj i daj nam znać.