Come disabilitare ipv6 su un'interfaccia specifica in linux?


24

Qualcuno potrebbe dirmi come disabilitare la configurazione automatica di ipv6 su una specifica interfaccia di rete in CentOS?

La situazione attuale è:

Un PC ha due adattatori di rete eth0 ed eth1 che si connettono alla stessa LAN, in cui il router IPv6 pubblicizza un prefisso IPv6 con il pacchetto NDRA (Neighbor Discovery Router Advertisements). Di conseguenza, sia eth0 che eth1 stanno configurando automaticamente l'indirizzo IPv6 con quel prefisso.

Ma voglio solo abilitare ipv6 su eth1 e disabilitarlo su eth0. Ho provato i seguenti metodi, ma non funzionano.

1. / etc / sysconfig / network

NETWORKING_IPV6=no
IPV6_AUTOCONF=no

Questo disabiliterà ipv6 sia su eth0 che su eth1.

2. / etc / sysconfig / network-scripts / ifcfg-eth0

IPV6INIT=no
IPV6_AUTOCONF=no

Quindi non funziona. Ho già riavviato il servizio di rete. Sono un po 'confuso su questo problema. Grazie in anticipo.


1
sysconfig.txt implica sicuramente che ciò che hai fatto dovrebbe disabilitare IPv6 su un'interfaccia specifica. Tuttavia, sembra che quelle bandiere vengano ignorate. Ci sono due segnalazioni di bug al riguardo, anch'esse ignorate. Vedi bugzilla.redhat.com/show_bug.cgi?id=982740 & bugzilla.redhat.com/show_bug.cgi?id=496444
Stefan Lasiewski

Risposte:


41

Puoi disabilitarlo da /etc/sysctl.conf con questa riga:

net.ipv6.conf.eth0.disable_ipv6 = 1

Dai un'occhiata a / proc / sys / net / ipv6 / conf / eth0. Ci sono molte opzioni che puoi impostare in quella directory, come lasciare abilitato IPv6 ma disabilitare autoconf ecc.


4
Cordiali saluti per coloro che cercano di disabilitare tutto, non solo un'interfaccia, è sufficiente sostituire "eth0" con "all"
Peter

1
In realtà, invece di modificarlo /etc/sysctl.conf, crea un file nel /etc/sysctl.dnome, ad esempio 00_ipv6_off.confcon i contenuti sopra. ifconfigmostrerà quindi le interfacce prive della funzionalità IPv6.
David Tonhofer,

In una riga:echo "net.ipv6.conf.eth0.disable_ipv6 = 1" > /etc/sysctl.d/00_ipv6_off.conf
David Tonhofer, il

11
$ sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1

depreca

# echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6

Per assicurarti che questa modifica persista durante i riavvi, ti consigliamo di aggiungere questa linea al tuo /etc/sysctl.conffile:

net.ipv6.conf.eth0.disable_ipv6=1

Si noti che l'utilizzo del /etc/sysconfig/network-scripts/ifcfg-eth0file non è portatile.


3

Dovresti essere root per impostare i parametri di rete di seguito:

echo 1 > /proc/sys/net/ipv6/conf/wlan0/disable_ipv6

Funzionerà anche negli installatori, se un installatore debian si blocca nel rilevare le impostazioni di rete. Vai alla console (alt + 2) e digita questo comando. Torna al programma di installazione. Premi Ctrl + C per uscire dal rilevamento e reinizializzare il rilevamento della rete.
lsu_guy il

1

L'uso delle seguenti variabili in ifcfg-eth0 o ifcfg-eth1:

IPV6INIT=no
IPV6_AUTOCONF=no

Dovrebbe fare il trucco. Reiterare:

/ Etc / sysconfig / network

NETWORKING_IPV6=yes
IPV6_AUTOCONF=yes

/ Etc / sysconfig / network-scripts / ifcfg-eth0

IPV6INIT=no
IPV6_AUTOCONF=no

/ Etc / sysconfig / network-scripts / ifcfg-eth0

IPV6INIT=yes
IPV6_AUTOCONF=yes

Quindi assicurati di riavviare il servizio di rete:

% /etc/init.d/network restart

Se corri ifconfigdovresti vedere inet6 sul dispositivo Ethernet (o eth0 o eth1) con ipv6 abilitato.

% ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 01:26:BD:85:CA:30  
          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::226:c7ff:fe85:a720/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2497072 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2253781 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2004576667 (1.8 GiB)  TX bytes:1296051472 (1.2 GiB)

Sì, è un po 'strano. L'impostazione "net.ipv6.conf.eth0.disable_ipv6 = 1" è una buona soluzione. Grazie per la tua risposta.
Yves Messi,

1
Hmmmm, non mi sono accovacciato sul mio sistema (RH 6.5 X86_64 in un ambiente virtualizzato). Buono a sapersi, però, per quelli per quei sistemi in cui funziona.
luis.espinal,
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.