VM trafikoa host-only sarean bideratzea TUN OpenVPN zerbitzari baten bidez
Eduki tunela eta host-only aurrizkia bereizita, bultzatu gonbidatuaren ibilbidea, eta eman gero makina birtual bakoitzari itzulera-bide deliberatua ostalariaren bidez.
Host-only egokigailuek sare birtual lokal bat sortzen dute, eta bideratutako TUN tunelek IP paketeak eramaten dituzte helbideen artean. Bat ere ez da bestearen zubia, eta horregatik funtzionatzen duen konfigurazioak esan behar du nork birbidaltzen duen eta norenak diren itzulera-ibilbidea. Bi esleipen horiek nahasten badituzu, gonbidatuak tunelei erantzuten die tuneleko bezeroak inoiz eskatu ez zuen iturburu batekin. Beheko diseinuak bi aurrizkiak bereizita mantentzen ditu eta itzulera-bidea esplizitu egiten du.
Bi sare, bi aurrizki
Eman tunelaren multzoari eta host-only sareari aurrizki desberdinak eta ez erabili inoiz bat bestea ordezkatzeko. Adibide honetan VPN multzoa 10.44.0.0/24 da eta host-only sarea 192.168.99.0/24, ostalaria 192.168.99.1-n eta gonbidatu bat 192.168.99.20-n. Aurrizki bera TUN gailu bati eta host-only egokigailuari esleitzeak ez ditu batzen. Helbide-barruti bakarrerako bi erreklamazio sortzen ditu, eta bideratze-taulak gorde zuen erreklamazioaren alde erantzuten du.
Host-only egokigailua ostalarian eta gonbidatuaren barruan dago, eta bere kabuz ez du makina utziko biderik. Zubi eta NAT konexioek esposizio desberdina dute, eta zubi modura pasatzea ez da gonbidatuaren zerbitzu bakarrera iristeko baldintza.
Ostalariak bidea dauka jada
Begiratu zer dagoen ezer gehitu aurretik. Ostalariak host-only sarean interfaze bat eta aurrizki horretarako ibilbide bat ditu, biak egokigailua altxatzean sortuak.
ip -br addr show
ip route show 192.168.99.0/24
sysctl net.ipv4.ip_forward
Hirugarren lerroa ostalaria jauzi bihurtzen duen mekanismoa da. Hori gabe, tunelatik datorren paketea ostalariak irits daitekeen baina birbidaliko ez duen sare batera zuzentzen da. Birbidaltzea beharrezkoa da eta ez da nahikoa. Iragazki-politikak oraindik erabakitzen du tunelaren interfazearen eta host-only interfazearen arteko fluxu jakin bat baimenduta dagoen, eta erabaki hori idatzizkoa izan behar da, inork irakurri ez zuen politika lehenetsian egon beharrean.
Bultzatu ibilbidea, gero iragazi zer iristen den
Zerbitzariak host-only aurrizkia eman diezaieke bultzatutako ibilbideak onartzen dituzten bezeroei, tunelaren atzeko beste edozein azpisaretan erabiltzen den mekanismo bera.
push "route 192.168.99.0 255.255.255.0"
iptables -A FORWARD -i tun0 -o vboxnet0 -d 192.168.99.20 -p tcp --dport 5432 -j ACCEPT
iptables -A FORWARD -i vboxnet0 -o tun0 -s 192.168.99.20 -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT
Bi arau horiek norabide bakarrean zerbitzu bat eta haren erantzunak baimentzen dituzte. Aurrizki osoa iristen den ibilbidea eta ataka bakarra baimentzen duen iragazkia konbinazio deliberatua da; ibilbidea gehi baldintzarik gabeko onarpena laborategiko zerbitzu bat zerbitzu ageriko bihurtzeko modua da. Bultzatutako ibilbidea ez da baimena ere. Bezeroak onartzen du, ostalariak birbidaltzen du, eta gonbidatuaren suebakiak eta zerbitzuak berak oraindik hitza dute.
Gonbidatuak itzultzeko bidea behar du
10.44.0.x-tik iristen zaion gonbidatuak bere erantzunak ostalariaren host-only helbidera bidali behar ditu, edo ostalariak iturburua itzuli behar du. VirtualBox DHCPtik helbide bat jasotzeak ez du bi antolaketen berri ematen.
ip route add 10.44.0.0/24 via 192.168.99.1 dev enp0s8
ip route get 10.44.0.15
Ibilbide hori gonbidatuaren barruan gehitzeak jatorrizko iturburua gordetzen du, eta horrek bezero bakoitzeko politika eta erregistroak esanguratsu mantentzen ditu. Ostalarian iturburu-itzulpen mugatua da alternatiba, eta funtzionatzen du, zein bezero konektatu zen ezkutatzearen truke. Gainjartzea da beste hutsegite-modua. Etxeko LANak 192.168.99.0/24 erabiltzen duen urruneko bezero batek bultzatutako ibilbidea bere sare gisa irakurriko du, eta zerbitzariaren aldeko inolako aldaketak ez du anbiguotasun hori konpontzen. Zenbaki itzazu alde bat edo aukeratu talka egiteko probabilitate txikia duen aurrizki bat.
TUN gailu batek IP paketeak eramaten ditu, beraz gonbidatu baten barruan atebide lehenetsi bat gehitzeak ez du tunela host-only egokigailuarekin Ethernet segmentu bihurtzen. TAP zubia beste diseinu bat da, bere bezero-euskarri eta helbide-jabetza propioekin, eta bi deskribapenak nahasteak inoiz bat egiten ez duten konfigurazioetara eramaten du.
Egiaztatu, eta gero egin ezazu berrabiarazte bat gainditzen duen
Probatu zerbitzu kaltegabe bat urruneko bezero arrunt batetik, egiaztatu gonbidatuaren itzulera-ibilbidea eta baieztatu baimendu ez zenuen zerbitzu bat ukatua dela, motela izan beharrean.
ss -lntp '( sport = :5432 )'
conntrack -L | grep 192.168.99.20
Gero berrabiarazi VPN zerbitzua eta makina birtualaren sareko konexioak, eta errepikatu hiru egiaztapen berberak. Eskuz gehitutako ibilbide batek hurrengo berrabiaraztera arte irauten du, eta saio beroan bakarrik funtzionatzen duen konfigurazioa ez da diseinu bat. Idatzi bi aurrizkiak, birbidaltze-politika eta gonbidatuaren ibilbidea elkarrekin. Hurrengo makina birtuala gehitzen duenak hirurak beharko ditu eta, bestela, huts egindako konexio bakoitzean berriro aurkituko ditu.