It goedkarren yn ’e behearderkonsole liket de lêste stap, en dat is it net. Earst rint de applikaasje yn in time-out, en pas dêrnei fine jo de router online en de rûte goedkard. It goedkarren is in ferspriedingsstap, gjin tastimming en gjin garânsje foar trochstjoeren. Fjouwer fazen moatte op ien line komme foardat in pakket in host efter in subnetrouter berikt, en elk kin slagje wylst de folgjende mislearret. Wurkje se yn folchoarder ôf en stopje by de earste faze dy’t gjin stân hâldt.

Fjouwer fazen, ien mislearring

De router kundiget it foarheaksel oan, it tailnet kart dy oankundiging goed, de klant akseptearret de rûte dy’t er krige, en it tagongsbelied lit de krekte ferbining ta. Dat binne fjouwer aparte besluten fan trije ferskillende komponinten. In goedkarde rûte seit dêrom allinnich dat it netwurk no diel is fan ’e routingstabel fan it tailnet.

De fjirde faze is dy’t it meast oerslein wurdt, om’t de earste trije in sichtbere steat jouwe. In tastimming dy’t it eigen tailnet-adres fan ’e router dekt, dekt net automatysk in privee subnet dêrefter. Dat binne ferskillende bestimmingen, en it belied wurdt per bestimming beoardiele.

Op Linux hat de tredde faze ek in standert dy’t minsken ferrast: it akseptearjen fan subnetrûtes is opsjoneel. Ferskate GUI-klanten akseptearje oankundige rûtes standert, sadat in mingde float ien mislearre masine sjen litte kin wylst de rest wurket.

Befêstigje de ynstelling op ’e mislearre masine ynstee fan in platfoarm oan te nimmen. De rûte wie nea it ûntbrekkende stik op ’e wurkjende masines, dus lit har bewize dat de tailnet-kant sûn is. De dokumintaasje fan Tailscale oer subnetrouters dekt it goedkarren, it akseptearjen fan rûtes troch de klant en de beliedsfaze.

Kontrolearje de rûte dêr’t de klant rint

Begjin by de klant dy’t mislearret, net by de router. Befêstigje dat de rûte oanwêzich is en dat de klantynstelling it akseptearjen fan rûtes hielendal tastiet.

tailscale status
tailscale debug prefs | grep -i route
ip route get 10.20.0.42

It earste kommando lit de peeralist sjen en oft de subnetrouter berikber is, it twadde printsje de ynstellings fan ’e klant ynklusyf it flag foar rûte-akseptaasje, en it tredde freget de kearn hokker ynterface it brûke soe foar in echte host op it subnet. As dat lêste kommando it fysike ynterface neamt yn stee fan it Tailscale-ynterface, is de rûte nea yn ’e tabel kaam. In ûntbrekkende rûte is in klantprobleem, gjin goedkarringsprobleem. Reparearje it foardat jo nei it belied sjogge.

Om rûtes op Linux te akseptearjen, ferbynje jo opnij mei it flag ynstee fan oan te nimmen dat it set is: tailscale up --accept-routes. In klant dy’t mei oare flaggen oansletten is, hâldt se oant se feroare wurde, dus kontrolearje de hjoeddeistige ynstelling foardat jo noch ien tafoegje. It opnij rinnen fan it earste kommando nei de feroaring soe de rûte yn ’e tabel sjen litte.

Bewiis it trochstjoeren en it werompaad

It goedkarren stelt de router net yn om pakketten troch te stjoeren, en it regelet it antwurd net. Beide binne saken op hostnivo oan ’e LAN-kant fan ’e router. Test se op ’e router, net op ’e klant.

sysctl net.ipv4.ip_forward
iptables -t nat -L POSTROUTING -n -v
tcpdump -ni any host 10.20.0.42 and port 443

It earste kommando moat 1 rapportearje, oars smyt de kearn it trochstjoerde pakket weil. It twadde lit sjen oft it maskearjen fan ’e subnetrûte de boarne oerskriuwt, wat it standertgedrach is en meastentiids wat jo wolle. It tredde lit sjen oft it fersyk de bestimming berikt en oft der wat weromkomt; in fersyk sûnder antwurd is in werompaadprobleem, gjin goedkarringsprobleem. Lês de trije resultaten tegearre foardat jo ien fan har feroarje.

As it maskearjen útskeakele is, hat it bestimmingsnetwurk in rûte werom nei de adressen fan it tailnet nedich, en elke hop dertusken moat dat witte. It maskearjen wer oansette is de fluchste repaaraasje foar ien tsjinst, mar mei de kosten dat it oarspronklike klantadres foar de bestimming ferburgen wurdt. Dy ruil is wichtich as de bestimming boarneaadressen foar audit logt, dus beslute it bewust yn stee fan it flag om te setten by in ynsidint. Dokumintearje hokker kar jo makken, want de folgjende persoan sil mar ien fan ’e twa gedragingen sjen.

Lês de tagongsregel foar de boarne

Mei de rûte oanwêzich en it trochstjoeren bewiisd, is de oerbleaune fertochte it belied. Lês de tastimming dy’t de ferbining tastean moat en kontrolearje de bestimming derfan, net allinnich de boarne. De identiteit fan ’e klant sels moat ek by de beliedsselektor passe, dus fêstlizze dy fan deselde masine dy’t mislearret.

tailscale status --json | head -40
tailscale ping <router-name-or-tailnet-ip>
ping -c 3 10.20.0.42

De statusútgong identifisearret de eigen adressen fan ’e klant en de pearen dy’t er sjen kin, en dêrmei moat de boarneselektor fan it belied oerienkomme. tailscale ping bewiist it tailnet-paad nei de subnetrouter sels; it lost pearnammen en tailnet-adressen op, net hosts binnen in oankundige subnet. It tredde kommando stjoert in gewoane ICMP-eko troch de subnetrûte, dus syn resultaat beskriuwt de bestimming yn stee fan ’e router. In wegering op tailnet-nivo komt meastentiids werom as in wegering, wylst in pakket dat fuortgiet en nea weromkomt yn in time-out rint.

In namme dy’t mislearret is in oare fraach as in adres dat mislearret; los de host direkt op foardat jo de rûte de skuld jouwe. Skriuw de tastimming neffens de echte boarnebehoefte yn stee fan it hiele subnet. In hiel /24 iepenje sadat ien applikaasje wurket, is de manier wêrop in smel fersyk in breed tastimming wurdt dy’t nimmen letter doart fuort te heljen.

As it doel in ynternetútgong wie yn stee fan in privee subnet, is de juste komponint in útgongsknooppunt, net in subnetrouter, en it belied en de routing ferskille dêrop. Kontrolearje dat beslút foardat jo in tastimming ferbreedzje. In útgongsknooppunt feroaret de standertrûte; in subnetrouter kundiget allinnich in foarheaksel oan.

Relatearre artikelen