VPN bezeroak konektatzen dira baina ez dute internetik: falta diren hiru piezak
Ping-ei erantzuten dien tunel batek aurrera eramatea, itzulpena eta aurrera eramateko arau bat behar ditu oraindik. Jakin ezazu hiruetatik zein falta den bezeroa berriro editatu aurretik.
Bezeroak helbidea lortzen du, zerbitzariak ping-ei erantzuten die, eta orrialde bakoitzak denbora gainditzen du oraindik. Jende gehiena puntu honetan hasten da bezeroaren profila editatzen, eta hori alferrikako ahalegina izan ohi da: tunela altxatuta dagoenean, zerbitzariak bideratzaile gisa jokatu behar du. Hiru baldintza aldi berean bete behar dira pakete bat irten eta erantzun bat itzuli aurretik, eta sintoma bera da falta dena edozein dela ere.
Zergatik ez du oraindik irteera biderik lan egiten duen tunel batek
Nukleoak paketeak interfazeen artean aurrera eraman behar ditu, eta hori desaktibatuta dago lehenespenez Linux banaketa gehienetan. Trafikoa kanpoko munduak erantzun dezakeen helbide batera itzuli behar da, goiko bideratzaile bakoitzak tunelaren azpisarerako itzulera-bidea ezagutzen ez badu behintzat. Suhormaren aurrera eramateko bideak trafikoa bi noranzkoetan baimendu behar du, erantzunak barne.
Horietako bakoitza modu independentean konpon daiteke, eta hori da tranpa. Aurrera eramatea itzulpen-arau bat gabe pizten bada, paketeak jatorri pribatu batekin irteten dira eta itzulera-biderik gabe. Itzulpena aurrera eramateko arau bat gabe gehitzen bada, nukleoak paketea urrats bat beranduago botatzen du.
Beraz, probatu hiru geruzak bezeroa beharrean, eta aldatu bat bakarka emaitzak zerbait esan dezan.
Aurrera eramatea iraunkor egin behar duzun nukleo-etengailua da
Egiaztatu uneko balioa aldatu aurretik, gero ezarri eta baieztatu aldaketak eragin duela.
sysctl net.ipv4.ip_forward
sysctl -w net.ipv4.ip_forward=1
sysctl net.ipv4.ip_forwardLehen komandoak uneko balioa ematen du, bigarrenak exekuzio-denboran ezartzen du, eta hirugarrenak idazketak funtzionatu duela frogatzen du. Exekuzio-denborako balioa hurrengo berrabiaraztean desagertzen da, eta horregatik mantentze-lanen ondoren lan egiten zuen saio bat hautsi daiteke konfigurazio-aldaketarik gabe.
Egin ezazu iraunkor /etc/sysctl.d/ azpiko fitxategi batean, eta gero aplikatu fitxategi hori berrabiarazi beharrean jakiteko. FreeBSD-n baliokidea net.inet.ip.forwarding da, eta iraunkortasunerako gateway_enable=YES rc.conf fitxategian. Aurrera eramatea desgaituta dagoela jakinarazten duen gailu batek «paketeak iristen dira eta ezer ez da itzultzen» txostenen klase osoa azaltzen du. Egiaztatu ezarpena bertsio-berritze bakoitzaren ondoren ere, nukleo berreraiki batek edo gailu-irudi ordeztu batek inori esan gabe berrezarri baitu.
Aukeratu masquerade edo itzulpen-helbide finko bat
Kanpoko helbide dinamikoa baduzu, masquerading da forma zuzenik errazena. Izendatu tunelaren azpisarea iturri gisa eta kanpoko interfazea irteera gisa.
iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADEHelbide publiko estatikoa baduzu, iturriaren itzulpena helbide zehatz horretara aurreikusteko errazagoa eta auditatzeko errazagoa da.
iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -j SNAT --to-source 198.51.100.10Bigarren formak mantentze-tranpa bat dakar: geroago aldatzen den helbide gogorrean kodetuak tunela martxan mantentzen du, internet-sarbidea isilean gelditzen den bitartean. Erabili masquerade edo eguneratu araua hornitzaileak mugitzen zaituenean. Interfazeak ere axola du, zeren bere goiko tunela partekatzen duen bideratzaile batek tunel horren bidez itzuli behar du, eta ez WAN fisikoaren bidez.
Iragazki-taula hirugarren atea da
Aurrera eramatea eta itzulpena zuzenak izan daitezke, eta paketea oraindik iragazki-taulan hiltzen da. ufw errudun ohikoa da: haren aurrera eramateko politika DROP gisa dator, eta gainerako konfigurazioa erabat zuzena izan daiteke ezarpen bakar horrek trafikoa hiltzen duen bitartean. Hori igotzea segurtasun-erabaki kontzientea da, eta ez kontrol-lauki bat.
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTLehen arauak tuneletik kanporako trafiko berria baimentzen du, eta bigarrenak erantzunak soilik itzultzea. Murriztu biak tunelaren azpisarera eta nahi duzun helmugara, tuneleko interfazean onarpen orokorrak VPN-a irteera-puntu irekia bihurtzen baitu autentifikatu dezakeen edonorentzat.
Tunel zubidunak beste erantzun bat behar du. Helbidea zubiarena da, ez ataka fisikoarena, beraz interfazea menperatzeak lehen zuen helbidea kentzen du eta ostalaria eskuraezin dirudi zubiak berak bat lortu arte, eta hori dhclient br0-k eman dezake. Hutsegite hori VPN arazo ematen du eta bigarren geruzako arazoa da. Egiaztatu zubiaren beraren helbidea suhormari ukitu aurretik, iragazki-aldaketa batek ezin baitu konpondu bidaltzeko helbiderik ez duen ostalari bat.
Non begiratu orrialdea inoiz kargatzen ez denean
Ping egin zerbitzariaren tunel-helbideari tunela badagoela frogatzeko. Gero exekutatu traceroute bezerotik helbide publiko batera eta irakurri non gelditzen den: zerbitzarian paketea iristen da baina ez da aurrera eramaten ez itzultzen; zerbitzariaren haratago problema goragokoa da eta zure eskuetatik kanpo.
ping -c 3 10.9.0.1
traceroute -n 198.51.100.10Lehen komandoak tunelak trafikoa zerbitzariarengana eramaten duela frogatzen du, eta bigarrenak pakete bat kanporantz zenbateraino iristen den erakusten du. Tunel-helbidean amaitzen den arrasto batek zerbitzariko aurrera eramatea edo itzulpena seinalatzen du, eta jauzi bat beranduago gelditzen den arrasto batek hornitzailea edo goiko bideratzailearen itzulera-bidea.
Zerbitzarian, behatu kanpoko interfazea bezero bat orrialde bat kargatzen ari den bitartean. Jatorri pribatuko helbidearekin irteten den trafikoak itzulpena falta dela esan nahi du, eta erantzunik ezak aurrera eramateko bideak edo goiko itzulera-bideak botatzen duela.
Urruneko bezeroek zerbitzariaren LANeko ostalariek ere iritsi behar badute, gogoratu LANak tunelaren azpisarerako itzulera-bidea behar duela. Hau bideratzea da, ez itzulpena, eta interneteko bidea azkenean funtzionatzen duenean ahaztu ohi den urratsa da.