Я работаю над Debian Wheezy:
$ uname -a
Linux openstack1 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
Я настроил две сети для 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
В виртуальной машине у меня есть следующее в /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
Когда я проверяю конфигурацию интерфейса, включается 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
не обсуждает, как отключить IPv6 на интерфейсе. Проект Debian IPv6 не определяет, как отключить IPv6 для Wheezy (только уровень ядра для Squeeze).
В отсутствие документации я попытался добавить off
и disable
к eth1
и eth2
, но это привело к ошибке:
iface eth1 inet6 off
(По-видимому, вышеприведенный раздел полностью нарушил работу сети, потому что я ничего не получаю ifconfig
и ping
не работает. Кроме того, eth0
и lo
не работает, даже если они не были изменены.).
Что мне добавить, чтобы /etc/network/interfaces
отключить IPv6 на настроенных интерфейсах?
networking
debian
ipv6
jww
источник
источник
ip6tables
для полной блокировки ввода и вывода IPv6, но интерфейс все равно будет прослушивать IPv6.# /sbin/ifconfig <interface> inet6 del <ipv6address>/<prefixlength>
. Я отключил IPv6 в своем ядре, поэтому не смог его протестировать. В любом случае, попробуйте и дайте нам знать.Ответы:
Согласно этому ответу следующее
/etc/sysctl.conf
должно отключить IPv6 на всех интерфейсах:Изменить: только для одного интерфейса, следующее должно сделать трюк (заменить
<interface>
на имя интерфейса):источник
sudo sysctl -p
после внесения вышеуказанных изменений. (Или, в качестве альтернативы, вы можете перезагрузиться.)