Utzi OpenVPN bezero bati SSH bidez bestera iristen igerilekua ireki gabe
Utzi client-to-client itzalita, utzi nukleoari fluxu bat birbidaltzen, eta utzi igerilekuaren gainerakoa itxita. Bi arau zerbitzarian eta bat helburuan.
Bezero batek beste baten SSH zerbitzura iritsi behar du, eta igerilekuaren gainerakoak gaur bezain isolatuta jarraitu behar du. Etengailu tentagarria client-to-client da, pareen arteko sarbidea denentzat batera pizten duena eta erabakia nukleoa ordez OpenVPN-ri ematen diona. Erantzun estuago batek etengailu hori itzalita mantentzen du eta zerbitzariaren beraren bideratzeak eta suebakiak fluxu bakarra eramaten uzten du.
Mekanismoak arauaren testuak baino gehiago balio du, bi ikuspegiek paketea leku desberdinetan jartzen dutelako. Zein aukeratu zenuen jakiteak azaltzen du ezer egiten ez duela dirudien araua eta hura gabe konektatzen den parekoa.
Non eramaten duen client-to-client-ek paketea
client-to-client gaituta dagoela, zerbitzariak pareko paketea barrutik birbidaltzen du tunel gailutik berriro bidali beharrean, beraz paketea ez da inoiz nukleoaren birbidaltze-bidera iristen. Hori erosoa da eta zure suebakiak zaindu beharko lukeen fluxua inoiz ikusten ez duela ere esan nahi du. Utzi aukera itzalita eta zerbitzariak paketea interfaze beretik kanpora bideratzen du, netfilterren aurrean jarriz. Interfaze bera sartu, interfaze bera atera, eta FORWARD kateak du botoa.
Trukaketa argia da: politika-puntu bat irabazten duzu eta lasterbideak zuretzat egiten zuen bideratze eta birbidaltze lana hartzen duzu. Lan hori txikia da fluxu bakar baterako eta hazten da gehitzen duzun salbuespen bakoitzarekin. Zenbatu salbuespenak orain, arau-multzoa baita pareen arteko politika benetan bizi den lekua.
Pareko pakete batek benetan egiten duen bidea
Demagun Linux Community OpenVPN 2.6 zerbitzu bat, erabiltzaile-espazioko TUN prozesatzea DCOren ordez, subnet topologia, tun0 eta 10.44.0.0/24-ko igerilekua A bezeroa 10.44.0.21-n eta B bezeroa 10.44.0.37-n dituela. Subnet topologiarekin A-k jasotako helbideak eta maskarak igerilekua estaltzen dute jada, beraz A-k tunel gailura bidaltzen du paketea bultzatutako bide gehigarririk gabe. Egiaztatu A-ren benetako bidea, bat suposatu beharrean.
Zerbitzarian paketea B-ra zuzenduta iristen da, eta hori ez da helbide lokala, beraz birbidali egiten da. IPv4 birbidaltzea gaituta egon behar du hori gerta dadin, eta bide-kontsultak paketea tun0-tik kanpora bidali behar du. Beraz suebakiak bi aldeetan interfaze bera duen birbidalitako fluxua ikusten du, eta hori da arau-multzo gehienek ahazten duten xehetasuna. Hemen ez da iturri-itzulpenik behar, eta A-ren helbidea osorik mantentzeak ahalbidetzen dio B-ri bere iturri-araua aplikatzen.
Bi arau zerbitzarian, ordena honetan
Hiru arauk daramate baimen osoa: birbidaltzea, bikotearen salbuespena eta tunel-bikotearen uko lehenetsia. Onarpen-arauak bikotea eta zerbitzua izendatzen ditu, beraz baimenak igerileku hazkorra gainditzen du. Jarri ezazu tunel-tunel trafikoaren ukapen orokorraren aurretik, lehen bat-etortzeak irabazten baitu:
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i tun0 -o tun0 -s 10.44.0.21 -d 10.44.0.37 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -i tun0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i tun0 -o tun0 -j DROPKomando horiek adierazgarriak dira eta zure ostalariak arauak gordetzeko erabiltzen duen mekanismoan dagokie; exekuzio-denborako txertaketak hurrengo abioan desagertzen da. Egoeradun araua da B-ren erantzunei eta TCP esku-emateari bigarren onarpen islaturik gabe itzultzen uzten diena.
Egiaztatu kontagailuak ondoren, ez arauen zerrenda, inoiz bat egiten ez duen araua berdin ikusten baita funtzionatzen duen bat bezala. Kontagailuak zerotan geratzen badira, paketea ez da uste duzun bidea egiten ari.
B-k oraindik baimendu behar duena
B-k SSH zerbitzua exekutatzen du, beraz B-k erabakitzen du ea ezer entzuten ari den tunel helbidean eta ea bere ostalari-suebakiak iturria onartzen duen. Zerbitzariko sare-baimena ez da B-ko kontu baterako baimena, eta ostalari-gakoaren egiaztapenak eta erabiltzaile-autentifikazioak beste edozein lekutatik bezala jarraitzen dute indarrean.
Probatu lehenik kasu positiboa: A-tik B-ren tunel helbidera SSH konexio berria, espero den ostalari-gakoarekin onartua. Ondoren probatu beste pare bat edo beste portu bat eta egiaztatu ukatzen dela, isilpean dena baimentzen duen baimena ez baita funtzionatzen duenetik bereizten garrantzia duen arte. Proba horren bi erdiak beharrezkoak dira, eta bigarrena da jendeak saltatzen duena.
Idatzi esleitutako helbideak, bi bezeroren benetako bideak eta zerbitzarian eta B-n dauden arau zehatzak. Pasabiderako ping arrakastatsu batek edo zerbitzariko portu ireki batek ez du horietako ezer frogatzen, biak egiazkoak izan baitaitezke pareen arteko birbidaltzea oraindik blokeatuta dagoela. Idatzi zenbaki horiek tunela altxatuta dagoela, bezeroak berriz konektatu ondoren jasotzen duen helbidea bestelakoa izan baitaiteke.