DHCPv6-PD सर्वर द्वारा प्रत्यायोजित उपसर्ग के आधार पर radvd, dhcpd6, रूटिंग और / 64 सबनेट कैसे कॉन्फ़िगर करें?


10

मेरी ISP ने अभी IPv4 / IPv6 दोहरी स्टैक सेवा शुरू की है। IPv4 / IPv6 इंटरनेट को जोड़ने के लिए, लगभग सभी उपयोगकर्ता आमतौर पर ISP द्वारा पट्टे पर CPE का उपयोग करते हैं। लेकिन मैं ऐसे सीपीई के बजाय अपने लिनक्स राउटर का उपयोग करना चाहता हूं, क्योंकि मेरे राउटर में बहुत सारी भूमिकाएं हैं (बहुत सारे iptables नियम और 3 ईथरनेट इंटरफेस, http रिवर्स प्रॉक्सी, http कैश, मेमकाटेड, smtp / पॉप सर्वर और DNS प्रॉक्सी)। मैं इसे IPv4 / IPv6 डुअल स्टैक राउटर बनने देना चाहता हूं।

मेरा राउटर

  • CentOS6.0 i686
  • वैन के लिए eth0
  • LAN के लिए eth1,2
  • ISC dhcp (संस्करण 4.1.1) CentOS- अपडेट रेपो से "# yum install dhcp" द्वारा स्थापित
  • radvd (संस्करण 1.6) CentOS- बेस रेपो से "# yum install radvd" द्वारा स्थापित
  • [संपादित करें] ISC dhclient का उपयोग करने का कारण यह है कि मेरे राउटर को अपने विशिष्ट और अनुरोध संदेशों में एक DHCPv6 विकल्प १६ (विक्रेता वर्ग) भेजना है, ताकि विक्रेता-विशिष्ट-जानकारी विकल्प प्राप्त हो सके जिसमें कुछ पीपीपी-विशिष्ट informations शामिल हैं ( एसआईपी फोन नंबर, फर्मवेयर सर्वर पता)। मुझे पता है कि ISC dhclient में विकल्प 16 कैसे सेट किया जाता है, लेकिन इसे WIDE-dhcpv6 में नहीं जानते। और मुझे ISC dhclient में "id-assoc" जैसी सेटिंग्स नहीं मिल सकती हैं।

मेरा लक्ष्य

  • / 48 उपसर्ग डीएचसीपी 6-पीडी (डीएचसीपी 6 प्रीफिक्स डेलिगेशन) क्लाइंट (dhclient) eth0 पर दिया गया है।
  • एक IPv6 डिफ़ॉल्ट मार्ग ISP की ओर निर्धारित है। मुझे आईएसपी के डीएचसीपीवी 6 सर्वर के लिंक-स्थानीय पते को एक डिफ़ॉल्ट मार्ग के रूप में मानना ​​है।
  • एक / 64 सबनेट और एक वैश्विक पता (जो प्रत्यायोजित उपसर्ग में हैं) प्रत्येक LAN I / F (eth1 / eth2) को सौंपा गया है।
  • eth1 और eth2 पर radvd आरए को सौंपे गए / 64 सबनेट के आधार पर घोषित करता है।
  • eth1 और eth2 पर dhcpd6, ISP के DHCPv6 सर्वर से प्राप्त अतिरिक्त नेटवर्क जानकारी (नाम-सर्वर, डोमेन-खोजकर्ता और सिप-सर्वर-पते) की घोषणा करता है।

मेरा वर्तमान विन्यास

/ Etc / sysconfig / network

NETWORKING=yes
HOSTNAME=xxx.yyy.zzz

# Enable IPv6 routing and stop accept_ra/autoconf.
IPV6FORWARDING=yes

/ Etc / sysconfig / network-scripts / ifcfg-eth0

DEVICE="eth0"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none

# Enable DHCPv6-PD client.
DHCPV6C=yes
DHCPV6C_OPTIONS="-P -cf /etc/dhcp/dhclient6.conf"

# Disable make_resolv_conf function in /sbin/dhclient-script.
PEERDNS=no

/etc/dhcp/dhclient6.conf

script "/sbin/dhclient-script";
interface "eth0" {
        send dhcp6.reconf-accept;
        also request dhcp6.vendor-opts, dhcp6.sip-servers-names, dhcp6.sip-servers-addresses, dhcp6.sntp-servers;
}

परिणाम

"# सेवा नेटवर्क पुनरारंभ" के बाद, DHCPv6-PD क्लाइंट सफलतापूर्वक समाप्त होने लगता है।

lease6 {
  interface "eth0";
  ia-pd xx:xx:xx:xx {
    starts 1312464004;
    renew 7200;
    rebind 10800;
    iaprefix 24xx:xxxx:xxxx::/48 {
      starts 1312464004;
      preferred-life 12600;
      max-life 14400;
    }
  }
  option dhcp6.client-id xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
  option dhcp6.server-id xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
  option dhcp6.reconf-accept ;
  option dhcp6.sip-servers-addresses 24xx:xxxx:xxxx:xxxx::1;
  option dhcp6.name-servers 24xx:xxxx:xxxx:xxxx::3,24xx:xxxx:xxxx:b::3;
  option dhcp6.domain-search "xxx.jp.", "yyy.jp.";
  option dhcp6.sntp-servers 24xx:xxxx:xxxx:xxxx::a,24xx:xxxx:xxxx:b::b;
}

सवाल

DHCPv6-PD क्लाइंट सफलतापूर्वक सौंप दिया गया है / 48 उपसर्ग। लेकिन उसके बाद,

  • राउटर की रूटिंग टेबल में IPv6 डिफ़ॉल्ट मार्ग कैसे सेट करें?
  • प्रत्यायोजित उपसर्ग के आधार पर प्रत्येक LAN I / F (eth1 और eth2) में एक वैश्विक IPv6 पता और / 64 सबनेट कैसे निर्दिष्ट करें?
  • प्रत्येक LAN I / F (eth1 और eth2) पर RA की घोषणा करने के लिए radvd को कैसे ट्रिगर किया जाए?
  • ISP के DHCPv6 सर्वर से प्राप्त अतिरिक्त नेटवर्क जानकारी (नाम-सर्वर, डोमेन-खोजकर्ता और सिप-सर्वर-पते) की घोषणा करने के लिए प्रत्येक LAN I / F पर DHCPv6 सर्वर (dhcpd6) को कैसे ट्रिगर किया जाए?

मेरा अनुमान

"$ आदमी dhclient" और "$ man dhclient-script" के अनुसार, dhclient-script का उपयोग ऐसी सेटिंग्स को कॉन्फ़िगर करने के लिए किया जाता है, और यह कुछ हुक प्रदान करता है। लेकिन अब, यह DHCPv6-PD क्लाइंट के लिए कुछ नहीं करता है।

हां, मुझे अपने DHCPv6-PD वातावरण के लिए उपयुक्त कुछ स्क्रिप्ट लिखनी पड़ सकती हैं, हालांकि मैं IPv6 नेटवर्क कॉन्फ़िगरेशन से परिचित नहीं हूं। किसी ने मुझे dhclient-script में उपरोक्त सेटिंग्स बताईं? [EDIT] मैं व्यावहारिक dhclient-script जानना चाहता हूं।

और मुझे चिंता है, कुछ विशेष ध्यान रखना चाहिए। उदाहरण के लिए, क्योंकि प्रत्येक IPv6 पते ने जीवनकाल को प्राथमिकता दी है / मान्य है, जब मैं प्रत्यायोजित उपसर्ग के आधार पर LAN इंटरफ़ेस में एक वैश्विक IPv6 पता निर्दिष्ट करता हूं, तो मुझे न केवल एक IPv6 पता, बल्कि इसके जीवनकाल को भी निर्दिष्ट करना होगा जो प्रतिनिधि से प्राप्त होना चाहिए उपसर्ग के पसंदीदा / वैध जीवनकाल?

इसके अलावा, LAN इंटरफेस पर radvd और DHCPv6 सर्वर को DHCPv6 री-कॉन्फ़िगरेशन होने पर फिर से कॉन्फ़िगर करना पड़ सकता है? किस हुक का उपयोग किया जाना चाहिए?

[संपादित करें] जब डीएचसीपीवी ६ पुनः कॉन्फ़िगरेशन होता है, तो नई और अप्रचलित सूचना दोनों की घोषणा कैसे करें? radvd स्वचालित रूप से पिछले उपसर्ग की घोषणा अप्रचलित है? DHCPv6 सर्वर स्वचालित रूप से घोषणा करता है कि पिछले नाम-सर्वर अप्रचलित हैं?

जवाबों:


4

मुझे आपके प्रश्न का उत्तर नहीं पता है, लेकिन मैं बस आपको अपने डिफ़ॉल्ट राउटर के रूप में डीएचसीपी सर्वर पते का उपयोग करने के बारे में चेतावनी देना चाहता हूं। अगर यह काम करता है तो यह संयोग से है ... IPv6 में डिफ़ॉल्ट मार्ग RA के द्वारा संप्रेषित किया गया है न कि डीएचसीपी द्वारा।

आपको आरए के स्वीकार करने और आरएस को भेजने के लिए अग्रेषण सक्षम करने की आवश्यकता होगी। यहाँ एक समस्या यह है कि Centos6 में शामिल कर्नेल आपको ऐसा करने की अनुमति नहीं देता है। जब अग्रेषण सक्षम हो जाता है तो आरए को स्वीकार करना और आरएस को निष्क्रिय करना है। हालांकि संबंधित पैच के साथ एक CentosPlus कर्नेल होना चाहिए। Http://lists.centos.org/pipermail/centos/2011-April/thread.html#109756 पर मेलिंग सूची धागा / संदेश देखें

प्रासंगिक sysctl.conf सेटिंग्स हैं:

net.ipv6.conf.all.forwarding=1
net.ipv6.conf.eth0.accept_ra=2
net.ipv6.conf.eth0.accept_ra_defrtr=1
net.ipv6.conf.eth0.router_solicitations=1

2
दरअसल, आप चाहते हैं कि 2_ स्वीकार करें (यदि रूट सक्षम है तो भी स्वीकार करें)। अन्यथा कर्नेल एक राउटर पर इसे अनदेखा करता है।
काइल बट्ट

2
  • अतिरिक्त सबनेट प्राप्त करने के लिए DHCPv6 PD का उपयोग करने से पहले, आपके डिफ़ॉल्ट (अपस्ट्रीम) इंटरनेट कनेक्शन को जो भी मिला, उसके द्वारा एक IPv6 डिफ़ॉल्ट मार्ग सेटअप किया जाना चाहिए। आपने उल्लेख नहीं किया है कि आप वास्तव में अपस्ट्रीम को कैसे कनेक्ट कर रहे हैं, इसलिए मैं वहां आपकी मदद नहीं कर सकता।
  • मैं ISC के बजाय WIDE DHCPv6 क्लाइंट का उपयोग करता हूं, इसलिए मुझे नहीं पता कि यह विशेष रूप से कैसे किया जाता है, लेकिन मुझे उम्मीद है कि ISC के पास इस WIDE कॉन्फ़िगरेशन विकल्प के बराबर कुछ है:

    id-assoc pd {
        prefix-interface eth0 {
            sla-id 1;
            sla-len 4;
        };
    };
    

    मूल रूप से, आप डीएचसीपी क्लाइंट को बताएं कि आंतरिक इंटरफेस को सबनेट कैसे असाइन करें; उपर्युक्त विन्यास कहता है "मुझे उपसर्ग के 4 बिट्स दिए जा रहे हैं ( sla-len 4), पहले उपलब्ध सबनेट ( sla-id 1) लें और इसे eth0( prefix-interface eth0) को असाइन करें ।

  • उपयुक्त interfaceश्लोक के साथ सेटअप त्रिज्या ( radvd.confकाम करने के लिए मैन पेज में अच्छे उदाहरण हैं ), और यह जस्ट वर्क होगा।
  • मैं वहां आपकी मदद नहीं कर सकता; परीक्षण के अलावा, मैं डीएचसीपीवी 6 सेवा का उपयोग नहीं करता (मुझे अपने डीएचसीपी सर्वर से मेरी सभी डीएचसीपी जानकारी मिलती है)।

आपके उत्तर के लिए धन्यवाद। 1. अपस्ट्रीम को कैसे कनेक्ट करना है, सिर्फ ईथरनेट केबल को FTTH GE-PON से जोड़ना है। बस अब, DHCPv6 के माध्यम से डिफ़ॉल्ट IPv6 मार्ग को निर्दिष्ट करने का कोई तरीका नहीं है, मुझे DHCPv6 सर्वर के लिंक-स्थानीय पते को डिफ़ॉल्ट मार्ग के रूप में विचार करना होगा।
तकाआमग

2. यद्यपि मैंने उल्लेख नहीं किया, इस कारण से कि मैं ISC dhclient का उपयोग करता हूं, यह है कि मेरे राउटर को अपने सॉलिसेंट और अनुरोध संदेशों में DHCPv6 विकल्प 16 (विक्रेता वर्ग) भेजना है, ताकि वेंडर-विशिष्ट-जानकारी विकल्प प्राप्त करने के लिए कुछ शामिल हों। आईएसपी-विशिष्ट informations (एसआईपी फोन नंबर, फर्मवेयर सर्वर पता)। मुझे पता है कि ISC dhclient में विकल्प 16 कैसे सेट किया जाता है, लेकिन इसे WIDE-dhcpv6 में नहीं जानते। और मुझे ISC dhclient में "id-assoc" जैसी सेटिंग्स नहीं मिल सकती हैं।
तकाआमग

2
3,4। मैं DHCPv6 सर्वर से सूचना (उपसर्ग, आदि) के आधार पर radvd.conf और dhcpd6.conf के निर्माण के लिए कुछ खराब स्क्रिप्ट लिखने में सक्षम हो सकता हूं। लेकिन जब डीएचसीपीवी 6 पुनः कॉन्फ़िगरेशन होता है, तो नई और अप्रचलित जानकारी दोनों की घोषणा कैसे करें? radvd स्वचालित रूप से पिछले उपसर्ग की घोषणा अप्रचलित है? DHCPv6 सर्वर स्वचालित रूप से घोषणा करता है कि पिछले नाम-सर्वर अप्रचलित हैं?
ताकाओमाग

वैसे भी मैं व्यावहारिक धिक्कार-पटकथा जानना चाहता हूँ।
takaomag

किसी उत्तर पर टिप्पणियों में यह सारी जानकारी न जोड़ें; इसे अपने प्रश्न में जोड़ें
Womble

-1

मुझे एक ही जवाब दिया गया है कि मैं राडव और रूटिंग स्थापित करने के लिए उपयोग करूंगा। Inet6 को डीएचसीपी सर्वर की आवश्यकता के बिना स्वयं कॉन्फ़िगरेशन करने के लिए डिज़ाइन किया गया है।

मैं DHCPv6 का उपयोग नहीं करता, क्योंकि यह radvd और zeroconf द्वारा नियंत्रित किया जा सकता है। नाम सर्वर की आपूर्ति करने के लिए radvd को कॉन्फ़िगर किया जा सकता है, और /etc/resolv.conf से सर्वर का विज्ञापन कर सकते हैं। राडव के नए संस्करणों ने खोज सूचियों को वितरित करने को भी लागू किया है।

मैंने ग्राहकों के लिए नाम सेवाओं और सर्वरों को वितरित करने के लिए अवही-डेमन को कॉन्फ़िगर किया। आप की आवश्यकता होगी ग्राहकों सेवा खोज करने में सक्षम हैं। मैंने सेवा खोज का बहुत परीक्षण नहीं किया है क्योंकि मैं पूरे बोर्ड में एक दोहरी स्टैक नेटवर्क चलाता हूं।


यहां तक ​​कि चाहे मैं डीएचसीपीवी 6 सर्वर या रेडवेड का उपयोग करता हूं, मुझे डीएचसीपी 6 सर्वर से सूचना (प्रीफिक्स, आदि) के आधार पर गतिशील रूप से dhcpd6.conf या radvd.conf निर्माण करने के लिए कुछ स्क्रिप्ट लिखना होगा। लेकिन जब डीएचसीपीवी 6 पुनः कॉन्फ़िगरेशन होता है, तो लैन साइड मेजबानों को नई और अप्रचलित जानकारी दोनों की घोषणा कैसे करें? यदि मैं नए dhcpd6.conf या radvd.conf का निर्माण गतिशील रूप से केवल DHCPv6 सर्वर की नई जानकारी के आधार पर करता हूं, तो radvd स्वतः घोषणा करता है कि पिछला उपसर्ग अप्रचलित है? DHCPv6 सर्वर स्वचालित रूप से घोषणा करता है कि पिछले नाम-सर्वर अप्रचलित हैं?
टेकअमग

radvd इंटरफ़ेस से स्वचालित रूप से अपने एडरेस को पाने के लिए :: / 64 उपसर्ग का उपयोग कर सकता है। आपको कॉन्फ़िगरेशन को फिर से लिखने की आवश्यकता नहीं है। DNS सर्वर और खोज सूची स्थिर डेटा होनी चाहिए। IPv6 ऑटो-कॉन्फ़िगरेशन को माइग्रेटिंग पते को संभालने के लिए डिज़ाइन किया गया है। मुझे नहीं पता कि आपका आईएसपी संक्रमण का कितना अच्छा समर्थन करता है। मैंने DHCPv6 को नहीं देखा है।
बिलथोर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.