Bagaimana cara menonaktifkan ipv6 pada antarmuka spesifik di linux?

24

Bisakah seseorang memberi tahu saya cara menonaktifkan konfigurasi otomatis ipv6 pada antarmuka jaringan tertentu di CentOS?

Situasi saat ini adalah:

PC memiliki dua adapter jaringan, eth0 dan eth1 yang tersambung ke LAN yang sama, di mana, router IPv6 mengiklankan awalan IPv6 dengan paket NDRA (Neighbor Discovery Router Advertisements). Akibatnya, baik eth0 dan eth1 mengkonfigurasi alamat IPv6 dengan awalan itu secara otomatis.

Tapi, saya hanya ingin mengaktifkan ipv6 di eth1 dan menonaktifkannya di eth0. Saya sudah mencoba metode berikut, tetapi tidak berhasil.

1. / etc / sysconfig / network

NETWORKING_IPV6=no
IPV6_AUTOCONF=no

Ini akan menonaktifkan ipv6 pada eth0 dan eth1.

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

IPV6INIT=no
IPV6_AUTOCONF=no

Maka, itu tidak berhasil. Saya sudah memulai kembali layanan jaringan. Saya agak bingung tentang masalah ini. Terima kasih sudah mahir.

Yves Messi
sumber
1
sysconfig.txt jelas menyiratkan bahwa apa yang Anda lakukan harus menonaktifkan IPv6 pada antarmuka tertentu. Namun, tampaknya bendera-bendera itu diabaikan. Ada dua laporan bug tentang ini, yang juga diabaikan. Lihat bugzilla.redhat.com/show_bug.cgi?id=982740 & bugzilla.redhat.com/show_bug.cgi?id=496444
Stefan Lasiewski

Jawaban:

41

Anda dapat menonaktifkannya dari /etc/sysctl.conf dengan baris ini:

net.ipv6.conf.eth0.disable_ipv6 = 1

Lihatlah / proc / sys / net / ipv6 / conf / eth0. Ada banyak opsi yang dapat Anda atur di direktori itu, seperti membiarkan IPv6 diaktifkan tetapi menonaktifkan autoconf dll.

Sander Steffann
sumber
4
FYI bagi mereka yang ingin menonaktifkan semua, bukan hanya satu antarmuka, cukup ganti "eth0" dengan "semua"
Peter
1
Sebenarnya, alih-alih memodifikasi /etc/sysctl.conf, buat file dengan /etc/sysctl.dnama misalnya 00_ipv6_off.confdengan konten di atas. ifconfigkemudian akan menampilkan antarmuka yang kehilangan fungsionalitas IPv6.
David Tonhofer
Dalam satu baris:echo "net.ipv6.conf.eth0.disable_ipv6 = 1" > /etc/sysctl.d/00_ipv6_off.conf
David Tonhofer
11
$ sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1

usang

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

Untuk memastikan bahwa perubahan ini berlanjut di seluruh reboot, Anda ingin menambahkan baris ini ke /etc/sysctl.conffile Anda :

net.ipv6.conf.eth0.disable_ipv6=1

Perhatikan bahwa menggunakan /etc/sysconfig/network-scripts/ifcfg-eth0file ini tidak portabel.

cjac
sumber
3

Anda harus root untuk mengatur parameter jaringan di bawah ini:

echo 1 > /proc/sys/net/ipv6/conf/wlan0/disable_ipv6
mgundes
sumber
Ini juga akan berfungsi di installer, jika installer debian macet di mendeteksi pengaturan jaringan. Pergi ke konsol (alt + 2), dan ketik perintah ini. Kembali ke penginstal. Tekan Ctrl + C untuk keluar dari deteksi, dan inisialisasi ulang deteksi jaringan.
lsu_guy
1

Penggunaan variabel berikut di ifcfg-eth0 atau ifcfg-eth1:

IPV6INIT=no
IPV6_AUTOCONF=no

Sebaiknya lakukan triknya. Untuk mengulangi:

/ 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

Kemudian pastikan Anda memulai kembali layanan jaringan:

% /etc/init.d/network restart

Jika Anda menjalankan ifconfigAnda harus melihat inet6 pada perangkat ethernet (baik eth0 atau eth1) yang memiliki ipv6 diaktifkan.

% 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)
slm
sumber
Ya, ini agak aneh. Pengaturan "net.ipv6.conf.eth0.disable_ipv6 = 1" adalah solusi yang baik. Terima kasih atas jawaban anda.
Yves Messi
1
Hmmmm, tidak melakukan squat pada sistem saya (RH 6.5 X86_64 pada lingkungan tervirtualisasi.) Baik untuk mengetahui itu untuk sistem-sistem di mana ia bekerja.
luis.espinal