Shaybaarka VPN ee VirtualBox: VM albaabka ama shabakad martigeliyaha kaliya
Ka dooro VM albaab la wado iyo qayb martigeliyaha kaliya shaybaarka VPN ee VirtualBox, ka dibna ka dhig martida mid si xiran u guul-darraysta marka tunnel-ku dhaco.
Waa inaad go'aansataa inta mishiin ee shaybaarkaaga VPN mudan yahay. VM albaab la wado oo u dhexeeya laba qaybood oo VirtualBox ah ayaa dib u soo saara tarjumaadda ciwaannada, wadada soo noqoshada iyo booska firewall-ka oo macmiil dhab ah uu gadaashiisa fadhiisto. Hal qayb oo martigeliyaha kaliya ah ayaa ku siinaya hal albaab la maamulo iyo wax kale ma jiro. Nooca albaabka wuxuu ku kacaa saddex marti iyo shax isku-xidhka oo adigu haysato; nooca martigeliyaha kaliya wuxuu ku kacaa hal marti iyo hal siyaasad. Saddex su'aal ayaa kala sooca, tan saddexaadna waxay go'aamisaa in imtixaankaagu gebi ahaanba gudbi karo iyo in kale.
Ka jawaab saddex su'aalood ka hor inta aadan wax koobiyeeyin
Ka bilow waxa serverka VPN ay tahay inuu fiirsado. Haddii serverku tahay inuu arko ciwaanka isha oo aan ahayn kan martida imtixaanka, wax baa u dhexeeya tarjumi kara, oo waxaas waa inuu noqdaa router aad adigu maamusho. Shabakadda martigeliyaha kaliya waxay martigeliyaha siinaysaa adapter ku yaal qaybta martida, ma aha turjubaan. Markaas marka martidu u baahato inay gaarto wax dibadda ah, waxaad ku xidhaa adapter NAT, oo mishiinka NAT ee VirtualBox laftiisu wuxuu dib u qoraa isha isagoo aan ku weydiin.
Marka xigta, weydii haddii martidu ay gaari karto wax kale marka laga reebo tunnel-ka. Jawaabtaas ayaa doorata gudaha ama martigeliyaha kaliya, waana su'aasha inta badan qoraallada shaybaarka ay boodaan. Ugu dambayntii, weydii waxa ay tahay inuu dhaco marka tunnel-ku dhaco, sababtoo ah taasi waxay go'aamisaa siyaasad halkii topology, oo shaybaar kaliya caddeeya wadada farxadda leh wax kama uusan imtixaanin.
| What the test requires | Routed gateway VM | Host-only guest |
|---|---|---|
| Server sees a translated source address | Yes, from your own MASQUERADE rule | No, VirtualBox NAT does it instead |
| The guest has exactly one egress | Yes, while the second adapter faces the tunnel | Only until a NAT adapter is attached |
| Policy is testable during a tunnel failure | Rules live in one place | Rules live on each guest |
Ku xidh saddexda door shabakado gudaha ah
Isticmaal saddex marti iyo laba qaybood oo magac leh, albaabkuna waa inuu noqdaa mishiinka kaliya ee adapter ku leh labadaba:
VBoxManage modifyvm lab-client --nic1 intnet --intnet1 WAN
VBoxManage modifyvm lab-server --nic1 intnet --intnet1 LAN
VBoxManage modifyvm lab-gw --nic1 intnet --intnet1 WAN --nic2 intnet --intnet2 LAN
Ma jiro tallaabo abuur gaar ah oo shabakad gudaha ah. Xadhiga ku jira --intnet1 waa qaybta: laba mishiin ayaa wadaaga kaliya haddii magacu si sax ah u dhaco, oo wax martigeliyaha ku yaal lama xidhna. Astaantan ugu dambaysa waa sababta shaybaarku si nadiif ah ugu soo noqnoqdo, sababtoo ah wadooyinka martigeliyaha, macmiilkiisa VPN iyo firewall-kiisa si shil ah uma gaari karaan martida. Qayb gudaha ah sidoo kale ma laha server DHCP ilaa aad mid ku darto, sidaas darteed ciwaannada taagan waa wadada ugu gaaban.
Macmiilka sii kaliya ciwaankiisa WAN, albaabka caadiga ahna waa inuu u tilmaamo ciwaanka WAN ee albaabka. Serverku wuxuu helaa ciwaan LAN oo wuxuu u isticmaalaa ciwaanka LAN ee albaabka albaabkiisa caadiga ah. Martida haysta laba ciwaan oo hal qayb ah, ama wado lumay oo u jeedda qaybta kale, waxay leedahay wado ku wareegsan router-ka, imtixaannada hoosna way ku beenin doonaan.
Waxaan dhinaca magacyada VM ku hayaa fayl qoraal ah oo leh afarta ciwaan iyo labada magac ee qaybaha, oo waxaan ku dhejiyaa shell kasta. Toddobaadyo ka dib, marka isbeddel borofayl uu wax jebiyo, faylkaas waa farqiga u dhexeeya debug-ga borofaylka iyo debug-ga xusuustayda.
Qaybta aan qulqulanayn ka dooro gudaha ama martigeliyaha kaliya
Habka martigeliyaha kaliya wuxuu ku abuuraa adapter macmal ah martigeliyaha laftiisa, badanaa vboxnet0, oo wuxuu martigeliyaha siinayaa ciwaan ku yaal qaybta martida. Taasi waa ku habboon maamulka oo halis u ah imtixaanka go'doominta, sababtoo ah martigeliyaha hadda si toos ah ayuu u gaari karaa martida oo adeeg kasta oo dhinaca martigeliyaha ah wuxuu noqdaa wado suurtagal ah. Habka gudaha malaha adapter martigeliyaha haba yaraatee. Labada hab ayaa si fudud isku qaldama gudida dejinta shabakadda, sidaas darteed hubi farqiga la diiwaangeliyay ee ma aha calaamadda (eeg bogga faahfaahinta shabakadda VirtualBox).
Martida ay tahay inay isticmaasho tunnel-ka, gudaha waa tan caadiga ah ee ammaan badan, albaabkuna waa mashiinka kaliya ee bixitaanka. Haddii aad haysato martigeliyaha kaliya, ula dhaqan adapter-ka martigeliyaha sida wado maamul oo kor u dhawaaq: martigeliyaha wuu gaari karaa martida, martiduna ma aha inay awood u yeelato inay martigeliyaha u isticmaasho bixitaan.
VBoxManage modifyvm lab-client --nic1 hostonly --hostonlyadapter1 vboxnet0
Go'doominta aad caddayn karto waa go'doominta aad habaysay. Martida leh hal adapter gudaha, wado caadi ah oo albaabka agtiisa ah iyo adapter NAT la'aan malaha wado dhaafsan albaabka. Martida leh adapter martigeliyaha kaliya iyo adapter NAT waxay leedahay laba wado, oo midkood kaliya ayaa ah kii aad rabtay inaad imtixaanto.
Albaabka ku wad oo ku tarjun, ka dibna ka dhig inuu si xiran u guul-darraysto
VirtualBox ma gudbiyo qaybaha dhexdooda; martida ayaa sidaa samaysa. Marka VM-ga serverka VPN uu yahay gadaasha albaabka, daaji gudbinta oo tarjun taraafikada macmiilka marka ay u baxdo serverka:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Qaanuunkaas serverku wuxuu arkaa ciwaanka LAN ee albaabka halkii uu ka arki lahaa kan macmiilka, oo sidaas ayaa macmiil dhab ah oo ka dambeeya NAT shirkadda u muuqdaa madaxa shabakadda. Kaydi qiimaha sysctl gudaha /etc/sysctl.d/ iyo qaanuunka adeegga firewall-ka ee qaybintu isticmaasho, haddii kale dib u bilow ayaa shaybaarka si aamusan ugu celin doona xaalad la waday laakiin aan la tarjunin.
Gudbintu ma aha fasax. Marka la eego siyaasadda caadiga ah ee FORWARD oo leh qiimaha ACCEPT, martida wadadeeda caadiga ahi u tilmaanto albaabka waxay ka baxdaa isdhexgalka ay dooratay shaxda isku-xidhka, tunnel ha lahaado ama yaan lahayn. Haddii albaabku sidoo kale leeyahay adapter NAT oo loogu talagalay rakibidda xirmooyinka, adapterkaas waa bixitaan shaqeynaya oo aan sir ahayn isla daqiiqada uu tunnel-ku dhaco, imtixaankaaga VPN-kaliya-na waligiis ma uusan ahayn imtixaan VPN-kaliya.
Marka serverku meel fog yahay oo albaabku laftiisu dhammeeyo tunnel-ka, isla go'aankaas wuxuu u tilmaamaa isdhexgalka tunnel-ka, ma aha NIC-ga gaara internet-ka:
iptables -P FORWARD DROP
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Ka fogeeya gaadiidka dibadda ee tunnel-ka laftiisa iyo wadada maamulka ee ka baxsan xariiqda taraafikada la gudbiyay. Haddii wadada kaliya ee lagu hagaajin karo albaabka ay tahay tunnel-ka aad debug-gaynayso, shaybaarku wuxuu noqdaa layli xidhid. Console taxane ah, adapter maamul oo martigeliyaha kaliya ah, ama sawir xaalad fiican oo la yaqaan ayaa ka jaban soo celinta router jaban gacanta.
Wadada ka hubi martida, ma aha martigeliyaha
U shaqee dibadda. Xaqiiji in macmiilku gaaro ciwaanka WAN ee albaabka, ka dibna serverka iyada oo loo marayo albaabka, ka dibna in xiriirka dekedda VPN uu baxo oo soo noqdo. Qabashada labada isdhexgal ee albaabka waxay muujinaysaa haddii jawaabtu timaaddo oo lagu tuuro wadada soo noqoshada, taas oo qabashada kaliya macmiilka aanay kala saari karin:
tcpdump -ni eth0 udp port 1194
tcpdump -ni tun0 udp port 1194
Ka dibna caddee bixitaanka. Weydii martida adeegga milicsiga ciwaannada waxa isha uu arko oo barbardhig ciwaanka bixitaanka ee albaabka laftiisa; haddii jawaabtu la socoto ciwaanka martigeliyaha, wado ku wareegsan tunnel-ka ayaa jirta. Hubi yaa resolver-ka martidu dhab ahaan isticmaasho, oo IPv6 gaar u hubi, sababtoo ah qaybta IPv6 ku hawlan tahay halka tunnel-ku kaliya qaado IPv4 waxay u qulqushaa nashqad ahaan ee ma aha shil.
Ugu dambayntii, si ula kac ah u jebi. Jooji tunnel-ka, ama xannib dekeddiisa dibadda, oo ka fur xiriir cusub martida. Waa inuu guul-darraystaa, sababtuna waa inay tahay mid aad magac u bixin karto: wado ma jirto, qaanuun diidmo ayaa jira, ama resolver-ku waa dhintay. Dib u bilow tunnel-ka oo xaqiiji in martidu soo kabsato iyada oo aan shabakadda dib loo dhisin. Haddii mesh VPN sida Hamachi ama ZeroTier ay shaybaarka wadaagto, xusuusnow in adapter-ka buundada laga dhigay uu raaco magaca adapter-ka, ma aha mesh-ka, sidaas darteed buundada waa in dib loo tilmaamo ka dib marka macmiilku rakibo adapterkiisa macmal ah.
VBoxManage list bridgedifs
VBoxManage modifyvm lab-client --bridgeadapter1 <mesh-adapter-name>
La wadaagista tunnel-ka martida martigeliyaha waxay ka tarjumaysaa dhibaatada. U tilmaamista wadada caadiga ah ee martigeliyaha martida way shaqaysaa, sidoo kale proxy gudaha martida; NAT iyada oo loo marayo martigeliyaha ma qaado tunnel-ka martida taraafikada uu martigeliyuhu bilaabay. Kaydi magacyada qaybaha iyo qaanuunnada firewall-ka hal meel, qaado sawir xaaladda shaqaynaysa, oo diiwaangeli ciwaanka isha ee serverku fiirsaday. Markaas isbeddelka borofaylka ee xiga wuxuu ku kacayaa hal orod script halkii shaybaar dib loo dhisay.