Có tham số khởi động hạt nhân Linux để định cấu hình địa chỉ IPv6 không?


16

Tôi biết có một tham số có tên ipcho phép bạn định cấu hình địa chỉ IPv4 trên nhân Linux thông qua bộ tải khởi động. Điều đó trông giống như sau:

ip=192.0.2.1::192.0.2.62:255.255.255.192::eth0:none

Tôi đang tìm kiếm một tham số bằng nhau cho cấu hình IPv6. Tôi không thể tìm thấy bất cứ điều gì về điều này trong các tài liệu kernel.

Cập nhật : Bởi vì có rất nhiều bạn hỏi tại sao tôi lại cần điều này: Ý tưởng sử dụng cấu hình kernel xuất hiện liên quan đến vấn đề này . Tôi nghi ngờ cấu hình giao diện khởi động thông thường không được thực hiện, vì các giao diện đã sẵn sàng. Lý do cho điều này có thể là vì tôi đang sử dụng môi trường tiền khởi động với máy chủ SSH Dropbear để cho phép tôi mở khóa phân vùng gốc được mã hóa. Các địa chỉ IP cho môi trường này được cấu hình thông qua GRUB với ip=tham số. Không có DHCP hoặc Quảng cáo Bộ định tuyến có sẵn trên phân khúc Ethernet đó và vì đây là phân khúc đường lên được cung cấp bởi một công ty lưu trữ lớn, không có cách nào để thay đổi thực tế đó.


Trong thực tế, không có một. Bạn có thể kích hoạt cấu hình tự động IPv6, nhưng đó có thể không phải là thứ bạn đang tìm kiếm. Có kết quả cụ thể nào mà bạn đang cố gắng đạt được không (nghĩa là lý do bạn muốn tránh cấu hình IPv6 trong quá trình khởi tạo máy là gì?) ip=Tham số ban đầu có nghĩa là định cấu hình ngăn xếp IP trước khi kernel cố gắn hệ thống tệp gốc NFS , nhưng tôi cảm thấy rằng bạn nên dựa vào một cái gì đó khác để đạt được kết quả tương tự với IPv6 (rất có thể là SLAAC).
pino42

Tôi biết về SLAAC. Nhưng tôi cần phải thiết lập nó bằng tay.
AEF

3
Cảm giác của tôi là từ khi giới thiệu tính năng "không gian người dùng sớm" (initramfs được nhúng trong kernel hoặc dưới dạng tệp riêng biệt như initrd truyền thống), bạn được khuyến khích thực hiện những việc như định cấu hình địa chỉ IP ở đó thay vì một lần đặc biệt tham số dòng lệnh. Đó có thể là lý do tại sao có một tham số dòng lệnh lịch sử cho IPv4 nhưng không có tham số nào được thêm cho IPv6.
Celada

Tại thời điểm nào trong quá trình khởi động, bạn cần thiết lập nó?
pino42

Nó cực kỳ không chắc là bạn cần thứ này. Có gì chính xác bạn đang cố gắng để thực hiện?
Michael Hampton

Câu trả lời:


7

Xin lỗi, nhưng nếu bạn muốn điều này, bạn sẽ phải tự xây dựng nó, hoặc nhiều khả năng, sử dụng lại việc thực hiện của người khác.

Các ip=dòng lệnh tùy chọn mà bạn đã sử dụng thực sự là một phần của mã khởi động của hạt nhân cho lắp đặt một hệ thống tập tin gốc NFS . Nó chưa bao giờ được mở rộng cho IPv6 và không có tham số khởi động kernel để định cấu hình IPv6 khi khởi động.

Điều đó nói rằng, một số bản phân phối Linux như Red Hat đã triển khaiipv6= tham số khởi động riêng cho phương tiện cài đặt của họ. Bạn có thể sử dụng lại mã này trong initramfs tùy chỉnh của bạn.


3

Theo Fedora, tham số ip = có thể được sử dụng với địa chỉ IPv4 hoặc IPv6. Địa chỉ IPv6 phải được đặt trong dấu ngoặc vuông. Nếu bạn cần cả hai, bạn có thể sử dụng nhiều tùy chọn ip = trên dòng kernel như trong:

... ip = [2001: db8 :: dead: thịt bò] :: [2001: db8 :: cafe: babe]: 64 :: eth0: none ip = 192.0.2.5 :: 192.0.2.1: 255.255.255.0 :: eth0: không ...


Câu trả lời này mâu thuẫn với câu trả lời được chấp nhận. Điều này có thể là do câu trả lời được chấp nhận đã lỗi thời. Để loại bỏ bất kỳ nghi ngờ nào về câu trả lời nào là chính xác, sẽ là một ý tưởng tốt để bao gồm một liên kết đến nguồn thông tin này.
kasperd

1
Đây có lẽ là một sự tiến hóa của điều RedHat thực hiện, được đề cập trong câu trả lời của Michael Hampton. Tôi đã thử nghiệm nó trong Debian Jessie và nó không hoạt động. Tôi vẫn đang tìm kiếm một cách chung cho Linux để làm điều đó.
aef

2

Tất cả các tham số khởi động của bạn có sẵn thông qua / Proc / cmdline sau khi khởi động. Vì vậy, bạn chỉ có thể thiết lập tất cả các tùy chọn cần thiết thông qua hook mkinitcpio tùy chỉnh, sẽ phân tích cmdline để tìm kiếm param cụ thể. Bạn có thể sử dụng ipv6 = like ip = one.


Vâng. Tôi có thể tự xây dựng nó, nhưng đó không phải là thứ tôi đang tìm kiếm. Vẫn cảm ơn vì ý tưởng.
aef
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.