Pi VPN -palvelin: aloita puhelimen sovelluksesta, älä reseptistä
Puhelimen sovellus määrää protokollan, vaihdon ja profiilin muodon. Kirjaa neliosainen sopimus ylös ennen kuin asennat mitään Pi:lle.
Useimmat Pi VPN -rakennukset alkavat palvelimen reseptistä ja päättyvät puhelimeen, joka ei saa yhteyttä. Järjestys on väärinpäin. Puhelimen asiakasohjelma toteuttaa tietyn protokollan tietyllä todennusvaihdolla, ja palvelimen on sovittava tuohon vaihtoon, ei päinvastoin. Kun sovellus päätetään ensin, kokonainen iltapäivä virheenjäljitystä muuttuu lyhyeksi tarkistuslistaksi.
Järjestys, joka säästää uudelleenrakennuksen
Kirjaa puhelimen käyttöjärjestelmä ja tarkka VPN-sovellus ylös ennen kuin asennat mitään Pi:lle. Tämä pari määrää, mikä protokolla on ylipäätään mahdollinen. Asiakassovellus ei muutu toiseksi asiakkaaksi vain siksi, että profiilissa sattuu olemaan tuttu kenttä.
Profiilissa oleva jaettu salaisuus tai tutulta näyttävä porttinumero ei muuta protokollaa toiseksi. Vaihto joko vastaa sitä, mitä sovellus toteuttaa, tai epäonnistuu vaiheessa, joka antaa hyvin vähän luettavaa. Ei ole diagnostiikkaa, joka sanoisi yksinkertaisin sanoin "väärä protokolla". Saat aikakatkaisun, varmenteen virheen tai hiljaisen uudelleenyrityssilmukan, ja kaikki ne näyttävät palvelinongelmalta.
Kun sovellus on lukittu, palvelimen valinta kapenee ja loppurakennuksella on tavoite.
Mitä puhelimen sovellus oikeasti toteuttaa
Julkaistu asiakasluettelo kuvaa sovellusta, ei palvelua. Androidin OpenVPN Connect -sovellus odottaa OpenVPN-palvelinta; se ei tarjoa palvelinpuolta. Se ei myöskään muutu IPsec- tai L2TP-asiakkaaksi, kun profiili näyttää samalta.
Tämä ero on tärkein seuratessasi vanhempaa ohjetta. Reseptit, jotka on kirjoitettu protokollalle, jonka nykyinen sovellus on hylännyt, asentuvat edelleen siististi Pi:lle ja epäonnistuvat edelleen puhelimessa, mikä luetaan asetusten virheeksi eikä protokollan yhteensopimattomuudeksi.
Tarkista sovelluksen nykyisestä dokumentaatiosta, mitä profiilimuotoja se tuo, ennen kuin sitoudut palvelinpakettiin. Viisi minuuttia lukemista voittaa uudelleenrakennuksen.
Neliosainen sopimus
Kirjaa neljä asiaa ja pidä ne yhdessä: puhelimen käyttöjärjestelmä ja sovellusversio, palvelimen toteutus Pi:llä, todennus- ja luottamuskäytäntö sekä ulkoinen päätepiste. Kuka tahansa neljästä voi mitätöidä muut kolme.
Sovelluspäivitys, palvelinpaketin vaihto tai uusi varmentaja rikkovat sopimuksen, ja vika näyttää puhelimesta joka kerta samalta. Juuri ylös kirjatut neljä mahdollistavat sen, että voit tunnistaa, mikä osa liikahti.
Tunnuksilla on erilliset tehtävät
Päätä, käyttääkö profiili asiakasvarmenteita, käyttäjätunnusta ja salasanaa vai tuettua yhdistelmää, ja saata molemmat päät sopuun. Myös palvelimen identiteetin ja luotetun CA-materiaalin on vastattava sitä, minkä asiakas hyväksyy.
CA:n julkinen varmenne ja sen allekirjoittava yksityinen avain ovat eri objekteja. Puhelinprofiiliin kuuluu vain julkinen osa. Jos laitat allekirjoitusavaimen puhelimeen, annat pois kyvyn luoda identiteettejä, mikä on vastakohta sille, mitä varten CA on. Käsittele tuota tiedostoa koko rakennuksen arkaluontoisimpana objektina.
Käytä palvelun tukemaa vienti- ja tuontityönkulkua sen sijaan, että kokoaisit profiilin käsin. Käsin rakennetut profiilit kantavat yleensä vain työpöytää koskevia direktiivejä, jotka mobiilisovellus jättää huomiotta tai hylkää.
Ennen kaikkea: älä korvaa varmenteen vahvistusta valinnalla "hyväksy mikä tahansa palvelin", jotta vanha esimerkki yhdistäisi. Se muuttaa yhteensopivuusongelman todennuksen ohitukseksi, ja se selviää yleensä tuotantoon asti, koska se toimii.
Tavoitettavuus on erillinen sopimus
Puhelimen on päästävä palvelimen ulkoiseen päätepisteeseen todellisen ylävirran järjestelyn kautta. Kotireitittimen osoitteenmuunnos, suodatus ja operaattorin NAT ovat kaikki niiden välissä. Dynaaminen DNS-nimi antaa päätepisteelle vain vakaan nimen; se ei luo saapuvaa polkua.
Määrittele sitten, mitä asiakas saa yhteyden jälkeen tavoittaa: yksityiset etuliitteet tai täysi internet-poistuma, niiden edelleenlähetys- ja vastauspolut, DNS-käyttäytyminen ja onko IPv6 mukana. Onnistunut kirjautuminen ei todista mitään näistä.
Hyväksy aiottu puhelin ja profiili suoraan, mukaan lukien tarkistus siitä, että luvaton resurssi pysyy tavoittamattomana ja että peruutus todella poistaa pääsyn. Onnistuminen työpöytäasiakkaalla vahvistaa kyseisen työpöytäasiakkaan, ei kädessäsi olevaa puhelinta. OpenVPN Connectin luettelo on konkreettinen esimerkki asiakassovelluksesta, joka odottaa vastaavaa palvelua.