نحوه پیکربندی 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 - نحوه پیکربندی شبکه

پیکربندی شبکه در اوبونتو 16 و دبیان 8 و 9

با ویرایش /etc/network/interfaces به صورت زیر شروع کنید:

auto eno1
iface eno1 inet6 static
    address IPV6ADDRESS
    netmask PREFIXLENGTH

شما باید eno1 را با نام اینترفیس مناسب جایگزین کنید.
در دبیان و نسخه‌های قدیمی اوبونتو، معمولاً eth0 است.

اینترفیس شبکه به طور پیش‌فرض در دبیان 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 و Netmask.

پیکربندی شبکه با استفاده از NETPLAN

اوبونتو از نسخه اوبونتو 18.04 LTS از ابزار جدیدی برای پیکربندی شبکه به نام netplan استفاده می‌کند.
این ابزار جایگزین پیکربندی کلاسیک شبکه با فایل‌های پیکربندی جدید، نوشته شده در فرمت YAML، و قرار گرفته در دایرکتوری /etc/netplan شده است. برای اطلاعات بیشتر در مورد netplan، به مستندات رسمی اوبونتو مراجعه کنید.
فایل پیکربندی پیش‌فرض /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" # آدرس IP اصلی سرور اختصاصی شما
       - "/" # یک آدرس IP از بلوک IPv6 شما و ماسک زیرشبکه آن
      gateway4: aaa.bbb.ccc.1 # درگاه، آدرس IP سرور اختصاصی شما است که با .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 به 2 در /etc/sysctl.conf تنظیم کنید.
این معمولاً برای هایپروایزر هاست مانند 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 روی سرور خود در حالت ریکاوری، سرور را در حالت ریکاوری با حالت "اوبونتو 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