Gehitu politika-arau bat ip rule erabiliz eta esteka desagertu arte funtzionatzen du; une horretan, besterik gabe, ez dago. Ezerk ez zuen ozen huts egin: kernelaren egoera aldatu zen eta konfigurazio-jabe batek ere ez zekien arauak existitu behar zuenik. Hori da irauten duen arauaren eta irauten ez duenaren arteko aldea osoa. systemd-networkd duen ostalari batean, konponbidea arauari jabe bat ematea da, eta ez berriro konektatu bakoitzean komandoa berriro exekutatzea.

Arau bat existitzen da norbait haren jabe denean soilik

Kernelaren bideratze-politika egoera da, ez konfigurazioa. Martxan dagoen sisteman bizi da, eta haren mendeko interfazea eraisten duen edozerk eraman dezake. Shell komando batek egoera hori aldatzen du eta ez du asmoaren erregistrorik uzten.

Sare-kudeatzaileek alderantziz lan egiten dute: konfigurazioa irakurri, aplikatu eta berriro aplikatzen dute esteka-gertaera batek aurreko egoera baliogabetzen duenean. Beren konfigurazioan deklaratutako araua birsortu egiten da, eta haien ondoan gehitutako araua jaberik gabeko objektu arrotza da.

Bereizketa horrek izena du networkd-en, eta merezi du ezer gaitu aurretik irakurtzea. Arau arrotzak lehenespenez kentzen dira bertsio berrietan, eta horrek harritzen ditu euren sarrera eskuzkoak mantenduko zirela espero zutenak.

Irakurri bertsioa ezarpen batean fidatu aurretik

Jabetza-portaera networkd.conf-eko ezarpen batek kontrolatzen du, eta ezarpen hori ez dago systemd bertsio zaharretan. Egiaztatu instalatutako bertsioa haren inguruan diseinatu aurretik, ostalari zahar batek irakurtzen ari zaren dokumentazioak ez bezala jokatzen baitu.

Bi baliok dute garrantzia. Batek erabakitzen du networkd konfigurazioan deklaratu gabeko arauak kentzen diren, eta besteak gauza bera egiten du ibilbideekin. Biek jabetzari buruz dihardute eta ez politikaren edukiari buruz, eta biek portaera zorrotzena hartzen dute lehenespenez uneko bertsioetan. Hauek globalki desgaitzeak arau arrotz guztiak bizirik mantentzen ditu, eta hori askoz erabaki zabalagoa da nahi den VPN politika bat deklaratzea baino.

systemctl --version | head -1
networkctl --version | head -1
grep -R "ManageForeign" /etc/systemd/ /usr/lib/systemd/ 2>/dev/null

Grep horrek esaten dizu zer dagoen tokian tokiko ezarrita eta zer den saltzailearen lehenetsia. Absentzia ere informazioa da, konpilatutako lehenetsia aplikatzen dela esan nahi baitu. Idatzi lehenetsia zure oharretan hurrengo pertsonak berriro aurkitu behar ez dezan.

Deklaratu araua eta hark seinalatzen duen taula

.network fitxategi bateko arau batek taula bat izendatzen du, eta hori da izen batek egiten duen guztia. Ez ditu taula horretako ibilbideak sortzen eta ez du egiaztatzen zentzuzkoak direnik. Araua ibilbiderik gabe deklaratzeak trafikoa bat datorren eta gero baztertzen duen politika sortzen du.

Deklaratu ibilbideak fitxategi berean, hurrengo jauzi irisgarriekin eta taula zuzenarekin. Mantendu lehentasuna deklaratutako arauan, ordenatutako zerrendan espero duzun tokian kokatzeko. Taula okerra espero baino lehenago ukitzen duen arauak konpondu nahi zenuen zerbitzuak baino trafiko gehiago aldatzen du. Irakurri beheko zatia forma gisa, eta ez fitxategi oso gisa, interfazearen jabetza eta konexioaren gainerakoa oraindik egon behar baitira.

[RoutingPolicyRule]
Family=ipv4
IPProtocol=tcp
SourcePort=443
Table=100
Priority=1000

[Route]
Destination=10.80.0.0/24
Gateway=10.80.0.1
Table=100

Ondoren birkargatu eta kernelaren egoera irakurri fitxategiaren ordez. Garbi analizatutako konfigurazio batek nahi ez zenuen arau bat sortu dezake oraindik, eta bi ikuspegiak bat datoz deklarazioa osoa zenean soilik.

Aukeratu jabe bakarra interfazerako

Bi kudeatzaile tunel bakarrean liskar bat sortzen dute, bietan akats baten itxura duena. Dagoen wg-quick konfigurazio bat networkd-era inportatzea migrazioa da eta ez gehiketa, eta biek martxan egoteak interfazea eta bere arauak bi jabeen menpe uzten ditu.

Egin migrazioa behin: gelditu unitate zaharra, desgaitu, deklaratu interfazea eta bere ibilbideak networkd-en, eta gero birkargatu. Egiaztatu unitate zaharra abioan itzuli ezin daitekeela. Berrabiarazi ondoren berriro aktibatzen den unitate bat geratzen bada, oraintxe deklaratu duzun egoera gainidazten du. Mantendu konfigurazio fitxategi zaharra berriak berriro konektatze bat gainditu arte, eta gero erretiratu.

Markaren jabetzak arreta bera merezi du: arau bat suebaki-marka batekin bat badator, norbaitek marka hori ezarri behar du. Inork ezartzen ez duen marka bati erreferentzia egiten dion araua nahita egina dirudien konfigurazio hila da.

Praktikatu bizitza-zikloaren gertaerak

Konfigurazioak gertaeren zehar duen portaerak adina balio du. Jaitsi esteka, igo, berrabiarazi zerbitzua eta berritu helbidea. Bakoitzaren ondoren, irakurri arauen zerrenda eta taularen edukia.

sudo networkctl reload
ip rule show
ip route show table 100
sudo systemctl restart systemd-networkd

Helburuko emaitza politika bera jabedun gisa birsortzea eta egoera zaharkitua erretiratzea da, eta hori iraunkorragoa da berriro konektatu bakoitzean shell arau bat berriro gehitzea baino. Mantendu aldaketa-erregistroan lerro bat arauaren jabe den fitxategia eta hura onartzen duen bertsioa izendatzen dituena. Orduan hurrengo ingeniariak politika aurki dezake shell historialik bilatu gabe. Inork ez duen araua berriro galduko den araua da.

Erlazionatutako artikuluak