Mitä Linuxissa oikeasti tapahtuu, kun käynnistät VPN:n
VPN:n käynnistäminen Linuxissa luo liittymän, asentaa reitit ja vaihtaa resolverin. Tieto siitä, mikä palvelu omistaa minkäkin vaiheen, selittää useimmat asennusvirheet.
Paina yhdistä, ja Linux-koneessa muuttuu kolme asiaa: liittymä ilmestyy, reitit asennetaan ja resolveri alkaa vastata eri tavalla. Useimmat asennusvirheet johtuvat siitä, että yksi noista kolmesta tapahtuu ilman muita, tai siitä, että kaksi ohjelmaa on eri mieltä siitä, kuka ne omistaa. Järjestyksen ymmärtäminen selittää virheen nopeammin kuin asiakkaan lokitulosteen lukeminen.
Liittymä ilmestyy ennen kuin mikään toimii
Tunneliasiakas avaa virtuaalisen liittymän ja antaa paketit sille. TUN-laite kuljettaa IP-paketteja, mitä reititetty VPN tarvitsee; TAP-laite kuljettaa Ethernet-kehyksiä, mitä sillattu rakenne tarvitsee. Ytimen moduuli tarjoaa laitteen, ja asiakas omistaa sen niin kauan kuin istunto kestää.
Liittymän nouseminen ei ole sama kuin toimiva tunneli. Se voi olla olemassa osoitteen kanssa, vaikka vastapuoli ei ole tavoitettavissa, ja siksi liittymäluettelo on ensimmäinen tarkistus eikä viimeinen. Laite, joka ilmoittaa olevansa ylhäällä, kuvaa ytimen näkemystä virtuaalisesta yhteydestä, ei vastapuolen halukkuutta vastata.
Jätä annettu liittymätila rauhaan. TUN-profiilin muuttaminen TAP:iksi ei tee reititetystä palvelimesta sillattua, ja se tuottaa yleensä yhteyden, joka muodostuu eikä välitä mitään.
Reitit asentaa se, joka omistaa tunnelin
Reitit ovat toinen muutos, ja niiden omistajuus on tärkeämpää kuin niiden sisältö. NetworkManager-profiili, systemd-yksikkö ja käsin käynnistetty asiakas voivat kaikki asentaa reittejä, ja kun kaksi niistä tekee sen samaan aikaan, syntyy taulukko, jota kukaan ei myöhemmin osaa selittää.
ip -br addr show ip route show ip -6 route show
Täystunnelin profiili korvaa oletusreitin; jaetun tunnelin profiili lisää tarkempia reittejä ja jättää oletusreitin rauhaan. Molemmat ovat normaaleja, ja jälkimmäinen on syy siihen, miksi oletusreitin poistaminen on huono ensimmäinen testi koneella, jota hallitset etänä. Sen poistaminen on myös nopein tapa menettää istunto, jota käytät ongelman korjaamiseen.
Lue taulukkoa sen sijaan että olettaisit. Tarkempi reitti tai käytäntösääntö voi ohjata liikennettä tunneliin, kun taas oletusreitti osoittaa edelleen fyysiseen liittymään, mikä näyttää ristiriitaiselta, kunnes luet koko taulukon. Tämä yhdistelmä on normaali jaetulle tunnelille ja hämmentävä sille, joka odottaa yhden rivin kuvaavan rakenteen. Etsi reittiä, joka vastaa todellista kohdettasi, ei sitä, joka vastaa kaaviota.
Resolveri vaihtaa omistajaa
DNS on kolmas muutos ja se, jota todennäköisimmin hallitaan jossain, missä et katsonut. Työpöydällä NetworkManager voi työntää resolverin asetukset yhteyskohtaisesti. Järjestelmässä, joka käyttää systemd-resolvediä, asetukset sovelletaan linkkikohtaisesti ja /etc/resolv.conf voi olla tynkä tai symbolinen linkki sen sijaan, että se olisi tiedosto, jota sinun pitäisi muokata.
resolvectl status readlink -f /etc/resolv.conf cat /etc/resolv.conf
Jos resolverin tiedostoon käsin tehty muutos katoaa uudelleenyhdistämisen jälkeen, se on merkki siitä, että etsi komponentti, joka sitä ylläpitää, ja muuta sen sijaan profiilia. Luodun tiedoston muokkaaminen on muutos, jonka uudelleenyhdistäminen pyyhkii.
Yksityiset nimet tarvitsevat yleensä sisäisen resolverin ja operaattorin toimittamat hakutoimialueet. Julkisella resolverilla korvaaminen voi rikkoa juuri sen resurssin, jonka vuoksi VPN on olemassa, ja oire näyttää reititysvirheeltä eikä DNS-virheeltä. Testaa nimi ja osoite erikseen, koska toisen toimiminen ja toisen epäonnistuminen kertoo tarkalleen, mihin katsoa. Se yksi vertailu säästää tunnin reittien virheenkorjausta.
Yksi hallintaohjelma per yhteys
Profiilin muoto ratkaisee, mikä ohjelma voi käyttää sitä. OpenVPN-profiili tarvitsee OpenVPN-ohjelman tai yhteensopivan liitännäisen, ja WireGuard-kokoonpanolla on oma muotonsa vastapuolen avaimineen ja sallittuine etuliitteineen. Tuontivalintaikkuna ei käännä toista toiseksi, mitä tiedostopääte sitten vihjaileekaan.
Valitse yksi hallintaohjelma ja anna sen omistaa yhteys. Saman tunnelin nostaminen kahdella työkalulla tekee reittitaulukosta ja uudelleenyhdistämiskäyttäytymisestä monitulkintaisen, ja toiseksi käynnistyvä voittaa yleensä tavoilla, joita on vaikea toistaa.
Asenna paketit, joita jakelusi tukee, ja hanki profiili operaattorilta. Kohtele sitä tunnuksena, koska se sisältää yleensä yksityisen avaimen tai vastaavaa materiaalia, ja säilytä sitä siellä, missä muut salaisuutesi ovat. Latauskansioon jätetty profiili on pöydälle jätetty avain.
Mitä tarkistaa, kun se on ylhäällä mutta ei toimi
Kun liittymä on ylhäällä ja asiakas ilmoittaa onnistumisesta, työskentele ulospäin: valitseeko reittitaulukko tunnelin kohteelle, vastaako resolveri yksityiselle nimelle ja onko vastapuolella paluureitti. Jokaisella on erillinen komento ja erillinen omistaja.
nmcli connection show --active nmcli device status wg show
nmcli-viite dokumentoi tila- ja yhteyskomennot, jos tarvitset koko joukon. Tässä ratkaisee ero aktiivisen profiilin ja liikennettä kuljettavan laitteen välillä, koska ne kaksi voivat olla eri mieltä.
Yhdistä kerran uudelleen saman hallintaohjelman kautta ennen kuin kutsut asetuksia valmiiksi, ja tarkista, että DNS toimii vielä yhteyden katkaisun jälkeen. Kokoonpano, joka toimii vain ensimmäiseen verkkomuutokseen asti, ei ole valmis, se vain toimii juuri nyt.