كيفية إعداد IPv6 على خادمك [DHCPv6]

04/12/2023 |
Loading...

1- كيفية إعداد عميل DHCPv6

سنستخدم dhclient.
تحتاج إلى تعديل الملف التالي /etc/dhcp/dhclient6.conf:

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

قم بتعديل اسم الواجهة (eno1) و DUID بما يناسبك.

تشغيل العميل تلقائيًا عند الإقلاع

بعد الإعداد، أنشئ خدمة SystemD جديدة:

[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
auto eno1
iface eno1 inet6 static
    address IPV6ADDRESS
    netmask PREFIXLENGTH

استبدل eno1 باسم واجهتك.

إعداد بديل بدون SystemD

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

باستخدام Netplan (Ubuntu 18.04+)

افتح /etc/netplan/01-netcfg.yaml:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: no
      dhcp6: no
      addresses:
       - "aaa.bbb.ccc.ddd/24"
       - "/"
      gateway4: aaa.bbb.ccc.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

على CentOS 7

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
IPV6INIT=yes
IPV6ADDR="IPV6ADDRESS/PREFIXLEN"
IPV6_AUTOCONF=yes
NAME="System eth0"

اختبار الإعداد

dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v eth0
ping6 ipv6.google.com

التصحيح

ifconfig -a

للسماح بالـ RA: net.ipv6.conf.all.accept_ra=2 في /etc/sysctl.conf.

تقييد حركة المرور

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

الوضع الإنقاذي

nano /etc/dhcp/dhclient6.conf
dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v 
/sbin/ifconfig  inet6 add IPV6ADDRESS/PREFIXLENGTH
ping6 ipv6.google.com

احصل على عروض وتخفيضات حصرية!

ابقَ على اطلاع بآخر العروض، الخصومات، والترقيات الخاصة.

Update cookies preferences