Nonaktifkan IPv6 pada Antarmuka di Debian Wheezy?

10

Saya sedang mengerjakan Debian Wheezy:

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

Saya mengatur dua jaringan untuk 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

Di mesin virtual, saya memiliki yang berikut ini di /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

Ketika saya memeriksa konfigurasi antarmuka, IPv6 diaktifkan:

$ 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 interfacestidak membahas cara menonaktifkan IPv6 pada antarmuka. Proyek Debian IPv6 tidak menentukan cara menonaktifkan IPv6 untuk Wheezy (hanya level kernel untuk Squeeze).

Dengan tidak adanya dokumentasi, saya mencoba menambahkan a offdan disableke eth1dan eth2, tetapi itu menghasilkan kesalahan:

iface eth1 inet6 off

(Rupanya, bait di atas benar-benar merusak jaringan karena saya tidak mendapatkan apa-apa ifconfigdan pingtidak berfungsi. Selain itu, eth0dan loturun meskipun tidak dimodifikasi.).

Apa yang saya tambahkan untuk /etc/network/interfacesmenonaktifkan IPv6 pada antarmuka yang telah saya konfigurasi?

jww
sumber
1
Kemungkinan rangkap dari Cara menonaktifkan IPv6 di Debian Wheezy?
CVn
Terima kasih Michael. Dekat, tapi tidak cukup. Saya mencari untuk menonaktifkannya untuk antarmuka yang saya konfigurasi, dan bukan kernel.
jww
2
Jika Anda akan senang dengan memblokir IPv6 (tidak menonaktifkan), daripada yang dapat Anda gunakan ip6tablesuntuk memblokir input dan output IPv6 sepenuhnya, tetapi antarmuka masih akan mendengarkan IPv6.
VL-80
Solusi lain yang mungkin: sesuai Linux IPv6 HOWTO ada kemungkinan untuk menghapus alamat IPv6 dengan perintah # /sbin/ifconfig <interface> inet6 del <ipv6address>/<prefixlength>. Saya menonaktifkan IPv6 di kernel saya, jadi saya tidak bisa mengujinya. Bagaimanapun, cobalah dan beri tahu kami.
VL-80
1
Terima kasih Michael. "Mengapa Anda mencoba menonaktifkan IPv6 pada sebuah antarmuka" - lab kecil saya hanya menyediakan IPv4, jadi tidak perlu untuk IPv6. IP v6 menggunakan sumber daya tambahan dan meningkatkan permukaan serangan. Plus itu menciptakan banyak suara selama jejak wireshark. Saya kira saya bisa melakukan voli kembali melalui internet: mengapa orang menjalankan sesuatu yang tidak mereka inginkan atau butuhkan?
jww

Jawaban:

13

Menurut jawaban ini , berikut ini /etc/sysctl.confharus menonaktifkan IPv6 di semua antarmuka:

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

Sunting: hanya untuk satu antarmuka, berikut ini akan melakukan trik (ganti <interface>dengan nama antarmuka):

net.ipv6.conf.<interface>.disable_ipv6 = 1
Komunitas
sumber
Anda mungkin perlu menjalankan sudo sysctl -psetelah melakukan perubahan di atas. (Atau, sebagai alternatif, Anda bisa reboot.)
mpb