Pi bat, bi OpenVPN instantzia: zer irakurtzen duen unitate bakoitzak
Pi bateko bi OpenVPN demoniok konfigurazio-fitxategi desberdinak irakurtzen dituzte eta kako desberdinetatik irteten dira. Mapatu instantzia bakoitza, eta gero probatu karga-ibilbidea bereizita.
Zenbatu OpenVPN prozesuak profil bat ukitu aurretik. Ibiltari diren erabiltzaileak onartzen dituen eta aldi berean goi-mailako zerbitzu batera deitzen duen Pi batek bi demonio exekutatzen ditu, eta bakoitzak idatzi duzun instantzia-izenak hautatutako konfigurazio-fitxategia irakurtzen du. Ondoren, ontziratutako txantiloiek demonio bakoitzari bere lan-direktorioa, bere exekuzio-egoerako fitxategia eta bere tunel-gailua ematen dizkiote. Banaketa hori gaizki egiten baduzu, gau oso bat emango duzu exekutatzen ari den prozesuak inoiz irekitzen ez duen fitxategi batean ezarpen zuzena aldatzen.
Instantzia-izen bakoitzak bere fitxategia hautatzen du
OpenVPN 2.6-rekin banatzen diren unitate-fitxategietan, abiarazte-argumentuek instantzia-leku-marka bat daramate, zeina @ zeinuaren ondorengo testuarekin betetzen den. Zerbitzari-txantiloia zerbitzariaren konfigurazio-direktorioatik exekutatzen da eta bere argumentua %i.conf -ren aurka ebazten du han, bezero-txantiloiak gauza bera egiten duen bitartean bezeroaren direktorioatik. Beraz, [email protected] -k irakurtzen du admits.conf zerbitzariaren direktorioan, eta [email protected] -k irakurtzen du uplink.conf bezeroaren direktorioan, eta izen horietako inork ez du esanahirik beste direktorioan.
Egiaztatu mapaketa makinan bertan, paketeak goi-mailako balio lehenetsiak mantendu dituela suposatu beharrean. Banaketaren gehigarri batek lan-direktorioa edo konfigurazio-argumentua zuzenean ordezka dezake.
systemctl cat [email protected]
systemctl cat [email protected]Irakurri WorkingDirectory lerroa eta konfigurazio-argumentua irteera horretan, zeren gaitutako unitatea baita zein fitxategi kargatzen den erabakitzen duen gauza bakarra. Gehitzen duen gehigarriak --config -ri ExecStart eransten dionean, txantiloia gainditzen du txantiloiaren bidea zuzena dirudien arren. Galdetu zatiaren eta gehigarriaren bideak tokiko gainidazketa bat jokoan dagoen jakin nahi duzunean. Bi rolek fitxategi bakarrera eramaten badute, zerbitzari eta bezero izan nahi duen prozesu bakarra duzu, eta fitxategi horretako azken aukera isilpean nagusitzen da.
Tokiko garraioa eta birbidalitako karga kako desberdinetara iristen dira
Zerbitzariak erabiltzaile ibiltari bakoitzarekin duen konexio zifratua Pi-ren bertan sortzen da, beraz haren kanpoko erantzunak irteera-kako lokaletik ateratzen dira. Bezeroak bere goi-mailako parearekin duen konexioa ere lokalki sortutako irteera da, urruneko sare batera iristen den arren. Birbidalitako karga hirugarren kategoria da, eta kernelak paketearentzat irteera-gailu bat dagoeneko aukeratu ondoren bakarrik egiten du bat.
| Flow | Hook that sees it | What to inspect |
|---|---|---|
| Roaming user handshakes to the server | Local input and local output | Listener socket, bind address, rule admitting the UDP port |
| User payload leaving through the upstream tunnel | Forward | IPv4 forwarding switch, selected route, permission rule, any translation |
| Pi's own connection to the upstream peer | Local output | Underlay route to the provider endpoint, not the tunnel route |
Birbidalketa-kate baten barruan irteera-interfaze batekin bat egiten duen arauak baimendu edo bazter dezake bideratzeak dagoeneko interfaze horri esleitu dion paketea, baina inoiz ez du interfazea aukeratzen. Ostalari batek tunel bat amaitzen eta beste bat hasten duenean, erabiltzailearen karga goi-mailako tunelera bidaltzen duen politika eta Pi-ren beraren erantzun zifratuak babesten dituen politika erabaki bereiziak dira. Kasualitatez txartel fisiko berbera ukitzen dute, eta horregatik nahasten dira.
Bereizketa horrek ohiko erdi-hutsegitea azaltzen du. Erabiltzaileak konektatzen dira, esku-ematea osatzen da, eta haien trafikoak bide okerretik irteten jarraitzen du, esku-ematea lokala zelako eta karga birbidalia zelako, eta bietako bat baino ez zelako inoiz probatu.
Inportatutako bide batek zure erabiltzaileei erantzunak irentsi ditzake
Bezero-profilaren segurtasun-ezarpenak erabakitzen du zer bultza dezakeen goi-mailako aldeak Pi-ren bideratze-taulara, eta birbideratze zabala da bi rol dituen ostalari funtzionagarria hondatutakoa bihurtzen duen aukera. Bultzatutako bideak erabiltzaile ibiltarien helbide publikoak estaltzen baditu, zerbitzariak haiei sortutako erantzunek bide berriari jarrai diezaiokete goi-mailako tunelera, azpiko geruzatik irten ordez. Jendeak sarritan egiaztatzen du hornitzailearekiko tunelak oraindik funtzionatzen duela eta han gelditzen da, trafiko hori tunelaren beraren garraioa delako eta isurtzen jarraitzen duelako gainerako guztiak gaizki portatzen diren bitartean.
Iturri edo marka oinarritutako politika da bi fluxuak bereizten diren modua. OpenVPN-ren Linux marka-aukera -k demonioaren beraren pakete zifratuak suebaki-marka batekin markatzen ditu, eta bideratze-arau batek taula dedikatu batera bidal ditzake gero. Iturri-helbideek berdin funtzionatzen dute zerbitzariaren kanpoko erantzunak azpiko helbide batetik irteten direnean beti. Bi ikuspebideek bide baliozkoak behar dituzte hautatzen duten taulan eta hornitzailearen amaierarako salbuespena, bestela tunelak berak gora egiteari uzten dio.
Galdetu kernelari erantzun batek benetan zein bide hartuko lukeen edozein arau idatzi aurretik. Beheko helbideak Pi-ren azpiko helbide baten eta erabiltzaile ibiltari baten helbide publikoaren leku-markak dira.
ip rule show
ip route get 198.51.100.7 from 192.0.2.10Egiaztatu bereizketa eta gero gelditu rol bat aldi berean
Probatu hiru fluxu bereizita, esku-emate funtzionagarri batek ez baitu ezer frogatzen beste biei buruz. Onartu sarrerako konexio berria, bidali baimendutako aplikazio bat goi-mailako irteeraren bidez, eta egiaztatu bi prozesuek beren pareak oraindik iristen dituztela.
Gero gelditu bezero-rola eta begiratu zer gordetzen duen zerbitzari-rolak. Instantzia baterako pentsatu eta biei aplikatu zitzaien bide- edo marka-arau bat aurkitzeko modurik merkeena da.
systemctl stop [email protected]
systemctl status [email protected] --no-pager
ss -lunp | grep openvpn
journalctl -u [email protected] -n 20 --no-pagerIkusi nahi duzuna da entzulea oraindik lotuta, tunel-gailua oraindik presente eta erregistroa errore berrietatik libre, bezero-rola behera dagoen bitartean. Bezeroa gelditzeak lehendik dauden erabiltzaileei zerbitzariaren erantzunak ere mozten badizkio, bi rolek batak bestearekin mugatu behar zen zerbait partekatzen dute. Idatzi zein instantzia, zein konfigurazio-fitxategi eta zein fluxu-jabe ukitu zuen aldaketa bakoitzak, ostalari hau araztuko duen hurrengo pertsonak, bestela, aurkikuntza bera hutsetik errepikatuko baitu.