Folosesc Ubuntu 20.04, cu systemd-networkd și Netplan. Am două interfețe fizice (ens3
și ens4
) care sunt configurate prin DHCP (cu rezervări, deci primesc mereu aceleași adrese).
În plus, am două dispozitive tunel. Acestea sunt în afara controlului Netplan/networkd (sunt create de Strongswan, dar pentru toate intențiile și scopurile sunt create manual, rulând ceva de genul tunelul IP adauga...
). Aceste dispozitive tunel au un ruta ip
adăugat pentru a le trimite trafic. Când au fost create inițial, acestea funcționează bine, dar systemd-networkd va elimina în cele din urmă rutele.
Pentru a contracara acest lucru, am configurat cu succes dispozitivele tunel în systemd-networkd, dar ruta nu reușește să fie creată deoarece a fost încercată înainte ens3
/ens4
sunt configurate (văd tunnel1: Nu s-a putut seta ruta: Adresă prefsrc nevalidă. Argument invalid
în syslog). Am confirmat comanda prin pornire jurnal de depanare.
Pot adăuga ruta manual:
IP route add 10.0.32.0/20 dev tunnel1 scope link src 10.0.16.170 metric 100
...care funcționează bine, dar va fi eliminat mai târziu de systemd-networkd.
The documentație spune „Toate fișierele de configurare sunt sortate și procesate colectiv în ordine lexicală, indiferent de directoarele în care locuiesc.”, așa că am căutat alte fișiere de configurare și le-am găsit în /run/systemd/network
:
10-netplan-ens3.link
10-netplan-ens3.network
10-netplan-ens4.link
10-netplan-ens4.network
Am încercat să-mi denumesc netdev
și reţea
fişiere ca 99-tunnel1.netdev
sau zzzz-tunnel1.netdev
etc, și chiar încercat cu 00-
etc de asemenea. Indiferent ce fac, se pare mereu că ens3
și ens4
sunt configurate după interfețele tunelului și astfel ruta nu reușește întotdeauna să se adauge.
De asemenea, am încercat să-mi configurez dispozitivele în Netplan. Face unele lucruri dificile, dar în cele din urmă are aceeași problemă. Chiar dacă creează fișiere precum 10-netplan-tunnel1.network
(care sunt lexical după fișierele ens3/ens4), acestea sunt încă aplicate în ordine greșită de către networked.
Sunt sigur că îmi lipsește ceva aici, dar nu văd ce. Vreo idee?
Ale mele tunnel1.netdev
arata asa:
[NetDev]
Nume=tunnel1
Kind=vti
MTUBytes=1419
[Tunel]
La distanță=1.2.3.4
Local=2.3.4.5
Cheie=100
...si .reţea
arata asa:
[Meci]
Nume=tunnel1
[Legătură]
RequiredForOnline=nu
MTUBytes=1419
[Abordare]
Adresa=169.254.102.162/30
Peer=169.254.102.161/30
[Traseu]
Destinație=10.0.32.0/20
PreferredSource=10.0.16.170
Metric=100
Scope=link