اَبرِ دیجیتال، مرکز تخصصی ارائه سرویس های ابری، سرور مجازی/اختصاصی، هاست و دامنه

اَبرِ دیجیتال، مرکز تخصصی ارائه سرویس های ابری

دریافت مشاوره رایگان

راهنمای کامل پیکربندی IPv4 و IPv6 با netplan در محیط خط فرمان (Ubuntu 22.04)

این راهنما فشرده برای پیکربندی IPv4 و IPv6 با netplan در Ubuntu 22.04 (محیط خط‌فرمان) نوشته شده است. شامل نمونه‌های عملی برای آدرس‌دهی و DHCP، فعال/غیرفعال‌سازی IPv6، مسیریابی ثابت و نکات سریع عیب‌یابی است. فایل‌های پیکربندی در /etc/netplan/*.yaml قرار می‌گیرند و پس از ویرایش باید با sudo netplan try یا sudo netplan apply اعمال شوند. قبل از اجرای نمونه‌ها نام رابط شبکه و آدرس‌ها را با وضعیت شبکه‌ی خود تطبیق دهید.

این دستورات در سیستم عامل ubuntu 22 بر روی سرور ابری و سرور اختصاصی لینوکس قابل استفاده می باشد.

 

نکات اولیه

 

– فایل‌های netplan در /etc/netplan/ با پسوند  قرار دارند.

– پس از ویرایش، فرمان sudo netplan try یا sudo netplan apply را اجرا کنید.

– فاصله‌گذاری  با دو فاصله‌ی ثابت (spaces)؛ از تب استفاده نکنید.

– برای مشاهده وضعیت فعلی: ip a و ip -6 addr و ip route و ip -6 route.

 

مثال‌نام‌ها و مفروضات

 

– نام فایل نمونه: /etc/netplan/01-netcfg.

– نام رابط شبکه فرضی: enp0s3 (با ip link/ ip a بررسی کنید)

– برای سرورهای بدون NetworkManager، renderer: networkd معمول است. دسکتاپ‌ها ممکن است NetworkManager استفاده کنند ولی این راهنما فقط command-line و networkd را پوشش می‌دهد.

 

۱) پیکربندی IPv4 با DHCP

 

فایل /etc/netplan/01-netcfg.:

 

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true
      dhcp6: false

 

اعمال:

sudo netplan apply

 

 

۲) پیکربندی IPv4 استاتیک

 

مثال: آدرس 192.0.2.10/24، دروازه 192.0.2.1، DNS: 8.8.8.8 و 8.8.4.4

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.0.2.10/24
      gateway4: 192.0.2.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]

 

 

اعمال: sudo netplan apply

 

۳) فعال کردن IPv6 با DHCP (SLAAC / DHCPv6)

 

– dhcp6: true برای DHCPv6

– accept-ra: true برای پذیرش Router Advertisements (SLAAC)

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true
      dhcp6: true
      accept-ra: true

 

 

 

۴) آدرس IPv6 استاتیک (مثال global + link-local خودکار)

مثال: 2001:db8:1::10/64، دروازه 2001:db8:1::1، DNS IPv6
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 2001:db8:1::10/64
      gateway6: 2001:db8:1::1
      nameservers:
        addresses: [2001:4860:4860::8888,2001:4860:4860::8844]

 

 

 

۵) پیکربندی هم‌زمان IPv4 استاتیک و IPv6 (مثال ترکیبی)

 

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.0.2.10/24
        - 2001:db8:1::10/64
      gateway4: 192.0.2.1
      gateway6: 2001:db8:1::1
      nameservers:
        addresses: [8.8.8.8,2001:4860:4860::8888]

 

 

 

۶) غیرفعال کردن کامل IPv6 در یک رابط

 

برای غیرفعال‌سازی دریافت RA و DHCPv6 و آدرس‌دهی:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true
      dhcp6: false
      accept-ra: false

 

 

نکته: برای خاموش‌سازی سیستمی (kernel-level) از sysctl نیاز است — netplan فقط تنظیمات networkd/NetworkManager می‌دهد. (اگر می‌خواهید sysctl را هم اضافه کنم اعلام کنید.)

 

۷) اولویت‌دهی IPv4 بر IPv6 (prefer IPv4)

 

Linux routing و getaddrinfo رفتار را تعیین می‌کنند. برای ترجیح IPv4 می‌توان policy routing یا تغییر /etc/gai.conf را استفاده کرد. روش مختصر (gai.conf):

– ویرایش /etc/gai.conf و باز کردن خط:

– پیدا کردن و uncomment این خط:

    precedence ::ffff:0:0/96  100

 

این باعث می‌شود آدرس‌های IPv4-mapped اولویت بالاتری داشته باشند. (netplan تغییری نمی‌دهد)

 

۸) نمونه‌های پیشرفته

 

– اضافه کردن چند آدرس IP:

 

addresses:
  - 192.0.2.10/24
  - 192.0.2.11/24
  - 2001:db8:1::10/64

 

 

– تنظیم MTU:

 

enp0s3:
  mtu: 1400

 

 

– تعریف مسیرهای ثابت (static routes)

IPv4 route:

 

routes:
  - to: 10.0.0.0/24
    via: 192.0.2.254
    metric: 100

 

 

IPv6 route:

 

routes:
  - to: 2001:db8:2::/64
    via: 2001:db8:1::fe
    metric: 100

 

 

 

۹) عیب‌یابی سریع (خط فرمان)

 

– نمایش وضعیت netplan: sudo netplan –debug apply

– چک آدرس‌ها: ip a

– بررسی روترها: ip route; ip -6 route

– بررسی RA و DHCPv6: sudo tcpdump -i enp0s3 icmp6 or udp port 546 or 547

– journal logs: journalctl -u systemd-networkd -b

 

۱۰) نکات عملی

 

– همیشه  را با دو فاصله‌ی ثابت فرمت کنید و قبل از apply از sudo netplan try استفاده کنید تا در صورت خطا بازگردانی شود.

– اگر از NetworkManager در desktop استفاده می‌کنید، renderer را NetworkManager تنظیم کنید و از nmcli برای تنظیمات CLI استفاده کنید.

– برای تغییرات kernel-level IPv6 (مثلاً disable sysctl) باید /etc/sysctl.d/*.conf را ویرایش کنید و سپس sudo sysctl –system اجرا کنید.

 

4.1/5 - (2816 امتیاز)

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


16 - 10

قوانین

قوانین ارسال دیدگاه

لطفاً در ارسال دیدگاه از کلمات مناسب استفاده کنید. ارسال اسپم ممنوع است.