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

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

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

آموزش تنظیم IPv4 و IPv6 در Centos

مقدمه

 

این راهنما گام‌به‌گام برای پیکربندی IPv4 و IPv6 در CentOS 7 و CentOS 8 (و توزیع‌های همتا که از NetworkManager و اسکریپت‌های /etc/sysconfig/network-scripts استفاده می‌کنند) است. شامل روش‌های فایل‌محور (ifcfg)، ابزار NetworkManager (nmcli, nmtui)، تنظیمات موقتی با ip، بررسی وضعیت و رفع خطای رایج. دستورات هر سطر جدا و بدون پیشوند نوشته شده‌اند.

 

پیش‌نیازها

 

– دسترسی ریشه یا کاربر با sudo

– بسته NetworkManager نصب و فعال (معمولی در CentOS 7/8)

– آدرس‌ها، پیشوندها و گِیت‌وی‌های موردنظر آماده

 

بررسی اولیه وضعیت شبکه

 

sysctl -a | grep net.ipv6
ip addr
ip -6 addr
nmcli general status
nmcli connection show

 

 

فعال‌سازی IPv6 در سطح هسته (در صورت غیرفعال بودن)

 

vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
sysctl -p

 

 

پشتیبان‌گیری از تنظیمات فعلی

 

cp -a /etc/sysconfig/network-scripts/ifcfg-eth0 /root/ifcfg-eth0.bak
nmcli connection export eth0 /root/eth0.nmconnection

 

 

روش‌ها به‌صورت جداگانه برای هر نسخه

 

#CentOS 7

 

1) پیکربندی استاتیک با فایل‌های ifcfg

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
HWADDR=aa:bb:cc:dd:ee:ff
IPADDR=192.0.2.10
PREFIX=24
GATEWAY=192.0.2.1
DNS1=8.8.8.8
DNS2=8.8.4.4
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2001:db8:100::10/64
IPV6_DEFAULTGW=2001:db8:100::1
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_PRIVACY=no

 

 

نکات ifcfg:

– برای IPv4 از IPADDR و PREFIX (یا NETMASK) استفاده کنید.

– برای IPv6 استاتیک از IPV6ADDR با پسوند /پریفیکس و IPV6_DEFAULTGW برای گِیت‌وی.

– برای استفاده از SLAAC یا DHCPv6 مقدار IPV6_AUTOCONF را تنظیم کنید.

 

اعمال تغییرات:

systemctl restart network
systemctl restart NetworkManager
nmcli connection reload
nmcli connection up eth0

 

 

2) پیکربندی با nmcli (خط فرمان)

nmcli connection show
nmcli connection add type ethernet ifname eth0 con-name static-eth0 ipv4.method manual ipv4.addresses 192.0.2.10/24 ipv4.gateway 192.0.2.1 ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection modify static-eth0 +ipv6.addresses 2001:db8:100::10/64
nmcli connection modify static-eth0 ipv6.gateway 2001:db8:100::1
nmcli connection modify static-eth0 ipv6.method manual
nmcli connection up static-eth0

 

 

نکات nmcli:

– استفاده از ipv4.addresses و ipv6.addresses با پیشوند.

– ipv6.method می‌تواند auto, manual, disabled یا ignore باشد.

 

3) پیکربندی موقت (بدون تغییر فایل) با ip

ip addr add 192.0.2.10/24 dev eth0
ip route add default via 192.0.2.1 dev eth0
ip -6 addr add 2001:db8:100::10/64 dev eth0
ip -6 route add default via 2001:db8:100::1 dev eth0

 

 

نکات:

– این تغییرات تا ریبوت باقی می‌مانند مگر در فایل‌ها ذخیره شوند.

– برای حذف: ip addr del … و ip route del …

 

4) بررسی و عیب‌یابی

ip addr show dev eth0
ip -6 addr show dev eth0
ip route show
ip -6 route show
ping -c 4 8.8.8.8
ping6 -c 4 2001:4860:4860::8888
systemctl status NetworkManager
journalctl -u NetworkManager -b

 

 

نکات رفع خطا:

– اگر رابط بالا نمی‌آید، NM_CONTROLLED را بررسی کنید.

– بررسی MAC (HWADDR) در ifcfg با ip link show.

– مسیر و گِیت‌وی را با ip route بررسی کنید.

 

#CentOS 8

 

توجه: CentOS 8 معمولاً از NetworkManager به‌عنوان مدیریت‌کننده شبکه استفاده می‌کند. اسکریپت‌های ifcfg ممکن است در برخی نصب‌ها غیرفعال یا حذف شده باشند؛ توصیه می‌شود از nmcli یا nmtui استفاده شود مگر نیاز مشخص به فایل ifcfg باشد.

 

1) پیکربندی با nmcli (توصیه شده)

nmcli connection show
nmcli connection add type ethernet ifname eth0 con-name static-eth0 ipv4.method manual ipv4.addresses 198.51.100.10/24 ipv4.gateway 198.51.100.1 ipv4.dns "1.1.1.1 8.8.8.8"
nmcli connection modify static-eth0 +ipv6.addresses 2001:db8:200::10/64
nmcli connection modify static-eth0 ipv6.gateway 2001:db8:200::1
nmcli connection modify static-eth0 ipv6.method manual
nmcli connection up static-eth0

 

 

نکات:

– در CentOS 8 از NetworkManager/Keyfile نیز استفاده می‌شود؛ nmcli تغییرات را مدیریت می‌کند.

– برای DHCPv6 از ipv6.method auto استفاده کنید.

 

2) استفاده از nmtui (رابط متنی تعاملی)

nmtui

گزینهٔ Edit a connection را انتخاب کنید

ارتباط مورد نظر را انتخاب کنید و Edit را بزنید

IPv4 configuration را روی Manual بگذارید و آدرس‌ها را وارد کنید

IPv6 configuration را روی Manual یا Automatic قرار دهید و تنظیمات را ذخیره کنید

Save و Activate کنید

 

3) فایل‌های ifcfg (در صورت نیاز)

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=yes
IPADDR=198.51.100.10
PREFIX=24
GATEWAY=198.51.100.1
DNS1=1.1.1.1
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2001:db8:200::10/64
IPV6_DEFAULTGW=2001:db8:200::1

 

 

اعمال تغییرات:

nmcli connection reload
nmcli connection up eth0
systemctl restart NetworkManager

 

 

4) پیکربندی موقت با ip

ip addr add 198.51.100.10/24 dev eth0
ip route add default via 198.51.100.1 dev eth0
ip -6 addr add 2001:db8:200::10/64 dev eth0
ip -6 route add default via 2001:db8:200::1 dev eth0

 

 

5) بررسی و عیب‌یابی

ip addr show dev eth0
ip -6 addr show dev eth0
ip route show
ip -6 route show
ping -c 4 1.1.1.1
ping6 -c 4 2001:4860:4860::8888
systemctl status NetworkManager
journalctl -u NetworkManager -b

 

 

نکات ویژه IPv6

 

– لینک-لوکال گِیت‌وی: اگر گِیت‌وی لینک-لوکال است، پسوند رابط را اضافه کنید:

ip -6 route add default via fe80::1 dev eth0

 

یا در فایل ifcfg:

IPV6_DEFAULTGW=fe80::1%eth0

 

 

– SLAAC vs DHCPv6:

SLAAC را با IPV6_AUTOCONF=yes فعال کنید

DHCPv6 را معمولاً با ابزارهای DHCPv6 client (مثل dhclient -6 یا dhcpcd) مدیریت کنید

nmcli برای DHCPv6 مقدار ipv6.method را auto قرار می‌دهد

 

– Privacy Extensions:

برای فعال/غیرفعال کردن:

sysctl -w net.ipv6.conf.all.use_tempaddr=0

 

یا در فایل /etc/sysctl.conf:

net.ipv6.conf.all.use_tempaddr = 0
sysctl -p

 

 

DNS برای IPv6

/resolv.conf معمولی یا NetworkManager می‌تواند DNS را تنظیم کند.

vi /etc/resolv.conf
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844

 

 

در nmcli:

nmcli connection modify static-eth0 ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"

 

 

Persist کردن تنظیمات مسیرهای خاص

برای افزودن مسیر استاتیک IPv4 در ifcfg:

vi /etc/sysconfig/network-scripts/route-eth0
192.0.2.0/24 via 192.0.2.1 dev eth0

 

 

برای IPv6:

vi /etc/sysconfig/network-scripts/route6-eth0
2001:db8:abcd::/64 via 2001:db8:abcd::1 dev eth0

 

 

امنیت و فایروال

 

firewalld در CentOS 7/8 رایج است؛ مطمئن شوید که پورت‌ها و دسترسی‌های ICMPv6 لازم باز باشند.

firewall-cmd --permanent --add-rich-rule 'rule family="ipv6" source address="2001:db8:100::/64" accept'
firewall-cmd --reload

 

 

برای اجازه به ICMPv6:

 

firewall-cmd --permanent --add-icmp-block-inversion
firewall-cmd --permanent --add-icmp-block=router-solicitation
firewall-cmd --reload

 

 

(تنظیمات ICMPv6 را با دقت انجام دهید؛ بسیاری از سرویس‌های IPv6 به ICMPv6 نیاز دارند.)

 

سناریوهای رایج و مثال‌ها

 

مثال 1 — فقط IPv4 استاتیک (CentOS 7/8 با nmcli)

nmcli connection add type ethernet ifname eth0 con-name ipv4-only ipv4.method manual ipv4.addresses 203.0.113.10/24 ipv4.gateway 203.0.113.1 ipv4.dns "8.8.8.8"
nmcli connection up ipv4-only

 

 

مثال 2 — IPv4 DHCP و IPv6 از طریق SLAAC (automatic)

nmcli connection add type ethernet ifname eth0 con-name dhcp4_slaac ipv4.method auto ipv6.method auto
nmcli connection up dhcp4_slaac

 

 

مثال 3 — IPv4 استاتیک و DHCPv6

nmcli connection add type ethernet ifname eth0 con-name ipv4static_dhcp6 ipv4.method manual ipv4.addresses 198.51.100.10/24 ipv4.gateway 198.51.100.1
nmcli connection modify ipv4static_dhcp6 ipv6.method auto
nmcli connection up ipv4static_dhcp6

 

 

نکات عملی و خطایابی عمیق

 

– اگر پس از راه‌اندازی دوباره رابط، IPv6 کار نمی‌کند، بررسی کنید که روتر محل سرویس‌دهنده آدرس‌دهی را اعلان می‌کند (RA). از tcpdump برای بررسی RA استفاده کنید:

tcpdump -i eth0 icmp6 and 'ip6[40] == 134'

 

– بررسی sysctl برای پارامترهای مرتبط با forwarding:

sysctl net.ipv6.conf.all.forwarding

 

برای فعال کردن:

sysctl -w net.ipv6.conf.all.forwarding=1

 

و در /etc/sysctl.conf برای ماندگاری:

net.ipv6.conf.all.forwarding = 1
sysctl -p

 

 

– بررسی سرویس NetworkManager logs برای خطا:

journalctl -u NetworkManager -f

 

 

– اگر فایل ifcfg تداخلی با NetworkManager دارد، از NM_CONTROLLED=no برای مدیریت دستی یا NM_CONTROLLED=yes برای اجازه به NetworkManager استفاده کنید.

 

خلاصهٔ چک‌لیست سریع

 

– آدرس‌ها و پیشوندها را صحیح وارد کنید.

– گِیت‌وی IPv6 لینک-لوکال نیاز به %interface دارد.

– تغییرات موقت با ip قابل آزمایش‌اند.

– از nmcli/nmtui برای تنظیمات مدیریتی استفاده کنید.

– sysctl را برای فعال‌سازی IPv6 بررسی و تنظیم کنید.

– firewall و ICMPv6 را مطابق نیاز باز کنید.

– لاگ‌ها و tcpdump برای عیب‌یابی استفاده کنید.

 

 

4.3/5 - (2708 امتیاز)

ارسال دیدگاه

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


10 - 6

قوانین

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

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