Làm cách nào để tắt ipv6 trên một giao diện cụ thể trong linux?


24

Ai đó có thể cho tôi biết cách tắt cấu hình tự động ipv6 trên giao diện mạng cụ thể trong CentOS không?

Tình hình hiện tại là:

Một PC có hai bộ điều hợp mạng eth0 và eth1 đang kết nối với cùng một mạng LAN, trong đó, bộ định tuyến IPv6 đang quảng cáo tiền tố IPv6 với gói NDRA (Neighbor Discovery Router Advertising). Kết quả là cả eth0 và eth1 đều tự động định cấu hình địa chỉ IPv6 với tiền tố đó.

Nhưng, tôi chỉ muốn kích hoạt ipv6 trên eth1 và vô hiệu hóa nó trên eth0. Tôi đã thử các phương pháp sau, nhưng chúng không hiệu quả.

1. / etc / sysconfig / mạng

NETWORKING_IPV6=no
IPV6_AUTOCONF=no

Điều này sẽ vô hiệu hóa ipv6 trên cả eth0 và eth1.

2. / etc / sysconfig / tập lệnh mạng / ifcfg-eth0

IPV6INIT=no
IPV6_AUTOCONF=no

Sau đó, nó không hoạt động. Tôi đã khởi động lại dịch vụ mạng rồi. Tôi hơi bối rối về vấn đề này. Cảm ơn trong nâng cao.


1
sysconfig.txt chắc chắn ngụ ý rằng những gì bạn đã làm nên vô hiệu hóa IPv6 trên một giao diện cụ thể. Tuy nhiên, có vẻ như những lá cờ bị bỏ qua. Có hai báo cáo lỗi về điều này, cũng đã bị bỏ qua. Xem bugzilla.redhat.com/show_orms.cgi?id=982740 & bugzilla.redhat.com/show_orms.cgi?id=496444
Stefan Lasiewski

Câu trả lời:


41

Bạn có thể vô hiệu hóa nó từ /etc/sysctl.conf với dòng này:

net.ipv6.conf.eth0.disable_ipv6 = 1

Hãy xem / Proc / sys / net / ipv6 / conf / eth0. Có nhiều tùy chọn bạn có thể đặt trong thư mục đó, như bật IPv6 nhưng vô hiệu hóa autoconf, v.v.


4
FYI cho những người muốn vô hiệu hóa tất cả, không chỉ một giao diện, chỉ cần thay thế "eth0" bằng "tất cả"
Peter

1
Trên thực tế, thay vì sửa đổi /etc/sysctl.conf, hãy tạo một tệp /etc/sysctl.dcó tên ví dụ 00_ipv6_off.confvới các nội dung trên. ifconfigsau đó sẽ hiển thị các giao diện thiếu chức năng IPv6.
David Tonhofer

Trong một dòng: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

không dùng nữa

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

Để đảm bảo rằng thay đổi này vẫn tồn tại trong suốt quá trình khởi động lại, bạn sẽ muốn thêm dòng này vào /etc/sysctl.conftệp của mình :

net.ipv6.conf.eth0.disable_ipv6=1

Lưu ý rằng sử dụng /etc/sysconfig/network-scripts/ifcfg-eth0tệp là không di động.


3

Bạn nên root để đặt tham số mạng bên dưới:

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

Điều này cũng sẽ hoạt động trong trình cài đặt, nếu trình cài đặt debian bị kẹt khi phát hiện cài đặt mạng. Đi tới bàn điều khiển (alt + 2) và gõ lệnh này. Quay trở lại trình cài đặt. Nhấn Ctrl + C để thoát khỏi phát hiện và khởi tạo lại phát hiện mạng.
lsu_guy

1

Việc sử dụng các biến sau trong ifcfg-eth0 hoặc ifcfg-eth1:

IPV6INIT=no
IPV6_AUTOCONF=no

Nên làm thủ thuật. Để nhắc lại:

/ etc / sysconfig / mạng

NETWORKING_IPV6=yes
IPV6_AUTOCONF=yes

/ etc / sysconfig / tập lệnh mạng / ifcfg-eth0

IPV6INIT=no
IPV6_AUTOCONF=no

/ etc / sysconfig / tập lệnh mạng / ifcfg-eth0

IPV6INIT=yes
IPV6_AUTOCONF=yes

Sau đó, đảm bảo bạn khởi động lại dịch vụ mạng:

% /etc/init.d/network restart

Nếu bạn chạy, ifconfigbạn sẽ thấy inet6 trên thiết bị ethernet (eth0 hoặc eth1) đã bật ipv6.

% 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)

Vâng, nó hơi lạ. Đặt "net.ipv6.conf.eth0.disable_ipv6 = 1" là một giải pháp tốt. Cảm ơn câu trả lời của bạn.
Yves Messi

1
Hmmmm, đã không thực hiện squat trên hệ thống của tôi (RH 6.5 X86_64 trên môi trường ảo hóa.) Thật tốt khi biết những điều đó cho những hệ thống nơi nó hoạt động.
luis.espinal
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.