มีพารามิเตอร์การบูตเคอร์เนล Linux เพื่อกำหนดค่าที่อยู่ IPv6 หรือไม่


16

ฉันรู้ว่ามีพารามิเตอร์ชื่อipซึ่งช่วยให้คุณกำหนดค่าที่อยู่ IPv4 บนเคอร์เนล Linux ผ่านบูตโหลดเดอร์ ที่มีลักษณะดังต่อไปนี้:

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

ฉันกำลังมองหาพารามิเตอร์ที่เท่ากันสำหรับการกำหนดค่า IPv6 ฉันไม่พบอะไรเกี่ยวกับเรื่องนี้ในเอกสารเคอร์เนล

ปรับปรุง : เพราะของจำนวนมากของคุณถามว่าทำไมฉันจะต้องนี้: ความคิดที่จะใช้การตั้งค่า kernel ขึ้นมาที่เกี่ยวข้องกับการนี้ปัญหา ฉันสงสัยว่าการกำหนดค่าอินเทอร์เฟซสำหรับการบูทอัพปกติไม่เสร็จเนื่องจากอินเทอร์เฟซนั้นใช้งานได้แล้ว เหตุผลนี้อาจเป็นเพราะฉันใช้สภาพแวดล้อมก่อนบูตกับเซิร์ฟเวอร์ Dropbear SSH เพื่อให้ฉันปลดล็อกพาร์ติชันรูทที่เข้ารหัสของฉัน ที่อยู่ IP สำหรับสภาพแวดล้อมนี้ได้รับการกำหนดค่าผ่าน GRUB พร้อมip=พารามิเตอร์ ไม่มี DHCP หรือการโฆษณาเราเตอร์ในส่วนอีเทอร์เน็ตนั้นและเนื่องจากนี่เป็นส่วนอัปลิงค์ที่จัดทำโดย บริษัท โฮสติ้งขนาดใหญ่จึงไม่มีทางที่จะเปลี่ยนความจริงนั้น


ในความเป็นจริงไม่มี คุณสามารถเปิดใช้งานการกำหนดค่าอัตโนมัติ IPv6 แต่นั่นอาจไม่ใช่สิ่งที่คุณกำลังมองหา มีผลลัพธ์เฉพาะที่คุณพยายามทำหรือไม่ (เช่นสาเหตุที่คุณต้องการหลีกเลี่ยงการกำหนดค่า IPv6 ในกระบวนการเริ่มต้นของเครื่องหรือไม่) ip=พารามิเตอร์เริ่มต้นเพื่อกำหนดค่าสแต็ค IP ก่อนที่เคอร์เนลพยายามติดตั้งระบบไฟล์รูท NFS แต่ฉันรู้สึกว่าคุณควรพึ่งพาสิ่งอื่นเพื่อให้ได้ผลลัพธ์เดียวกันกับ IPv6 (ส่วนใหญ่อาจเป็น SLAAC)
pino42

ฉันรู้เกี่ยวกับ SLAAC แต่ฉันต้องตั้งค่าด้วยตนเอง
aef

3
ความรู้สึกของฉันคือตั้งแต่การเปิดตัวฟีเจอร์ "Early userspace" (initramfs ฝังอยู่ในเคอร์เนลหรือเป็นไฟล์แยกต่างหากเช่นแบบดั้งเดิมดั้งเดิม) คุณควรทำสิ่งต่าง ๆ เช่นการกำหนดค่าที่อยู่ IP ที่นั่นแทนที่จะเป็นแบบพิเศษครั้งเดียว พารามิเตอร์บรรทัดคำสั่ง นั่นอาจเป็นสาเหตุที่มีพารามิเตอร์บรรทัดคำสั่งประวัติสำหรับ IPv4 แต่ไม่มีการเพิ่มสำหรับ IPv6
Celada

คุณต้องการตั้งค่าเวลาใดในกระบวนการบู๊ต
pino42

เป็นไปได้ยากมากที่คุณต้องการสิ่งนี้ สิ่งที่ว่าคุณกำลังพยายามที่จะบรรลุ?
Michael Hampton

คำตอบ:


7

ขออภัย แต่ถ้าคุณต้องการสิ่งนี้คุณจะต้องสร้างด้วยตัวเองหรือมีโอกาสมากขึ้นที่จะนำการใช้งานของคนอื่นมาใช้ซ้ำ

ip=เลือกบรรทัดคำสั่งคุณได้ใช้เป็นจริงส่วนหนึ่งของรหัสบูตเคอร์เนลสำหรับการติดตั้งระบบแฟ้มราก NFS ไม่เคยมีการขยายสำหรับ IPv6 และไม่มีพารามิเตอร์การบูตเคอร์เนลสำหรับการกำหนดค่า IPv6 ณ เวลาบูต

ที่กล่าวว่าการกระจาย Linux บางอย่างเช่น Red Hat ได้ใช้ipv6=พารามิเตอร์การบูตของตัวเองสำหรับสื่อการติดตั้งของพวกเขา คุณอาจจะสามารถใช้รหัสนี้ซ้ำใน initramfs ที่กำหนดเองของคุณ


3

ตาม Fedora พารามิเตอร์ ip = สามารถใช้กับที่อยู่ IPv4 หรือ IPv6 ที่อยู่ IPv6 จะต้องอยู่ในเครื่องหมายวงเล็บเหลี่ยม หากคุณต้องการทั้งสองอย่างคุณสามารถใช้ตัวเลือก ip = หลายตัวบนเคอร์เนลไลน์ดังเช่น:

... ip = [2001: db8 :: dead: beef] :: [2001: db8 :: cafe: babe]: 64 :: eth0: none ip = 192.0.2.5 :: 192.0.2.1: 255.255.255.0 :: eth0: ไม่มี ...


คำตอบนี้ขัดแย้งกับคำตอบที่ยอมรับ นี่อาจเป็นเพราะคำตอบที่ยอมรับนั้นล้าสมัยแล้ว หากต้องการลบข้อสงสัยใด ๆ เกี่ยวกับคำตอบที่ถูกต้องคุณควรรวมลิงก์ไปยังแหล่งที่มาของข้อมูลนี้ด้วย
kasperd

1
นี่อาจเป็นวิวัฒนาการของสิ่งที่ RedHat นำมาใช้ซึ่งถูกกล่าวถึงในคำตอบของ Michael Hampton ฉันทดสอบมันใน Debian Jessie และมันไม่ทำงาน ฉันยังคงมองหาวิธี Linux ทั่วไปที่จะทำ
aef

2

พารามิเตอร์การบู๊ตทั้งหมดของคุณพร้อมใช้งานผ่าน / proc / cmdline หลังจากบู๊ต ดังนั้นคุณสามารถตั้งค่าตัวเลือกที่จำเป็นทั้งหมดผ่านเบ็ด mkinitcpio ที่กำหนดเองซึ่งจะแยกวิเคราะห์ cmdline เพื่อค้นหาพารามิเตอร์เฉพาะ คุณสามารถใช้ ipv6 = like ip = one


ใช่. ฉันสามารถสร้างได้ด้วยตัวเอง แต่นั่นไม่ใช่สิ่งที่ฉันกำลังมองหา ยังคงขอบคุณสำหรับความคิด
aef
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.