Šiuolaikiniuose tinkluose vis dažniau naudojamas IPv6, tačiau kartais reikia teikti pirmenybę IPv4. Šiame straipsnyje aptariami būdai, kaip pakeisti prioritetą iš IPv6 į IPv4 skirtingoms Ubuntu (20.04 ir 22.04) ir CentOS 7 versijoms. Aptarsime du metodus: gai.conf
failo konfigūravimą ir sysctl
parametrų naudojimą.
Metodas 1: Prioriteto keitimas per gai.conf
Failas gai.conf
(getaddrinfo konfigūracija) naudojamas adresų prioritetams nustatyti vardų sprendimo metu. Šio failo konfigūravimas leis sistemai teikti pirmenybę IPv4 adresams prieš IPv6.
Ubuntu 20.04 ir 22.04
1 žingsnis: Atidarymas ir redagavimas gai.conf
1. Atidarykite terminalą.
2. Redaguokite failą /etc/gai.conf
su supernaudotojo teisėmis:
sudo vim /etc/gai.conf
Raskite eilutę, kurioje yra #precedence ::ffff:0:0/96 10
. Jei ji yra pakomentuota (prasideda nuo #
), pašalinkite simbolį #
ir pakeiskite prioritetinį svorį į 100
, kad ją aktyvuotumėte ir padidintumėte IPv4 prioritetą:
precedence ::ffff:0:0/96 100
2 žingsnis: Pakeitimų išsaugojimas ir tinklo paslaugų perkrovimas
-
Išsaugokite failą ir uždarykite teksto redaktorių (nano: paspauskite
Ctrl+X
, tadaY
irEnter
). -
Kad pakeitimai įsigaliotų, perkraukite tinklo paslaugas arba sistemą:
systemctl restart systemd-networkd
Automatinis eilutės keitimas per konsolės komandą
Norėdami automatiškai pakeisti eilutę, naudokite šią komandą:
sudo sed -i 's/^#precedence ::ffff:0:0\/96 10/precedence ::ffff:0:0\/96 100/' /etc/gai.conf
Ši komanda pašalins simbolį #
ir pakeis prioritetinį svorį į 100
, kad sistema teiktų pirmenybę IPv4 adresams.
CentOS 7
1 žingsnis: Atidarymas ir redagavimas gai.conf
-
Atidarykite terminalą.
-
Redaguokite failą
/etc/gai.conf
su supernaudotojo teisėmis:
sudo vim /etc/gai.conf
Raskite eilutę, kurioje yra #precedence ::ffff:0:0/96 10
. Jei ji yra pakomentuota (prasideda nuo #
), pašalinkite simbolį #
ir pakeiskite prioritetinį svorį į 100
, kad ją aktyvuotumėte ir padidintumėte IPv4 prioritetą:
precedence ::ffff:0:0/96 100
2 žingsnis: Pakeitimų išsaugojimas ir tinklo paslaugų perkrovimas
-
Išsaugokite failą ir uždarykite teksto redaktorių.
-
Perkraukite tinklo paslaugas:
systemctl restart systemd-networkd
Automatinis eilutės keitimas per konsolės komandą
Norėdami automatiškai pakeisti eilutę, naudokite šią komandą:
sudo sed -i 's/^#precedence ::ffff:0:0\/96 10/precedence ::ffff:0:0\/96 100/' /etc/gai.conf
Ši komanda pašalins simbolį #
ir pakeis prioritetinį svorį į 100
, kad sistema teiktų pirmenybę IPv4 adresams.
Metodas 2: Naudojant sysctl
IPv4 prioriteto nustatymui
Naudojant sysctl
parametrus galima valdyti branduolio nustatymus, kas yra naudinga visiškai išjungiant IPv6 arba keičiant jo elgesį branduolio lygiu.
Ubuntu 20.04 ir 22.04
1 žingsnis: IPv6 išjungimas per sysctl
-
Atidarykite terminalą.
-
Redaguokite failą
/etc/sysctl.conf
su supernaudotojo teisėmis:
sudo vim /etc/sysctl.conf
Pridėkite šias eilutes failo pabaigoje, kad išjungtumėte IPv6:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
2 žingsnis: Pakeitimų taikymas
-
Išsaugokite failą ir uždarykite teksto redaktorių.
-
Taikykite pakeitimus naudodami komandą:
sudo sysctl -p
Perkraukite tinklo paslaugas:
Perkraukimas systemd-networkd
:
sudo systemctl restart systemd-networkd
Perkraukimas NetworkManager
:
sudo systemctl restart NetworkManager
CentOS 7
1 žingsnis: IPv6 išjungimas per sysctl
-
Atidarykite terminalą.
-
Redaguokite failą
/etc/sysctl.conf
su supernaudotojo teisėmis:
sudo vim /etc/sysctl.conf
Pridėkite šias eilutes failo pabaigoje, kad išjungtumėte IPv6:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
2 žingsnis: Pakeitimų taikymas
-
Išsaugokite failą ir uždarykite teksto redaktorių.
-
Taikykite pakeitimus naudodami komandą:
sudo sysctl -p
Perkraukite tinklo paslaugas:
Perkraukimas network
:
sudo systemctl restart network
Perkraukimas NetworkManager
:
sudo systemctl restart NetworkManager
Metodų palyginimas
Naudojant gai.conf
Privalumai:
-
Nereikia visiškai išjungti IPv6, kas gali būti naudinga tinkluose, kur IPv6 yra būtinas.
-
Paprastas konfigūravimas ir minimalūs sistemos pakeitimai.
Trūkumai:
-
Pakeitimai veikia tik vardų sprendimo tvarką, o ne visą tinklo protokolų rinkinį.
Naudojant sysctl
Privalumai:
-
Visiškas IPv6 išjungimas gali palengvinti tinklo problemų diagnostiką ir pašalinti konfliktus.
Trūkumai:
-
Visiškas IPv6 išjungimas gali sukelti problemų tinkluose, kur naudojamas tik IPv6.
-
Reikia perkrauti tinklo paslaugas arba sistemą, kad pakeitimai įsigaliotų.
Išvada
Prioriteto keitimas iš IPv6 į IPv4 Ubuntu ir CentOS gali būti pasiektas keliais būdais. Naudojant gai.conf
failą galima keisti adresų prioritetus vardų sprendimo metu, o konfigūravimas per sysctl
gali visiškai išjungti IPv6, priversdamas sistemą naudoti tik IPv4. Abu metodai turi savo privalumų ir trūkumų, o pasirinkimas priklauso nuo jūsų konkrečių reikalavimų ir tinklo sąlygų. Tikimės, kad šis vadovas padės jums konfigūruoti jūsų sistemą.