پرش به محتویات

آموزش IPv6؛ شب نهم: AlmaLinux و NetworkManager

در AlmaLinux 9 با Profileهای NetworkManager کار می‌کنیم، SLAAC و آدرس ثابت را با nmcli تنظیم می‌کنیم و Ruleهای IPv6-aware در firewalld را می‌آزماییم.

نام Connection Profile همیشه با نام Device یکسان نیست:

nmcli device status
nmcli connection show
nmcli -f GENERAL,IP6 device show enp1s0

مثال‌ها از Profile با نام Wired connection 1 استفاده می‌کنند. نام‌های دارای Space را Quote کنید.

SLAAC

sudo nmcli connection modify 'Wired connection 1' \
  ipv6.method auto \
  ipv6.never-default no
sudo nmcli connection up 'Wired connection 1'

Dual Stack با IPv6 ثابت

sudo nmcli connection modify 'Wired connection 1' \
  ipv6.method manual \
  ipv6.addresses '2001:db8:1200:10::70/64' \
  ipv6.gateway 'fe80::1' \
  ipv6.dns '2001:db8:1200:10::53 2606:4700:4700::1111' \
  ipv6.never-default no
sudo nmcli connection up 'Wired connection 1'

برای تغییر Remote از Console یا Checkpoint استفاده کنید:

sudo nmcli device checkpoint --timeout 60 enp1s0
# Make and test changes, then confirm when prompted by your nmcli version.

تعامل Checkpoint میان نسخه‌های NetworkManager تفاوت دارد؛ nmcli --help و Manual نسخهٔ نصب‌شده را بررسی کنید.

Firewall میزبان

وقتی یک Service عادی به firewalld اضافه می‌شود، Rule هر دو Address Family را پوشش می‌دهد:

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=public --add-service=ssh
sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --list-all

برای Web Server:

sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
ss -lntp | grep ':443'

Socket با نمایش [::]:443 حتماً رفتار IPv4 یکسانی ندارد. بسته به net.ipv6.bindv6only ممکن است IPv4 Mapped را هم بپذیرد؛ هر دو Family را صریح آزمایش کنید.

بررسی و بازگشت

nmcli -f ipv6 connection show 'Wired connection 1'
ip -6 address show dev enp1s0
ip -6 route
curl -6 --connect-timeout 5 https://example.com/

برای بازگشت به SLAAC:

sudo nmcli connection modify 'Wired connection 1' \
  ipv6.method auto ipv6.addresses '' ipv6.gateway '' ipv6.dns ''
sudo nmcli connection up 'Wired connection 1'