अपने सर्वर पर IPv6 कैसे कॉन्फ़िगर करें [DHCPv6]

04/12/2023 |
Loading...

1- DHCPv6 क्लाइंट को कैसे कॉन्फ़िगर करें

हम dhclient का उपयोग करेंगे।
आपको निम्नलिखित फ़ाइल /etc/dhcp/dhclient6.conf को संपादित करने की आवश्यकता होगी:

interface "eno1" {
  send dhcp6.client-id DUID;
}

आपको इंटरफ़ेस नाम (eno1) और DUID को अपने अनुसार बदलना होगा।

बूट पर अपने DHCPv6 क्लाइंट को शुरू करें

एक बार क्लाइंट कॉन्फ़िगर हो जाने के बाद, आपको एक नई SystemD सेवा बनाने की आवश्यकता होगी।
निम्नलिखित फ़ाइल बनाएं, इंटरफ़ेस नाम (eno0) और DUID को अपने अनुसार बदलते हुए /etc/systemd/system/dhclient.service:

[Unit]
Description=dhclient for sending DUID IPv6
After=network-online.target
Wants=network-online.target

[Service]
Restart=always
RestartSec=10
Type=forking
ExecStart=/sbin/dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v eno1
ExecStop=/sbin/dhclient -x -pf /var/run/dhclient6.pid

[Install]
WantedBy=network.target

dhclient का पथ आपके ओएस के आधार पर अलग हो सकता है। सटीक पथ जानने के लिए, निम्न कमांड का उपयोग करें: which dhclient

फिर, प्रत्येक रीबूट के लिए इसे सक्षम करें: systemctl enable dhclient.service.

2 - नेटवर्क को कैसे कॉन्फ़िगर करें

Ubuntu 16 और Debian 8 तथा 9 पर नेटवर्क कॉन्फ़िगर करें

सबसे पहले /etc/network/interfaces को निम्नानुसार संपादित करें:

auto eno1
iface eno1 inet6 static
    address IPV6ADDRESS
    netmask PREFIXLENGTH

आपको eno1 को उचित इंटरफ़ेस नाम से बदलना होगा।
Debian और Ubuntu के पुराने संस्करणों में, यह आमतौर पर eth0 होता है।

Debian 9 पर डिफ़ॉल्ट रूप से नेटवर्क इंटरफ़ेस allow-hotplug कमांड के साथ आरंभ होता है। इस कॉन्फ़िगरेशन के साथ नेटवर्क रीस्टार्ट विफल हो सकता है। इस स्थिति में, आप समस्या से बचने के लिए नेटवर्क को auto के साथ आरंभ कर सकते हैं।

SystemD के बिना वैकल्पिक कॉन्फ़िगरेशन

यदि आप अपनी सेवाएँ शुरू करने के लिए SystemD का उपयोग नहीं करते हैं, तो आप अपने /etc/network/interfaces को निम्नानुसार कॉन्फ़िगर कर सकते हैं:

iface eno1 inet6 static
    pre-up modprobe ipv6
    pre-up dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -d -v $IFACE
    address IPV6ADDRESS
    netmask PREFIXLEN

अभी भी अपने इंटरफ़ेस नाम (eno1) को अपनी आवश्यकताओं के अनुसार, साथ ही IPv6 एड्रेस और नेटमास्क को बदलें।

NETPLAN का उपयोग करके नेटवर्क कॉन्फ़िगर करें

Ubuntu, Ubuntu 18.04 LTS रिलीज़ के बाद से, नेटवर्क कॉन्फ़िगर करने के लिए एक नए टूल का उपयोग करता है, जिसे netplan कहा जाता है।
यह पारंपरिक नेटवर्क कॉन्फ़िगरेशन को YAML प्रारूप में लिखी गई नई कॉन्फ़िगरेशन फ़ाइलों से बदल देता है, जो /etc/netplan निर्देशिका में स्थित होती हैं। netplan के बारे में अधिक जानकारी के लिए, आधिकारिक Ubuntu दस्तावेज़ीकरण देखें।
डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल /etc/netplan/01-netcfg.yaml को एक टेक्स्ट एडिटर में खोलें, और इसे निम्नानुसार संपादित करें:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: no
      dhcp6: no
      addresses:
       - "aaa.bbb.ccc.ddd/24" # The main IP address of your Dedibox server
       - "/" # An IP address from your IPv6 block and it's subnet mask
      gateway4: aaa.bbb.ccc.1 # The gateway is the IP address of your Dedibox, ending on .1
      nameservers:
       addresses: [62.210.16.6, 62.210.16.7]
      routes:
       - to: 0.0.0.0
         via: aaa.bbb.ccc.1
         on-link: true

आपको enp1s0 को उचित इंटरफ़ेस नाम से बदलना होगा। अपनी मशीन का इंटरफ़ेस नाम जानने के लिए, ifconfig कमांड का उपयोग करें।
एक बार नए नेटवर्क सेटिंग्स कॉन्फ़िगर करने के बाद अपने सर्वर को रीबूट करें।

CentOS 7 पर नेटवर्क कॉन्फ़िगर करें

अपने dhclient और SystemD को कॉन्फ़िगर करने के बाद, आपको /etc/sysconfig/network-scripts/ifcfg-eth0 संपादित करने की आवश्यकता होगी:

# Generated by parse-kickstart
UUID=xxxxx
DNS1=62.210.16.6
BOOTPROTO=none
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
IPADDR=62.210.xx.xx
PREFIX=24
GATEWAY=62.210.xx.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6ADDR="IPV6ADDRESS/PREFIXLEN"
IPV6_AUTOCONF=yes
NAME="System eth0"

कॉन्फ़िगरेशन पूरा होने के बाद, आप यह जाँचने के लिए अपने सर्वर को रीबूट कर सकते हैं कि सेवा और कॉन्फ़िगरेशन बूट पर सही ढंग से लागू हो रहे हैं!

आपको अपने फ़ायरवॉल में 546/UDP इनकमिंग और 547/UDP आउटगोइंग की अनुमति देनी होगी।

अपनी कॉन्फ़िगरेशन का परीक्षण करें

निम्न कमांड के साथ dhclient लॉन्च करें:

dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v eth0

अपनी IPv6 कनेक्टिविटी जाँचने के लिए, आप PING कमांड का उपयोग कर सकते हैं:

ping6 ipv6.google.com

डीबग

यदि कॉन्फ़िगरेशन आपके लिए काम नहीं कर रही है, तो निम्न कमांड के साथ अपने इंटरफ़ेस नाम की जाँच करें:

ifconfig -a

साथ ही, आपके सर्वर को RA (राउटर एडवर्टाइजमेंट) स्वीकार करने के लिए कॉन्फ़िगर किया जाना चाहिए।
डिफ़ॉल्ट रूप से, आपका सर्वर एक इंटरफ़ेस से दूसरे इंटरफ़ेस पर पैकेट फ़ॉरवर्ड करने के लिए स्वीकार नहीं करेगा यदि यह स्वचालित रूप से कॉन्फ़िगर किया गया है (DHCPv6 के माध्यम से)।

यदि आपको IPv6 पैकेट फ़ॉरवर्ड करने और एक स्वचालित कॉन्फ़िगरेशन का उपयोग करने की आवश्यकता है, तो आपको अपने sysctl net.ipv6.conf.all.accept_ra को /etc/sysctl.conf में 2 पर सेट करने की आवश्यकता होगी।
यह आमतौर पर हाइपरवाइज़र होस्ट जैसे Proxmox के लिए उपयोगी होता है।

उदाहरण eth0/eno1 के लिए दिए गए हैं, यदि आपके मुख्य इंटरफ़ेस का नाम अलग है, तो आपको इसे अपनी सभी कॉन्फ़िगरेशन फ़ाइलों में संशोधित करने की आवश्यकता होगी।

आपके क्लाइंट का ट्रैफ़िक सीमाकरण

कुछ मामलों में, कुछ DHCPv6 क्लाइंट दुर्भाग्य से प्रति सेकंड कई अनुरोध भेज सकते हैं (विशेष रूप से dchp6c)।

यह हमारे स्वचालित सुरक्षा द्वारा आपके सर्वर के नेटवर्क पोर्ट के ब्लॉक होने को ट्रिगर करता है, क्योंकि इसे एक UDP फ्लड के स्रोत के रूप में देखा जाएगा।

इस समस्या से बचने के लिए, हम आपको अपने dhclient6 से भेजे जाने वाले ट्रैफ़िक को सीधे अपने फ़ायरवॉल कॉन्फ़िगरेशन में सीमित करने के लिए आमंत्रित करते हैं।

IPTABLES के लिए एक उदाहरण निम्नलिखित है:

ip6tables -A OUTPUT -p udp --dport 547 -m limit --limit 10/min --limit-burst 5 -j ACCEPT
ip6tables -A OUTPUT -p udp --dport 547 -j DROP

रेस्क्यू मोड में

रेस्क्यू मोड में अपने सर्वर पर IPv6 का परीक्षण करने के लिए, सर्वर को "Ubuntu 14 - Trusty" मोड के साथ रेस्क्यू मोड में रीबूट करें। उस पर dhclient पहले से ही उपलब्ध है।

वह फ़ाइल बनाएं जिसमें आपका DUID होगा।

nano /etc/dhcp/dhclient6.conf

सबसे पहले, dhclient शुरू करें:

dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v  <interface>

इसके बाद, अपने नेटवर्क इंटरफ़ेस में IPv6 एड्रेस जोड़ें:

/sbin/ifconfig <interface> inet6 add IPV6ADDRESS/PREFIXLENGTH

फिर आप ping6 का प्रयास कर सकते हैं:

ping6 ipv6.google.com

विशेष ऑफ़र्स और प्रमोशन प्राप्त करें!

नवीनतम डील, छूट और विशेष प्रचारों के साथ अपडेट रहें।

Update cookies preferences