Täistunnel tappis sinu SSH-sessiooni: kinnita tagasitee
Täistunnel püüab kinni ka sinu enda SSH-sessiooni vastused. Kinnita haldusaadressi jaoks host-marsruut läbi vana lüüsi ja paigalda see ühenduse taastamisel uuesti.
Käivita OpenVPN klient masinas, kus sa SSH kaudu töötad, ja keset käsku külmub sessioon. Tunnel teatab, et on ühendatud, host pääseb selle kaudu internetti ja sinu klahvivajutused jõuavad endiselt kohale, samal ajal kui midagi ei tule tagasi. Muutus ei ole tunnelis: muutus on sinule adresseeritud pakettide tagasitee, mis vastab nüüd uuele vaikimisi marsruudile ja siseneb tunnelisse, mida kauglüüs sinu töökohani jõudmiseks ei kasuta.
Mida redirect-gateway tegelikult paigaldab
Oma def1 kujul redirect-gateway lisab 0.0.0.0/1 ja 128.0.0.0/1 selle asemel, et vaikimisi marsruut üle kirjutada. Need kaks poolt katavad kogu aadressiruumi, jäädes mõlemad pikemateks prefiksiteks kui 0.0.0.0/0, seega läheb iga sihtkoht, millel pole täpsemat vastet, nüüd tunnelisse. See on mehhanism, mida meeles pidada, sest iga parandus allpool töötab täpsema vasteeni paigaldamise teel.
Sinu haldusaadress on üks neist sihtkohtadest.
VPN-server edastab oma klientide liiklust internetti suunas. Sellel pole marsruuti avaliku aadressi jaoks, millelt sa ühendud, ega põhjust käsitleda neid pakette millegi muuna kui kliendilt saabuva liiklusena, seega viskab see need ära. Vahepeal jõudis sinu saadetud päring siiski hostini, ja seepärast näib sessioon elus ainult ühelt poolt.
ip route show table main | head -n 20
ip route get 198.51.100.23Leia oma lähteaadress ja tunnelieelne tee
Serveris loetle loodud SSH-ühendus ja pane kirja vastaspoole aadress, kust see tuli. Just seda aadressi peab sinu tagasimarsruut katma, ja see pole alati see, mida sa arvad: hüppemajutaja, NAT-lüüs või operaatori tõlkija võivad asendada teise lähte.
Seejärel leia füüsiline lüüs ja liides, mis kandsid liiklust enne tunneli käivitumist. def1 paigutuses on vaikimisi marsruut endiselt poolvaikimisi marsruutide all alles, seega on teave saadaval, kuigi pika marsruuditabeli silmaga lugemine kutsub esile vigu.
Pane mõlemad väärtused ja liidese nimi koos kirja, sest marsruut, mida kavatsed lisada, vajab kõiki kolme. Kui host kasutas oma üleslingi valimiseks poliitikapõhist marsruutimisreeglit, ei pruugita tavalist marsruuti üldse vaadata, ja see võimalus muudab parandust.
Kinnita host-marsruut, mis ületab poolvaikimisi marsruudid
Marsruut /32 on pikem kui kumbki kahest poolvaikimisi marsruudist, seega võtavad sinu aadressile saabuvad vastused selle tunneli asemel. Järgmine hüpe on tunnelieelne lüüs ja seade on füüsiline liides, mis hoiab paketi teel, mida see kasutas enne tunneli olemasolu.
ip route add 198.51.100.23/32 via 203.0.113.1 dev eth0Kontrolli otsinguga, mitte tabelit uurides: vastus peab nimetama eth0 ja lüüsi, mitte kunagi tun0.
OpenVPN lisab juba host-marsruudi VPN-serveri enda aadressile samal põhjusel, seega on muster tuttav ja haldusaadress on lihtsalt veel üks erand. Ära haara route-nopull selle parandamiseks, sest see viskab ära tunnelile vajalikud lükatud marsruudid, sealhulgas kaugvõrgu ja DNS-valikud.
Tee see ühenduse taastamisele vastupidavaks
Käsitsi lisatud marsruut kaob, kui klient uuesti ühendub ja paigaldab oma, mis muudab paranduse korduvaks katkestuseks. Kinnita käsk millegi külge, mis jookseb pärast marsruutide paigaldamist.
Nii route-up skript kui ka võrguhalduri pre-up-konks töötavad, ja usaldusväärne kontroll on uuesti ühendamine, millele järgneb sama otsing.
Windowsis on vaste püsiv marsruut, mis lisatakse valikuga -p, mis elab üle taaskäivitused, kuid peab pärast võrgu muutumist ikkagi osutama õigele lüüsile. Olenemata platvormist kirjuta põhjus marsruudi kõrvale: järgmine administraator peab teadma, et see on olemas haldussessiooni kaitsmiseks, mitte sellepärast, et võrgu disain seda nõudis.
Kui kinnitatud marsruudist veel ei piisa
Vastupidise tee filtreerimine võib ära visata paketi, mis saabub ühele liidesele ja lahkub teise kaudu, ja täpselt seda kinnitatud marsruut tekitabki. Kontrolli kehtivat rp_filter väärtust enne, kui midagi globaalselt keelad, ja eelista asümmeetria parandamist kontrolli väljalülitamisele. Kohaldub liidesepõhine säte, ja lõtv režiim logib sageli ainult asümmeetriat, selle asemel et pakett ära visata. Loe mõlemat, enne kui järeldad, et filtril on süü.
Poliitikapõhise marsruutimisega hostidel on vaja nii reeglit kui ka marsruuti, sest reeglipõhi valib tabeli enne, kui selles olevat marsruuti vaadatakse. Marsruut tabelis main on nähtamatu voole, mis vastab teisele tabelile osutavale reeglile. Loe reeglid läbi enne, kui midagi maini lisad. Kui reegel katab juba haldusliiklust, kuulub erand hoopis selle reegli tabelisse.
Hoia testimise ajal lahti välise riba konsool ja kontrolli teisest sisselogimisest üle enne, kui katkestad selle, mida kasutad. Marsruut, mis saadab sinu enda haldusliikluse tunnelisse, lõikab läbi ühenduse, mille kaudu sa seda parandad. Siis tuleb tagasi pääsemiseks kasutada jadakonooli või päästekäivitust, mis on halb vahetus ühe kontrollsammu vahelejätmise eest.