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 interfaces
nie 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 off
a disable
do eth1
i 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 ifconfig
i ping
nie działa. Dodatkowo, eth0
i nie działa, lo
mimo że nie zostały zmodyfikowane.)
Do czego mam dodać, aby /etc/network/interfaces
wyłączyć IPv6 na skonfigurowanych przeze mnie interfejsach?
źródło
ip6tables
do 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ć.Odpowiedzi:
Zgodnie z tą odpowiedzią , następujące w
/etc/sysctl.conf
powinny wyłączyć IPv6 na wszystkich interfejsach:Edycja: tylko w przypadku jednego interfejsu następujące czynności powinny rozwiązać problem (zastąp
<interface>
nazwą interfejsu):źródło
sudo sysctl -p
po wprowadzeniu powyższych zmian. (Lub, alternatywnie, możesz zrestartować komputer).