آموزش IPv6؛ شب نهم: AlmaLinux و NetworkManager¶
در AlmaLinux 9 با Profileهای NetworkManager کار میکنیم، SLAAC و آدرس ثابت را با nmcli تنظیم میکنیم و Ruleهای IPv6-aware در firewalld را میآزماییم.
نام Connection Profile همیشه با نام Device یکسان نیست:
مثالها از 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'