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
جستجو