अपने काम में हम उबंटू चलाने वाली लगभग 80 डिस्कलेस मशीनों का उपयोग कर रहे हैं। हम IPv6 में परिवर्तन करना चाहते हैं, इसलिए अब मैं अपनी डिस्कलेस प्रणाली को IPV6 के साथ काम करने की कोशिश कर रहा हूं। कर्नेल और इनट्राम्राम्स का प्रसारण अभी भी एक आईपीवी 4 कनेक्शन पर हो सकता है, लेकिन एक बार मशीन पूरी तरह से बूट हो जाने के बाद मैं चाहता हूं कि सभी नेटवर्क कनेक्शन आईपीवी 6 से अधिक हो।
इसका मतलब है कि IPv6 के माध्यम से nfsroot को माउंट किया जाना है। मेरे इस शोध से पता चला है कि initramfs-tools (1.18.5-1ubuntu4.1) IPv6 का समर्थन नहीं करता है। इसका मतलब है कि न तो ipconfig, जिसका उपयोग शुरुआती समय में इंटरफ़ेस कॉन्फ़िगरेशन के लिए किया जाता है, और न ही nfs रूट के लिए माउंट बढ़ते प्रक्रिया IPv6 सक्षम है।
इसे दरकिनार करने के लिए मैंने toitramfs में दो बायनेरिज़ जोड़े ( /etc/initramfs-tools/hooks/ipv6
):
#!/bin/bash
. /usr/share/initramfs-tools/hook-functions
copy_exec /sbin/dhclient /sbin
copy_exec /sbin/mount.nfs4 /sbin
मैं इनके साथ (a) अनुरोध करता हूं कि शुरुआती बूट समय पर DHCPv6 का अनुरोध करें
/sbin/dhclient -6 -1 -cf /tmp/dhclient.conf -pf /tmp/dhclient6.eth0.pid -lf /tmp/dhclient6.eth0.leases eth0
और (बी) निष्पादन के द्वारा प्राप्त किए गए पते के साथ इंटरफ़ेस को कॉन्फ़िगर करने के लिए:
ipv6=$(cat /tmp/dhclient6.eth0.leases | grep iaaddr | egrep -o "([a-f0-9]{1,4}:){3}([a-f0-9]{0,4}:){0,4}[a-f0-9]{1,4}")
ip -6 addr add $ipv6/112 dev eth0
आमतौर पर nfs रूट को निम्न कमांड के साथ रखा जाता है /usr/share/initramfs-tools/scripts/nfs
:
nfsmount -o nolock ${roflag} ${NFSOPTS} ${NFSROOT} ${rootmnt}
लेकिन यह IPv6 पतों को स्वीकार नहीं करता है।
इसलिए मैंने इसे बदल दिया:
mount ${roflag} -t nfs4 ${NFSROOT} ${rootmnt}
$NFSROOT
इस मामले में है [2001:4ca0:2218:1::1:2]:/lb/diskless/rootfs/ubuntu_1204_ipv6
।
इंटरफ़ेस कॉन्फ़िगरेशन काम करने के साथ-साथ रूट माउंट करने के लिए भी लगता है, लेकिन जब /sbin/init
निष्पादित किया जाता है (मुझे लगता है), IPv6 को फिर से गिरा दिया जाता है, और इसलिए सिस्टम जमा देता है (क्योंकि यह अब ubuntu रूट तक नहीं पहुंच सकता है)।
/etc/network/interfaces
फ़ाइल इस तरह दिखता है:
auto lo
iface lo inet loopback
iface eth0 inet manual
iface eth0 inet6 manual
वहाँ initramfs से इंटरफ़ेस विन्यास रखने का एक तरीका है? या जब मैं इंटरफ़ेस को कॉन्फ़िगर करता हूं तो क्या मैं कुछ गलत कर रहा हूं ip
?