OpenVPN iroute eta kernelaren bidea: zein falta da?
Zerbitzariak bide bat du eta trafikoa gelditzen da oraindik. Bidearen erabaki bat kernelarena da eta bestea parearena; jakin ezazu zein falta den eta zer egiaztatu.
10.77.20.0/24-rako pakete batek bi erabaki bereizi behar ditu OpenVPN zerbitzari batean: sistema eragileak VPN interfazera bidali behar du, eta OpenVPN tresnak jakin behar du prefijo horren jabe zein bezero konektatu den. Kernelaren bidea falta bada, paketea tunelaren aurretik galduko da; parearen bidea falta bada, berriz, tunelaren ondoren. Bi hutsegiteak berdinak dirudite urruneko LAN-etik, eta zein duzun diagnostikatzeak alde bakoitzean komando bat eskatzen du.
Erabiltzaile-espazioko datu-bide klasikoan, kernelaren bideak paketea tunel-prozesura eramaten du eta iroute prozesu horri esaten dio zein parek jaso behar duen. Batek ez du bestea ordezkatzen, eta horietako bat soilik duen konfigurazioak zentzuzkoa emango du lehenengo ping arte.
Bi erabaki, bide bat ez
Imajina ezazu gune arteko esteka bat non 10.77.20.0/24 bezero bakar baten atzean dagoen. Zerbitzariaren kernelaren bideak, adibidez ip route add 10.77.20.0/24 dev tun0, bat datozen paketeak tunel-gailura bidaltzen ditu. Gero OpenVPN-ek bere barne-taula kontsultatzen du, bezeroaren konfigurazio-direktorioko iroute sarrerekin eraikia, zein pare-konexiok jasoko dituen erabakitzeko. Kernelaren biderik gabe paketea ez da inoiz prozesura iristen, eta parearen biderik gabe prozesura iristen da eta inora ez doa.
Zatiketa hori erraz ahazten da, bezero-profil bateko bide-lerro bakarrak bi lanak egiten dituela dirudi eta. Ez ditu egiten: tunelatik zer bidali esaten die bezeroei, eta zerbitzariari, berriz, iroute delakoak adierazten dio bezero baten atzeko helbide-tartea noren jabea den. Fitxategi desberdinetan bizi dira, alde desberdinek irakurtzen dituzte eta kontrako noranzkoetan huts egiten dute.
Non dagokio iroute eta zer esaten du
Sarrera bezero bakarrerako fitxategi batean jartzen da, bezeroaren common_name izenarekin, client-config-dir barruan, iroute 10.77.20.0/24 gisa. Fitxategi-izenaren bat-etortzea ez da kosmetikoa: OpenVPN-ek autentifikatutako identitatea bilatzen du eta fitxategia izen horrekin zehazki irakurtzen du, beraz site-a izeneko fitxategia site-a izen arrunta duen bezeroarentzat bakarrik da eraginkorra. Gehitu ccd-exclusive halako fitxategirik ez duten bezeroak erabat ukatu behar badira, eta hori da ezarpen zuzena bezero bakoitza gune-atari bat denean. Eduki fitxategi bat atari bakoitzeko eta izendatu benetan jaulkitzen duzun ziurtagiri-subjektuaren arabera.
Probatu sarrera zerbitzaritik urruneko LAN-a erruduntzat jo aurretik. Egoera-fitxategiak konektatutako bezeroak zerrendatzen ditu haien izen arruntekin, eta --verb 4 aukerarekin exekutatzen den zerbitzariak iroute instalatzen dela erregistratzen du pareak konektatzen denean. Konexioan ezer agertzen ez bada, fitxategia direktorio okerrean dago edo identitate okerra izendatzen du.
Tranpa: fitxategia badago, identitatea okerra
Pare oker bati atxikitako iroute itxura oneko batek fitxategi faltak baino denbora gehiago galtzen du, diskoan dena zuzena dirudielako. Ziurtagirien izenez aldatzeak, izen arrunt bikoiztuek eta identitate eraginkorra aldatzen duen username-as-common-name delakoak eragiten dute hori guztia. Egiazta ezazu zerbitzariak zein identitate autentifikatu duen, zu zen espero zenuenaren ordez: egoera-irteerak du aginpidea, fitxategi-izenak bilaketa-gakoa besterik ez den bitartean.
Bide batek bere jabea baino gehiago iraun dezake. Bide estatikoek eta iroute sarrerek prefijo bat deskribatzen dute, ez erabilgarritasunaren bermea, beraz trafikoak momento honetan deskonektatuta dagoen pare baterantz bidaltzen jarrai dezake.
Osatu bidea pareaz harago
Parearen jabetza bidearen erdia da, ez amaiera. Bezeroak tunelak jasotako paketeak bere LAN-era birbidali behar ditu, eta horrek esan nahi du ostalari horretan IP birbidalketa gaituta dagoela eta zeharbidea onartzen duen suebaki-araua dagoela. Urruneko LAN-eko ostalariek itzulera-bide bat behar dute tunelaren helbiderako: bai atarira itzultzen den bide bat, bai bezeroaren aldean nahita diseinatutako NAT bat. Egiaztatu birbidalketa-ezarpena bezeroan sysctl net.ipv4.ip_forward erabiliz, banaketaren balio lehenetsia suposatu beharrean.
Beste VPN bezero batzuek azpisare hori iritsi behar badute, antolamenduak berriz ere hazten du: zerbitzariak client-to-client behar du, eta bezero horiek prefijoa tunelatik bideratu behar dute. Horietako bat ere ez da zerbitzariaren bide-taulatik ondorioztatzen.
Egiaztatu helmuga bat benetako iturri batetik, zerbitzari beretik beharrean. Lotura ez duen LAN ostalari batetik bezeroaren atzeko ostalari batera egindako ping-ak itzulera-bidea, birbidalketa-araua eta parearen jabetza mugimendu bakarrean probatzen ditu, eta handshake arrakastatsu batek identitatea baino ez du frogatzen. Ondoren deskonektatu jabe den pare hori eta idatzi bidearen portaera, erantzun hori baita zure hutsegite-modua.