Vô hiệu hóa IPv6 trên giao diện trong Debian Wheezy?


10

Tôi đang làm việc trên Debian Wheezy:

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

Tôi đã thiết lập hai mạng cho 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

Trong máy ảo, tôi có các mục sau /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

Khi tôi kiểm tra cấu hình giao diện, IPv6 được bật:

$ 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 interfaceskhông thảo luận về cách vô hiệu hóa IPv6 trên giao diện. Các dự án IPv6 Debian không xác định làm thế nào để vô hiệu hóa IPv6 cho Wheezy (chỉ mức độ hạt nhân cho Squeeze).

Trong trường hợp không giấy tờ, tôi đã cố gắng thêm một offdisableđể eth1eth2, nhưng nó dẫn đến một lỗi:

iface eth1 inet6 off

(Rõ ràng, khổ thơ trên đã phá vỡ hoàn toàn mạng vì tôi không nhận được gì ifconfigpingkhông hoạt động. Ngoài ra, eth0lokhông hoạt động ngay cả khi chúng không được sửa đổi.).

Tôi phải thêm gì /etc/network/interfacesđể tắt IPv6 trên các giao diện tôi đã định cấu hình?



Cảm ơn Michael. Nó gần, nhưng không hoàn toàn. Tôi đang tìm cách vô hiệu hóa nó cho giao diện mà tôi đã cấu hình chứ không phải kernel.
jww

2
Nếu bạn sẽ hài lòng với việc chặn IPv6 (không tắt), bạn có thể sử dụng ip6tablesđể chặn hoàn toàn đầu vào và đầu ra IPv6, nhưng giao diện vẫn sẽ lắng nghe IPv6.
VL-80

Một giải pháp khả thi khác: theo Linux IPv6 HOWTO có khả năng xóa địa chỉ IPv6 bằng lệnh # /sbin/ifconfig <interface> inet6 del <ipv6address>/<prefixlength>. Tôi đã vô hiệu hóa IPv6 trong kernel của mình, vì vậy tôi không thể kiểm tra nó. Dù sao, hãy thử nó và cho chúng tôi biết.
VL-80

1
Cảm ơn Michael. "Tại sao bạn lại cố gắng vô hiệu hóa IPv6 trên một giao diện" - phòng thí nghiệm nhỏ của tôi chỉ cung cấp IPv4, vì vậy không cần IPv6. IP v6 sử dụng các tài nguyên bổ sung và tăng bề mặt tấn công. Thêm vào đó, nó tạo ra rất nhiều tiếng ồn trong quá trình theo dõi wireshark. Tôi đoán rằng tôi có thể đưa nó trở lại qua mạng: tại sao mọi người sẽ chạy thứ gì đó họ không muốn hoặc không cần?
13 giờ 40 phút

Câu trả lời:


13

Theo câu trả lời này , những điều sau đây /etc/sysctl.confsẽ vô hiệu hóa IPv6 trên tất cả các giao diện:

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

Chỉnh sửa: chỉ với một giao diện, sau đây nên thực hiện thủ thuật (thay thế <interface>bằng tên của giao diện):

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

Bạn có thể cần phải chạy sudo sysctl -psau khi thực hiện các thay đổi ở trên. (Hoặc, thay vào đó, bạn có thể khởi động lại.)
mpb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.