Disabilitare IPv6 sull'interfaccia in Debian Wheezy?


10

Sto lavorando su Debian Wheezy:

$ uname -a
Linux openstack1 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux

Ho configurato due reti per 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

Nella macchina virtuale, ho quanto segue in /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

Quando esamino la configurazione dell'interfaccia, IPv6 è abilitato:

$ 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 interfacesnon discute su come disabilitare IPv6 su un'interfaccia. Il progetto Debian IPv6 non specifica come disabilitare IPv6 per Wheezy (solo livello del kernel per Squeeze).

In assenza di documentazione, ho provato ad aggiungere a offe disablea eth1e eth2, ma ho provocato un errore:

iface eth1 inet6 off

(Apparentemente, la strofa sopra ha completamente rotto la rete perché non ottengo nulla da ifconfige pingnon funziona. Inoltre, eth0e losono inattivi anche se non sono stati modificati.).

Cosa devo aggiungere per /etc/network/interfacesdisabilitare IPv6 sulle interfacce che ho configurato?



Grazie Michael. È vicino, ma non del tutto. Sto cercando di disabilitarlo per l'interfaccia che ho configurato e non per il kernel.
jww

2
Se sarai soddisfatto del blocco di IPv6 (non disabilitandolo), allora puoi usare ip6tablesper bloccare completamente l'input e l'output di IPv6, ma l'interfaccia continuerà ad ascoltare IPv6.
VL-80,

Un'altra possibile soluzione: secondo Linux IPv6 HOWTO esiste la possibilità di rimuovere un indirizzo IPv6 con comando # /sbin/ifconfig <interface> inet6 del <ipv6address>/<prefixlength>. Ho disabilitato IPv6 nel mio kernel, quindi non ho potuto testarlo. Ad ogni modo, provalo e facci sapere.
VL-80,

1
Grazie Michael. "Perché stai cercando di disabilitare IPv6 su un'interfaccia" - il mio piccolo laboratorio fornisce solo IPv4, quindi non è necessario IPv6. IP v6 utilizza risorse aggiuntive e aumenta la superficie di attacco. Inoltre crea molto rumore durante le tracce di cavi. Immagino di poterlo ricacciare in rete: perché le persone dovrebbero correre qualcosa che non vogliono o di cui hanno bisogno?
1313

Risposte:


13

Secondo questa risposta , quanto segue /etc/sysctl.confdovrebbe disabilitare IPv6 su tutte le interfacce:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Modifica: per una sola interfaccia, il seguente dovrebbe fare il trucco (sostituire <interface>con il nome dell'interfaccia):

net.ipv6.conf.<interface>.disable_ipv6 = 1

Potrebbe essere necessario eseguire sudo sysctl -pdopo aver apportato le modifiche sopra. (O, in alternativa, potresti riavviare.)
mpb
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.