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
खोजें