Eng statesch Route op en Gateway-Numm ze weisen fillt sech un, wéi wann se eng Adressännerung iwwerliewe soll, an dat mécht se net. Den Numm lieft am DNS, während d'Route an der Routingtabell vum Client als numereschen nächsten Hopp sëtzt. Wann de Pi op eng aner Adress wiesselt, schéckt all Verbraucher, deen den ale Hopp schonn installéiert huet, weider Traffic op déi selwecht Nummer. Kee Resolver ass un d'Weiderleitungstabell ugeschloss, also schreift näischt deen Entrée fir dech ëm.

D'DNS-Antwert an d'Route si verschidden Objeten

Sot, däi Pi äntwert op vpn-gw.lan a leet 10.44.0.0/16 an en Tunnel weider. Cliente op 192.168.30.0/24 erreechen en iwwer eng statesch Route. Wéi d'Adress vum Pi vun 192.168.30.4 op 192.168.30.11 gewiesselt huet, ass de Rekord bannent senger TTL gefollegt an d'Route net.

Déi zwee Usiichte si sech op eng Manéier onéineg, déi liicht ze iwwersinn ass, well se allebéid plausibel ausgesinn, wann s de se getrennt freads:

$ ip route get 10.44.0.1
10.44.0.1 via 192.168.30.4 dev eth0 src 192.168.30.20
$ dig +short vpn-gw.lan
192.168.30.11

Nëmmen déi éischt Linn entscheet, wou d'Pakete fortginn. Déi zweet Linn äntwert op eng Fro, déi de Kernel ni gestallt huet. En Rekord mat méi A-Recorde gëtt och keng Failover-Politik, well all Adress nach ëmmer en notzbaren nächsten Hopp op deem Segment muss sinn.

Wat an der Tabell bleift, nodeems d'Kommando eraus ass

Eng Linux-Route schreift zwee Saachen op, déi hei z'importéiere sinn: den nächste Hopp als Protokolladress, an d'Ausganksinterface als Indexnummer. D'rtnetlink-Routeattributer nennen dat éischt Feld RTA_GATEWAY, an et hält Bytes. Wann den Entrée emol op sengem Platz ass, hänkt keen TTL drun a keen Hannergrondssich frëscht en op.

Dofir kann ip route add 10.44.0.0/16 via vpn-gw.lan schéngen ze funktionéieren. D'Instrument léist den Numm, während d'Kommando leeft, schreift déi resultéierend Adress, a vergësst den Numm komplett. Laaf ip route show 10.44.0.0/16 duerno a s du kréis eng wuertwiertlech Adress zréck.

Dee Verhalen ass et wäert ze kennen, ier s du den Tunnel beschëllegs.

Instrumenter, déi en Numm fir dech léisen, a wéini

Verschidde Routere a Firewalle akzeptéieren tatsächlech Hostnimm an engem Route- oder Gateway-Feld. Wat zielt, ass wéini d'Léisung geschitt. Wann d'Apparat den Numm nëmmen léist, während s du d'Konfiguratioun uschaffs, ass den gespäicherten Entrée grad esou statesch wéi eng getippten Adress, an eng spéider Adressännerung brauch eng weider Uschafung. Datt d'Feld en Numm akzeptéiert, seet dir näischt iwwer d'Aktualiséierung.

Gestiounstenstellunge deelen d'Aarbecht meeschtens. En DHCP-Reservation oder en statesche Lease hält de Pi op enger Adress, an den DNS-Rekord follegt einfach dem Lease. Näischt muss en beweeglecht Zil verfollegen, well d'Zil sech net beweegt.

En iwwerwaachten Updater ass dat anert legitime Muster, an hie brauch en Eegentimer.

Pinn d'Adress fest oder laaf den Updater selwer

Fir eng kleng LAN ass eng Reservation um DHCP-Server déi bëllegst Léisung. Wiel eng Adress ausserhalb vum dynamesche Pool, bann se un d'MAC-Adress vum Pi, a bestäteg se mat ip -4 addr show dev eth0 no der nächster Lease-Erneierung. Dunn richt den nächsten Hopp vun de Cliente mol op déi Adress. Du hues elo en stabile Gateway an en Rekord, deen en beschreift, an dat ass d'Reiefolleg, an där d'Relatioun tatsächlech funktionéiert.

Wann de Pi wierklech muss wiesselen, behalt d'Routenreparatur op enger Plaz, amplaz all Client vun Hand ze editéieren. En kuerzen Skript, deen opléist, vergläicht an ersetzt, ass genuch, fir de Schrëtt widderhuelbar ze maachen:

new=$(dig +short vpn-gw.lan | head -n1)
cur=$(ip route get 10.44.0.1 | awk '{print $3}')
if [ "$new" != "$cur" ]; then
  ip route replace 10.44.0.0/16 via "$new"
fi
ip route get 10.44.0.1

Déi lescht Kommando ass den Akzeptanztest, well se de Gateway dréckt, deen de Kernel tatsächlech wäert benotzen. Wann déi gedréckten Adress nach déi al ass, ass de Skript am falschen Netzwierk-Namespace gelaf oder hat keng Erlaabnis, an d'DNS-Säit ass irrelevant.

Kontrolléier och de Retourwee. De Pi muss wëssen, wéi en d'Client-Subnetz erreecht, an seng Firewall muss den Tunnel-Traffic erlabe. Eng Standardroute, déi bäigefüügt gëtt, fir den Ënnerscheed ze decken, verstoppt meeschtens déi richteg Lück a brickt eng Woch méi spéit eppes anescht.

Ähnlech Artikelen