آموزش تنظیم IPv4 و IPv6 در Rocky Linux
مقدمه
این مقاله مراحل عملی و تنظیمات لازم برای پیکربندی آدرسدهی IPv4 و IPv6 در Rocky Linux (معمولاً نسخههای 8 و 9) را شامل میشود. مثالها با استفاده از NetworkManager و دستورات nmcli و فایلهای پیکربندی سیستم ارائه شدهاند. فرض میکنم سیستم با NetworkManager فعال است (پیشفرض در نصبهای دسکتاپ و سرور اختصاصی یا سرور مجازی یا سرور ابری با نصب network-manager یا nmtui).
پیشفرضها
– فرض میکنم نام رابط شبکه فرضی: enp0s3 (آن را با نام واقعی سیستم خود جایگزین کنید).
– دسترسی ریشه (root) یا sudo لازم است.
– برای اعمال تغییرات در محیط سرور لینوکس از کنسول یا SSH استفاده کنید.
فهرست مطالب
- بررسی وضعیت فعلی شبکه
- پیکربندی IPv4 (DHCP و آدرس ثابت)
- پیکربندی IPv6 (DHCPv6، SLAAC، آدرس ثابت)
- تنظیم مسیرها (static routes) و DNS
- فایلهای سیستم و مثالهای NetworkManager (ifcfg و nmcli)
- فعالسازی تغییرات و خطاگیری (troubleshooting)
- نکات امنیتی و ابزارهای کمکی
1) بررسی وضعیت فعلی شبکه
– دیدن رابطها و آدرسها:
– دستور:
ip addr show
– یا خلاصه:
ip -4 addr show ip -6 addr show
– بررسی مسیرهای فعلی:
ip route show ip -6 route show
– وضعیت NetworkManager و نام کانکشنها:
nmcli device status nmcli connection show
– مشاهده فایلهای ifcfg (در توزیعهای RHEL-like):
ls /etc/sysconfig/network-scripts/ifcfg-*
2) پیکربندی IPv4
IPv4 با DHCP (اتوماتیک)
– با nmcli (موقت/ماندگار):
sudo nmcli connection modify "System enp0s3" ipv4.method auto sudo nmcli connection up "System enp0s3"
اگر نام کانکشن را نمیدانید از nmcli connection show استفاده کنید. این تنظیم باعث میشود آدرس IPv4 از سرور DHCP دریافت شود.
IPv4 با آدرس ثابت (Static)
– مشخصات نمونه:
– آدرس: 192.168.10.50
– ماسک: 24 (یا prefix 24)
– gateway: 192.168.10.1
– DNS: 8.8.8.8, 1.1.1.1
– دستور nmcli برای تنظیم:
sudo nmcli connection modify "System enp0s3" ipv4.addresses 192.168.10.50/24 sudo nmcli connection modify "System enp0s3" ipv4.gateway 192.168.10.1 sudo nmcli connection modify "System enp0s3" ipv4.dns "8.8.8.8 1.1.1.1" sudo nmcli connection modify "System enp0s3" ipv4.method manual sudo nmcli connection up "System enp0s3"
– معادل با فایل ifcfg (در /etc/sysconfig/network-scripts/ifcfg-enp0s3):
TYPE=Ethernet BOOTPROTO=none NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes IPADDR=192.168.10.50 PREFIX=24 GATEWAY=192.168.10.1 DNS1=8.8.8.8 DNS2=1.1.1.1
سپس:
sudo systemctl restart NetworkManager
3) پیکربندی IPv6
روشها: SLAAC (خودکار)، DHCPv6، یا آدرس ثابت.
A. فعال کردن IPv6 در سطح کرنل (اگر غیرفعال است)
– بررسی:
sysctl net.ipv6.conf.all.disable_ipv6
مقدار 0 = فعال، 1 = غیرفعال
– فعالسازی:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
برای ماندگاری در /etc/sysctl.d/99-ipv6.conf:
net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0
IPv6 با SLAAC (خودکار، از طریق Router Advertisements)
– با nmcli (فعالسازی autoconf):
sudo nmcli connection modify "System enp0s3" ipv6.method auto sudo nmcli connection up "System enp0s3"
در این حالت آدرس Global یا Link-local طبق RA از روتر دریافت میشود.
IPv6 با DHCPv6
– برای استفاده از DHCPv6:
sudo nmcli connection modify "System enp0s3" ipv6.method dhcp sudo nmcli connection up "System enp0s3"
(بسته به نسخه NetworkManager ممکن است ipv6.method=dhcp6 هم کار کند؛ اما dhcp معمولاً کافی است.)
IPv6 آدرس ثابت (Static)
– مثال:
– آدرس: 2001:db8:10::50/64
– gateway: 2001:db8:10::1
– DNS: 2001:4860:4860::8888
– با nmcli:
sudo nmcli connection modify "System enp0s3" ipv6.addresses 2001:db8:10::50/64 sudo nmcli connection modify "System enp0s3" ipv6.gateway 2001:db8:10::1 sudo nmcli connection modify "System enp0s3" ipv6.dns "2001:4860:4860::8888" sudo nmcli connection modify "System enp0s3" ipv6.method manual sudo nmcli connection up "System enp0s3"
– معادل ifcfg:
IPV6INIT=yes IPV6ADDR=2001:db8:10::50/64 IPV6GATEWAY=2001:db8:10::1
4) تنظیم مسیرهای استاتیک و DNS
A. اضافه کردن مسیر IPv4 استاتیک:
– اضافه کردن یک route با ip:
sudo ip route add 10.10.20.0/24 via 192.168.10.1 dev enp0s3
– برای ماندگاری، در NetworkManager:
sudo nmcli connection modify "System enp0s3" +ipv4.routes "10.10.20.0/24 192.168.10.1" sudo nmcli connection up "System enp0s3"
B. اضافه کردن مسیر IPv6 استاتیک:
sudo ip -6 route add 2001:db8:20::/64 via 2001:db8:10::1 dev enp0s3
با nmcli:
sudo nmcli connection modify "System enp0s3" +ipv6.routes "2001:db8:20::/64 2001:db8:10::1" sudo nmcli connection up "System enp0s3"
C. تنظیم DNS (systemd-resolved یا /etc/resolv.conf)
– اگر از systemd-resolved استفاده میکنید، nmcli تنظیم DNS را انجام میدهد و systemd-resolved مسئول است. برای تنظیم دستی و اطمینان:
sudo nmcli connection modify "System enp0s3" ipv4.dns "8.8.8.8 1.1.1.1" ipv4.ignore-auto-dns yes sudo nmcli connection modify "System enp0s3" ipv6.dns "2001:4860:4860::8888" ipv6.ignore-auto-dns yes sudo nmcli connection up "System enp0s3"
– بررسی DNS فعال:
resolvectl status cat /etc/resolv.conf
5) فایلهای سیستم و مثالهای کامل
A. نمونه ifcfg برای IPv4 static + IPv6 SLAAC:
/etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet BOOTPROTO=none NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes IPADDR=192.168.10.50 PREFIX=24 GATEWAY=192.168.10.1 DNS1=8.8.8.8 IPV6INIT=yes IPV6_AUTOCONF=yes
B. نمونه ifcfg برای IPv4 DHCP + IPv6 static:
TYPE=Ethernet BOOTPROTO=dhcp NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes IPV6INIT=yes IPV6ADDR=2001:db8:10::50/64 IPV6GATEWAY=2001:db8:10::1 DNS1=8.8.8.8
6) اعمال تغییرات و خطاگیری (Troubleshooting)
– راهاندازی مجدد کانکشن:
sudo nmcli connection reload sudo nmcli connection down "System enp0s3" && sudo nmcli connection up "System enp0s3" sudo systemctl restart NetworkManager
– بررسی لاگها:
sudo journalctl -u NetworkManager -b --no-pager
– بررسی آدرسها و مسیرها:
ip addr show dev enp0s3 ip route show ip -6 route show
– تست دسترسی IPv4/IPv6:
ping -c 4 8.8.8.8 ping6 -c 4 2001:4860:4860::8888
– اگر آدرس IPv6 SLAAC نمیآید: بررسی وجود Router Advertisements با tcpdump:
sudo tcpdump -i enp0s3 icmp6 and 'ip6[40] == 134'
(RAها نوع 134 هستند)
– اگر DNS حل نشد: بررسی /etc/resolv.conf و تنظیمات systemd-resolved:
resolvectl status sudo systemctl status systemd-resolved
7) نکات امنیتی و بهترین شیوهها
– اگر به IPv6 نیازی ندارید، بهتر است آن را بهدرستی غیرفعال یا محدود کنید (اما غیرفعال کردن کامل IPv6 میتواند برخی برنامهها را دچار مشکل کند).
– فایروال: برای IPv6 از firewalld یا nftables استفاده کنید و قوانین IPv6 را جداگانه مدیریت کنید:
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv6 source address=2001:db8:10::/64 accept' sudo firewall-cmd --reload
– از آدرسدهی استاتیک فقط در صورت نیاز استفاده کنید؛ DHCP برای مدیریت سادهتر توصیه میشود.
– مستندسازی: هر تغییر شبکه را در مستندات نگه دارید (IP، gateway، DNS، مسیرها).
خلاصه سریع گامها (برای پیادهسازی سریع IPv4 static + IPv6 static)
- فعال کردن IPv6 در sysctl (در صورت نیاز).
- تنظیم آدرسها با nmcli:
sudo nmcli connection modify "System enp0s3" ipv4.addresses 192.168.10.50/24 ipv4.gateway 192.168.10.1 ipv4.dns "8.8.8.8 1.1.1.1" ipv4.method manual sudo nmcli connection modify "System enp0s3" ipv6.addresses 2001:db8:10::50/64 ipv6.gateway 2001:db8:10::1 ipv6.dns "2001:4860:4860::8888" ipv6.method manual sudo nmcli connection up "System enp0s3"
- بررسی با ip addr و ping/ping6.





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