Käynnistä OpenVPN-asiakasohjelma koneella, jolla työskentelet SSH:n yli, ja kesken komennon istunto jäätyy. Tunneli ilmoittaa olevansa yhteydessä, isäntä tavoittaa internetin sen kautta, ja näppäinpainalluksesi saapuvat edelleen, kun mitään ei tule takaisin. Muuttunut asia ei ole tunneli: se on sinulle osoitettujen pakettien paluupolku, joka vastaa nyt uutta oletusreittiä ja kulkee tunneliin, jota etäyhdyskäytävä ei käytä työpöydällesi pääsemiseksi.

Mitä redirect-gateway itse asiassa asentaa

Muodossaan def1 redirect-gateway lisää 0.0.0.0/1 ja 128.0.0.0/1 sen sijaan, että se korvaisi oletusreitin. Nämä kaksi puoliskoa kattavat koko osoiteavaruuden, ja molemmat pysyvät pidempinä etuliitteinä kuin 0.0.0.0/0, joten mikä tahansa kohde ilman tarkempaa osumaa menee nyt tunneliin. Tämä on mekanismi, joka kannattaa painaa mieleen, koska jokainen alla oleva korjaus toimii asentamalla tarkemman osuman.

Hallintaosoitteesi on yksi näistä kohteista.

VPN-palvelin välittää asiakkaidensa liikennettä kohti internetiä. Sillä ei ole reittiä julkiseen osoitteeseen, josta yhdistät, eikä syytä kohdella näitä paketteja muuna kuin asiakkaalta saapuvana liikenteenä, joten se pudottaa ne. Sillä välin lähettämäsi pyyntö tavoitti isännän kuitenkin, ja siksi istunto näyttää elävältä vain toiselta puolelta.

ip route show table main | head -n 20
ip route get 198.51.100.23

Etsi lähdeosoitteesi ja tunnelia edeltävä polku

Listaa palvelimella muodostettu SSH-yhteys ja merkitse muistiin vertaisosoite, josta se tuli. Juuri tämän osoitteen paluureittisi on katettava, eikä se ole aina se, mitä luulet: hyppyisäntä, NAT-yhdyskäytävä tai operaattorin kääntäjä voivat vaihtaa toisen lähteen.

Etsi sitten fyysinen yhdyskäytävä ja käyttöliittymä, jotka kuljettivat liikennettä ennen kuin tunneli käynnistyi. def1 asetelmassa oletusreitti on edelleen olemassa puoliolettusreittien alla, joten tieto on saatavilla, vaikka pitkän reittitaulukon lukeminen silmämääräisesti houkutteleekin virheisiin.

Kirjaa molemmat arvot ja käyttöliittymän nimi yhdessä, koska lisäämäsi reitti tarvitsee kaikki kolme. Jos isäntä käytti politiikkapohjaista reitityssääntöä ylälinkkinsä valintaan, tavallista reittiä ei välttämättä tarkastella lainkaan, ja tämä mahdollisuus muuttaa korjausta.

Kiinnitä isäntäreitti, joka ohittaa puoliolettusreitit

Reitti /32 on pidempi kuin kumpikaan puoliolettusreiteistä, joten osoitteeseesi tulevat vastaukset ottavat sen tunnelin sijaan. Seuraava hyppy on tunnelia edeltävä yhdyskäytävä ja laite on fyysinen käyttöliittymä, mikä pitää paketin sillä polulla, jota se käytti ennen tunnelin olemassaoloa.

ip route add 198.51.100.23/32 via 203.0.113.1 dev eth0

Varmista haulla taulukkoa tutkimisen sijaan: vastauksen on nimettävä eth0 ja yhdyskäytävä, ei koskaan tun0.

OpenVPN lisää jo isäntäreitin VPN-palvelimen omaan osoitteeseen samasta syystä, joten kuvio on tuttu ja hallintaosoite on yksinkertaisesti vielä yksi poikkeus. Älä tartu route-nopull tämän korjaamiseksi, koska se heittää pois tunnelin tarvitsemat työnnetyt reitit, mukaan lukien etäverkon ja DNS-asetukset.

Tee siitä uudelleenyhdistämisen kestävä

Käsin lisätty reitti katoaa, kun asiakas yhdistää uudelleen ja asentaa omansa, mikä muuttaa korjauksen toistuvaksi katkokseksi. Kiinnitä komento johonkin, joka ajetaan reittien asentamisen jälkeen.

Sekä route-up-skripti että verkkohallinnan pre-up-koukku toimivat, ja luotettava tarkistus on uudelleenyhdistäminen ja sen perään sama haku.

Windowsissa vastine on pysyvä reitti, joka lisätään valitsimella -p, joka kestää uudelleenkäynnistykset mutta sen on silti osoitettava oikeaan yhdyskäytävään verkkomuutoksen jälkeen. Alustasta riippumatta kirjoita syy reitin viereen: seuraavan ylläpitäjän on tiedettävä, että se on olemassa hallintaistunnon suojaamiseksi, ei siksi että verkkosuunnittelu sitä vaati.

Kun kiinnitetty reitti ei vieläkään riitä

Käänteisen polun suodatus voi pudottaa paketin, joka saapuu yhdelle käyttöliittymälle ja lähtee toisen kautta, ja juuri sen kiinnitetty reitti luo. Tarkista tehollinen rp_filter-arvo ennen kuin poistat mitään käytöstä globaalisti, ja korjaa mieluummin epäsymmetria kuin kytke tarkistus pois. Sovelletaan käyttöliittymäkohtaista asetusta, ja loose-tila usein vain kirjaa epäsymmetrian sen sijaan että pudottaisi paketin. Lue molemmat ennen kuin päättelet, että suodatin on syysi.

Politiikkapohjaista reititystä käyttävät isännät tarvitsevat säännön reitin lisäksi, koska sääntökanta valitsee taulukon ennen kuin sen sisällä olevaa reittiä tarkastellaan. main-taulukon reitti on näkymätön vuolle, joka vastaa toiseen taulukkoon osoittavaa sääntöä. Lue säännöt ennen kuin lisäät mitään mainiin. Jos sääntö kattaa jo hallintaliikenteen, poikkeus kuuluu sen säännön taulukkoon.

Pidä kaistan ulkopuolinen konsoli auki testatessasi ja tarkista uudelleen toisesta kirjautumisesta ennen kuin katkaiset käyttämäsi. Reitti, joka lähettää oman hallintaliikenteesi tunneliin, katkaisee yhteyden, jonka kautta korjaat sitä. Takaisin pääseminen vaatii silloin sarjakonsolin tai pelastuskäynnistyksen, mikä on huono vaihtokauppa yhden varmistusvaiheen väliin jättämisestä.

Aiheeseen liittyvät artikkelit