DNAT gudaha weelka VPN: gudbin, ma aha INPUT
Ka dib DNAT, codsiga cinwaanka tunnel-ka wuxuu noqdaa gaadiid la gudbiyay. Xaddid qaanuunka gudbinta, akhri silsiladda Docker oo si badheedh ah u dooro waddada dib u noqoshada.
Codsiga wuxuu yimaaddaa isagoo u jeedda IP-ga tunnel-ka wuuna ka baxaa isla weelka isagoo u jeedda adeeg deris ah. Inta u dhaxaysa labada daqiiqadood, DNAT waxa uu dib u qoray meesha loo socdo, markaas baakaddu ma aysan ahayn gelitaan weelka VPN. Hadda waa gaadiid la gudbiyay, oo qaanuun kale go'aamiyo. Isbeddelkaas ayaa sharraxaya sababta qaanuunka dab-damiska ee u muuqda mid sax ah cinwaanka tunnel-ka uusan wax saameyn ah ku lahayn xiriirka la turjumay.
Raac baakadda ka dib turjumaadda
Qaado barkada macaamiisha 10.90.0.0/24 iyo cinwaanka tunnel-ka 10.90.0.1. Laba weel ayaa ku yaal hal buundo: 192.0.2.2 waxa uu socodsiiyaa VPN-ga, 192.0.2.3-na waxa uu socodsiiyaa barnaamijka. Macmiil wuxuu ku xirmayaa 10.90.0.1:8080, qaanuunka DNAT ee ku jira booska magacaabista weelka VPN-na waxa uu dib ugu qoraa cinwaanka iyo dekedda dhabta ah ee barnaamijka. Kadib waddo ayaa baakadda ka gudbisaa buundada. Cinwaannadaas waa tusaale, ma aha cunto karinta hirgelinta.
Dekedda uu barnaamijku dhab ahaan wax ku dhageysto waxa ay ka duwanaan kartaa deked kasta oo lagu daabacay martigeliyaha. Akhri dhageystaha gudaha weelka halkii aad ka malayn lahayd in labada nambar ay is waafaqaan.
Ogolaanshuhu waxa uu ku habboon yahay waddada gudbinta
Weelka VPN waxa uu u baahan yahay gudbin IP iyo go'aan gudbin oo lagu xaddiday barkada macaamiisha, cinwaanka barnaamijka iyo dekedda loogu talagalay. Jawaabaha la aasaasay waxa ay u baahan yihiin ogolaansho gaar ah. Qaanuunka u dhigma cinwaanka asalka ah ee tunnel-ka ma dhigmaan doono ka dib DNAT, sababtoo ah meesha loo socdo horey ayaa loo beddelay. Ogolaanshaha INPUT waa jillaab khaldan oo loogu talagalay gaadiid aan hadda loo jeedin martigeliyahan.
Xaddid baaxadda: hal xad oo isha, hal meel loo socdo, hal adeeg. Qaanuunka gudbinta ee ballaaran ayaa fudud in la qoro oo aad u adag in markii dambe la difaaco.
docker exec vpn-container ip route get 192.0.2.3
docker exec vpn-container iptables -t nat -S
docker exec vpn-container iptables -S FORWARD
Silsiladaha Docker ma aha silsiladaha weelkaaga
Qaanuunnada ku jira booska magacaabista weelka ma aha qaanuunnada martigeliyaha Docker. Marka gaadiidku ka gudbo interface-ka tunnel-ka una gudbo buundada, dab-damiska buundada ee martigeliyaha waxa uu qaadan karaa go'aan kale. Iyadoo la raacayo backend-ka iptables ee Docker, silsiladaha gudbinta ee la diiwaangeliyay iyo goobaha is waafajinta ka dib DNAT waa meesha go'aankaas uu ka muuqdo.
Tixraaca dab-damiska Docker waxa uu sharraxayaa silsiladahaas iyo is waafajinta ka dib DNAT. Ha hagaajin aqbalaad maqan adigoo damiraya maamulka dab-damiska Docker ama ka dhigaya silsilad kasta mid ballaaran, sababtoo ah taasi waxa ay meesha ka saaraysaa xadka aad isku dayeyso inaad isticmaasho.
Ka dhig waddada dib u noqoshada doorasho badheedh ah
Haddii cinwaanka isha la ilaaliyo, barnaamijku waxa uu arkaa 10.90.0.x oo waa in uu jawaabaha dib ugu celiyaa isagoo maraya weelka VPN. Haddii kale gateway-ga Docker ee caadiga ah waxa uu u dirayaa martigeliyaha aan tunnel-ka lahayn. Beddelka waa turjumaad isha oo si dhuudhuuban loo xaddiday weelka VPN, taas oo fududaysa jawaabta laakiin ka qarinaysa macmiilka barnaamijka. Si badheedh ah u dooro oo qor midka aad dooratay.
Tijaabi xiriir cusub oo la ogolaaday oo ka yimaadda macmiil caadi ah, kadib xaqiiji in dekedaha aan la xiriirin ay xiran yihiin. Marka baakad libdhdo, baadh booska magacaabista VPN, booska magacaabista barnaamijka iyo diiwaanka barnaamijka laftiisa. Ping-ka gateway-ga buundada ma aha imtixaan aqbalaad oo adeegga.
Qaanuunnada ku hay habaynta bilowga ee la taageeray ee weelka, sababtoo ah wax ka beddelka is dhexgalka ah wuu libdhdaa marka dib loo abuuro. Daabacaadda dekedda martigeliyaha waa waddo kale oo soo bandhigid ah mana aha mid loo baahan yahay oo kaliya sababtoo ah adeegga waxa laga gaadhi karaa tunnel-ka.