Pitäisikö OpenVPN-asiakkaasi käyttää nobindia vai kiinteää porttia?
nobind jättää ytimen valittavaksi lähdeportin asiakkaalle, joka soittaa ulos. Kolme ehtoa ratkaisee, haluatko sen vai mieluummin kiinnitetyn paikallisen portin.
Kaksi profiilia, jotka eroavat yhdellä rivillä, käyttäytyvät eri tavalla sinä hetkenä, kun toinen asiakas käynnistyy samalla isännällä. Toinen kantaa nobind ja ottaa minkä tahansa paikallisen portin, jonka ydin antaa; toinen varaa 1194:n, ja toinen instanssi kuolee jo käytössä olevaan osoitteeseen. Tuo rivi ratkaisee, kuka valitsee lähdeportin, mikä puolestaan ratkaisee, voiko profiili elää yhdessä minkään muun kanssa koneella. Kolme kysymystä ratkaisee sen, ja ensimmäinen vastaa useimpiin profiileihin ennen kuin pääset kahteen muuhun.
Mitä nobind oikeastaan ohittaa
Oletuksena asiakas sitoo paikallisen pistokkeen ennen soittoa, ja paikallinen portti on 1194, ellei profiili toisin sano. nobind poistaa tuon varauksen, joten pino varaa käyttämättömän portin yhteyden aikana. Se on poikkeus, ei oletus, ja ilman riviä asiakas pitää 1194:ää, minkä vuoksi kiinnittämätön toinen instanssi juuri törmää. Useimmat toimitetut asiakasprofiilit kantavat direktiivin juuri siksi, ja se, että esimerkkitiedosto tekee jotain, ei ole sama kuin että mekanismi tekisi sen oletuksena.
Se, mikä ei muutu, on kaukainen puoli. Palvelin kuuntelee edelleen siellä, missä profiili sanoo sen kuuntelevan, ja kokoonpanon kohdeportti on edelleen kohdeportti. Dynaaminen lähdeportti muuttaa oman pistokkeesi paluuosoitetta eikä mitään palvelimen pistokkeesta.
Se ei myöskään piilota mitään. Julkinen osoitteesi on se, miksi polku sen kääntää, paketti ylittää edelleen paikallisen verkon, ja kuka tahansa verkkoa ylläpitää näkee edelleen virtauksen. nobind ei ole yksityisyysominaisuus eikä palomuurin kierto.
Kolme ehtoa, jotka sen ratkaisevat
Yksi kysymys ratkaisee kaksi muuta, joten vastaa siihen ennen kuin muokkaat mitään. Jos vastapuoli soittaa ulos, loput kysymykset vain tarkentavat jo tehtyä päätöstä. Jos se ottaa vastaan saapuvia yhteyksiä, mikään paikallisen portin säätö ei tee siitä saavutettavaa.
Aloittaako tämä vastapuoli yhteyden? Jos se soittaa ulos, dynaaminen lähdeportti on vaaraton ja yleensä parempi, koska vastaus seuraa samaa virtaa takaisin. Jos se odottaa saapuvia yhteyksiä, dynaaminen portti tekee siitä saavuttamattoman, ellei jokin edessä julkaise porttia. Tuo yksi vastaus erottaa jokaisen asiakasprofiilin jokaisesta palvelinprofiilista.
Suodattaako polku lähdeportin perusteella? Yhdelle tunnetulle portille kirjoitettu tiukka sääntö vaatii nimenomaisen paikallisen portin, ja profiilin pitäisi kirjata, minkä säännön se täyttää. Useimmat verkot suodattavat vain kohteen perusteella, joten tämä ehto on harvinaisempi kuin ensimmäinen. Missä se pätee, se ohittaa dynaamisen portin suosituksen.
Jakaako useampi instanssi isännän? Yksi kiinteä portti ei voi palvella kahta niistä, ja uudelleenkäynnistetty instanssi voi löytää 1194:n vielä sulkeutumistilassa. Dynaamiset portit poistavat tämän ristiriidan muuttamatta mitään muuta. Jos et osaa vastata tähän varmasti, oleta kyllä ja anna ytimen valita.
Missä kiinnitetty portti on oikea vastaus
Jotkin verkot suodattavat sekä lähdeportin että kohteen perusteella, joten operaattori on ehkä kirjoittanut säännön, joka päästää läpi vain yhdestä tunnetusta portista tulevan liikenteen. Paikallisen portin kiinnittäminen on silloin oikein, ja profiilin pitäisi kantaa kommentti, joka nimeää täytetyn säännön. Kiinnittäminen palvelinportin symmetrian vuoksi ei ole syy, koska kahdella luvulla ei ole mitään tekemistä toistensa kanssa. Jos kiinnitys on olemassa vain siksi, että mallissa oli sellainen, poista se.
Muuten kiinnitetty portti ostaa ongelmia: kaksi asiakasta yhdellä koneella eivät voi molemmat pitää 1194:ää, ja toinen epäonnistuu virheellä, joka osoittaa porttiin eikä profiiliin. Nopeasti uudelleenkäynnistyvä kontti osuu samaan seinään. Korjaus on direktiivi, jonka toimitetut profiilit jo sisälsivät.
Palvelin ja asiakas eivät ole symmetrisiä
OpenVPN 2.6 -käsikirja sijoittaa nobind viereen lport, mikä on argumentti yhdellä rivillä: toinen vaihtoehto sanoo, että ydin valitsee, toinen sanoo, että sinä valitset. Dynaaminen paikallinen portti toimii vain vastapuolelle, joka soittaa, koska vastaava puoli ei voi tietää porttia etukäteen. Siksi asiakasprofiilin kopioiminen palvelimelle tuottaa kuuntelijan, johon kukaan ei pääse.
Isännällä, jolla on useita verkkoliittymiä, osoite on portista erillinen päätös. Tietyn paikallisen osoitteen sitominen ja tietyn portin sitominen ovat kaksi eri asetusta, ja kahden ylälinkin palvelin kiinnittää yleensä molemmat. Asiakas, joka kiinnittää molemmat, on ottanut saman jäykkyyden ilman mitään hyötyä.
Yhteenveto koskee rooleja, ei turvallisuutta: kuka soittaa, voi olla joustava oman lähteensä suhteen, ja kuka vastaa, ei voi. Kumpikaan valinta ei muuta sitä, mitä toinen pää oppii henkilöllisyydestäsi. Siksi direktiivi esiintyy asiakasesimerkeissä ja lähes koskaan palvelinesimerkeissä.
Varmista portti, jonka ydin valitsi
Lue yhteyden jälkeen pistoketta äläkä kokoonpanoa, koska kokoonpano ilmaisee aikomuksen ja pistoke sen, mitä tapahtui. Tallentamisen arvoiset tosiasiat ovat paikallinen portti, etäpäätepiste ja se, kuunteleeko jokin vielä. Linux-isännällä kaikki kolme ovat yhden komennon päässä.
ss -unp | grep openvpn
ss -lunp | grep openvpn
sudo lsof -nP -i | grep openvpn
Asiakas, jolla on nobind näyttää korkean paikallisen portin ja määritetyn etäportin, mikä on odotettu muoto. Palvelin näyttää kuuntelevan pistokkeen määritetyllä portillaan, ja jos se pistoke puuttuu, profiili ei joko ole kuuntelija tai sidonta epäonnistui. Kun virtaus on olemassa mutta paketteja ei tule takaisin, vertaa valittua lähdeporttia mihin tahansa polun porttisuodattimeen ennen profiilin muokkaamista. Muuta yhtä asiaa, yhdistä uudelleen ja lue pistoke uudelleen.