Router VPN bidezko gailu batek hiru arau behar ditu, ez etengailu bat
Router VPN bidezko gailu bat politika-bideratzea da, ez kontrol-laukia: markatutako taula bat, NAT arau mugatua, eta gidak saltatzen dituen DNS, IPv6 eta LAN bideak.
Router VPN batean ez dago gailu bakoitzeko etengailurik; bilatzen ari zaren etengailua zure izenean politika-bideratze arauak idazten dituen lasterbide bat da. Une batean ordenagailu eramangarri batek, portu-barruti batek, helbide-zerrenda batek edo LAN segmentu batek tunela erabili behar duenean, gainerako guztia WANean geratzen den bitartean, politika-bide bat eraikitzen ari zara, ez funtzio bat gaitzen. Lanak hiru pieza mugikor ditu, eta bakoitzak modu desberdinean huts egiten du: biderik gabeko taula markatuak isiltasunaren itxura du, kate okerrean jarritako markak ez dela ezer gertatu dirudi, eta falta den NAT arauak konektatzen den baina ezer eramaten ez duen tunel baten itxura du. Bi pieza gehiago falta dira inoiz mangle arauan agertzen ez direlako, eta horiek DNS eta IPv6 dira.
Mitoa: tunela bezeroaren ezarpena da
Router aldeko VPN bezero batek gauza zakar bat ondo egiten du: 0.0.0.0/0 bideratze-taula nagusian jartzen du eta tunelera zuzentzen du. WireGuardek AllowedIPs-etik eratortzen du hori, OpenVPN-ek bultzatutako redirect-gateway batetik, eta biek routerraren atzeko ostalari bakoitzaren bidea aldatzen dute. AllowedIPs estutzeak edo route-nopull gehitzeak bezeroak instalatzen duena aldatzen du. Ez du aldatzen instalazioa nori dagokion, bezeroak ez baititu inoiz gailuak ikusten. Paketeak baino ez ditu ikusten.
Iturri edo helmugaren araberako hautaketa bideratze-erabakia da, beraz routerraren politika-geruzari dagokio: mangle arau bat eta bigarren taula bat RouterOSen, MARK bat eta ip rule bat OpenWrt edo DD-WRTn, edo tunela ate duen suebaki arau bat pfSensen. Netgate-ren WireGuard bezeroaren errezeta da asmatu aurretik irakurri beharrekoa, plataforma horretan arauaren atea, interfazearen esleipena eta irteerako NAT sarrera bat etorri behar baitira bezero bakar batek tunela erabili aurretik.
Mitoaren bigarren erdia bigarren routerra da. Beste kaxa bat erosteak edo gailua gonbidatu SSID batera eramateak sarritan funtzionatzen du, eta arrazoia ez da hardwarea: gailua bere azpisare propiora jartzen du, eta horrek firmwareak jada ulertzen duen iturri-hautatzailea ematen dizu. Segmentu hori duzun routerrean defini badezakezu, kaxa gehigarriak ez zenuen arazo bat konpontzen du.
Lehen pieza: lehenetsitako bidea ez den tunel bat
RouterOSen, gehitu bezeroa lehenetsitako biderik gabe eta eman tunelari bere taula propioa. Lehen bidea markatutako lehenetsia da; bigarrena hutsegitearen erdia.
/ip route add dst-address=0.0.0.0/0 gateway=VPN_GATEWAY_IP routing-mark=vpn distance=1
/ip route add dst-address=0.0.0.0/0 type=unreachable routing-mark=vpn distance=2
unreachable bidea da markatutako taula batek taula nagusiko salbuespen-zerrenda gainditzen duen arrazoia. Tunela erortzen denean, markatutako paketeek berehala jasotzen dute unreachable, isilka WANera itzuli beharrean, beraz hutsegitea aplikazioaren errore-mezuan agertzen da, ordubete geroago begiratzen duzun geokokapen orrian beharrean.
RouterOS 7k 6.xk elkarrekin zedukana bereizten du: taula /routing table add name=vpn fib bidez deklaratzen duzu, eta gero izenez erreferentzia egiten diozu bidean eta mangle arauan. Taula definitu gabe routing-mark lerroan jartzen duen 6.x-eko zatia garbi kargatzen da eta ez dator ezerkin bat. Beste klasiko bat bi 0.0.0.0/1 erdiak dira, edo distantzia bereko bi lehenetsitako bide taula bakarrean: kernela bat aukeratzen du, eta portaera aldatu egin daiteke berrabiarazi ondoren.
Bigarren pieza: markatu bide-kontsultaren aurretik
Hautatzaileak erabakitzen du zein pakete sartzen den taula horretan. RouterOSek normalean helburuko politika egiteko helbide-zerrenda batekin hasten da, edo gailuaren politikarako iturri-helbide batekin:
/ip firewall mangle add chain=prerouting src-address=192.168.88.50 action=mark-routing new-routing-mark=vpn
/ip firewall mangle add chain=prerouting dst-address-list=via-vpn action=mark-routing new-routing-mark=vpn
/ip firewall address-list add list=via-vpn address=203.0.113.10
Linux firmwareak gauza bera egiten du netfilter marka batekin eta markatutako paketeak zuk betetako taula batera zuzentzen dituen arau batekin:
iptables -t mangle -A PREROUTING -p tcp --dport 27000:27050 -j MARK --set-mark 0x200
ip route add default dev tun0 table 100
ip rule add fwmark 0x200 table 100
Katea ez da estilo-kontua. Pakete bat FORWARDera iristen denerako bide-kontsulta gertatu da, beraz MARK edo DROP batek han berridatzi edo baztertu baino ezin du. Markak PREROUTINGen kokatu behar du birbidalitako trafikorako eta OUTPUTen routerrak berak sortzen duen trafikorako, routerraren DNS, NTP eta eguneratze-egiaztapenak han bizi baitira. Irteera-bide hori da isurketa-proba batean guztiz tunelatutako konfigurazioak oraindik ISPren ebazpenetik erantzuten duen ohiko arrazoia.
Gailuaren politikak ez duen desbideratzen duen bat-etortze bat behar du. Erreserbatu helbidea DHCPn, edo lotu interfaze bat segmentu dedikatu baterako; geroago beste gailu batera mugitzen den helbide batek isilka aplikatzen dio tunela bezero okerri. SSID bakoitzeko zubi bat bere azpisarearekin ideia beraren bertsio iraunkorragoa da, eta IPv6 arauei bizitzeko leku bat ematen die.
Hirugarren pieza: NAT, DNS eta LAN salbuespena
Tunelatik irteten den trafikoak urrutiko aldeak erantzungo duen iturri-helbide bat behar du. Mugatu itzulpena tunelaren interfazera: out-interface=VPN_NAME RouterOSen, -o tun0 Linuxen, pfSensen irteerako NAT sarrera egokia. Muga hori ez duen masquerade arau batek bakean utzi nahi zenuen trafikoa berridazten du, eta sintoma tunelatu gabeko gailuak bere helbide publikoa galtzea da.
LAN salbuespenak tunelak berak baino laguntza-hari gehiago eragiten ditu. Markatutako taulak lehenetsitako bide bat baino ez badu, hautatutako gailuko inprimagailu edo NAS helmuga bat lehenetsi horrekin bat dator eta tunelean desagertzen da. Gehitu LAN bidea taula berera, edo baztertu tokiko azpisarea hautatzailean; biek funtzionatzen dute, eta salbuespena errazago mantentzen da zuzen geroago VLANak gehitzen dituzunean.
DNSek bide bereizia hartzen du. Routerrak birbidaltzen dituen kontsultak routerretik sortzen dira eta OUTPUTi jarraitzen diote, ez birbidaltze-markari, beraz guztiz tunelatutako ordenagailu eramangarri batek oraindik ISPren bidez ebatzi dezake. Zuzendu bezeroak tuneletik irisgarri den ebazpen batera, edo markatu routerraren beraren 53 portuko trafikoa, eta gero egiaztatu ebatzi den helbidea, erantzunak web eskaerarekin batera bidaiatu duela suposatu beharrean.
Araua bat datorrenean baina aplikazioak oraindik WAN erabiltzen duenean
Helmuga-zerrendak gaizki zahartzen dira. Izen bat zerrendan ez dagoen helbide batera ebazten da, beraz eskaerak WAN hartzen du, zerrendatutako helbidearen aurka egin zenuen proba guztiek funtzionatu zuten bitartean. Freskatu zerrenda bezeroak erabiltzen duen ebazpen beretik, eta hobetsi iturri oinarriko hautatzailea gailu bakarreko trafiko guztia benetan nahi duzunean.
IPv6 da saihesteko bide isila. Gailuak bigarren helbide-familia bat du bere lehenetsitako bidearekin eta bere arau-multzoarekin, eta IPv4 helbidea soilik bat etortzea politika erdia da. Aplikatu hautatzaile bera ip6tablesi edo nftablesen baliokideari, edo desgaitu IPv6 segmentu horretan nahita, ez ustekabean.
Ezarritako konexioek ere badute garrantzia. Aldaketaren aurretik sortutako conntrack sarrera batek bide zaharrari jarraitzen dio iraungi arte, beraz edizioan zehar irekita egon den nabigatzaile bat inoiz aplikatu ez zen arau baten itxura du. Ireki konexio berri bat, edo hustu egoera, politika epaitu aurretik.
Egiaztatu bi gailu eta berrabiarazte batekin
Probatu tunelera joan behar duen gailua eta ez duena, eta alderatu bigarren jauzia abiadura-zenbaki baten ordez. Bakoitzeko traceroute batek bigarren jauzian tunelaren atea edo ISPren atea erakusten du; biak berdinak badirudi, markak edo taulak ez du arauak dioena egiten. Erabili konexio berriak probarako.
Ondoren berrabiarazi. Abio-ordena da funtzionatzen duen politika bat hautsi egiten den lekua, bezeroa unreachable bidea instalatu aurretik egon behar baitu, eta arau-multzo zaharra leheneratzen duen gordetako snapshot batek zure taula gainidatziko baitu. Egiaztatu arau bakoitza gordetako konfigurazioan dagoela eta markatutako lehenetsia abioaren ondoren existitzen dela, ez soilik idatzi ondoren.
Zerbait huts egiten badu, kendu lehenengo marka eta ikusi trafiko normala itzultzen den, gero kendu taula. Ordena horrek esaten dizu bideratze-arazo baten edo suebaki-arazo baten atzetik zoazen, eta etxea inprimagailu funtzional batekin uzten du lana amaitzen duzun bitartean.