Xiriirka strongSwan ee ka shaqeeya hal subnet oo gaar ah ma qaadi doono taraafikada internetka kaliya sababtoo ah qof ayaa wax ka beddelay hal sadar. Tunnel buuxa waa heshiis ka dhexeeya laba dhinac oo ku saabsan ciwaannada ay child SA ilaaliso, iyo dhinac kastaa wuxuu u magacaabaa dhinaca kale marka la eego naftiisa. Hal dhinac sax oo kan kale khaldan ka dhig, child SA waxay ama ma kacdo ama waxay u kacdaa si ka cidhiidhi ah intii la qorsheeyay. Shanta hubin ee hoose waxay raacaan heshiiskaas laga bilaabo macmiilka, iyada oo loo marayo gateway, ilaa internetka.

Marka hore hubi doorashada macmiilka

Macmiilku wuxuu ku qeexaa waxa uu rabo inuu ka ilaaliyo dhinaca fog sida remote_ts, iyo wax kasta oo uu diraa waxay ka soo baxaan ciwaankiisa la qoondeeyay. Taraafikada internetka qiimahaas waa inuu daboolaa meelaha uu isticmaaluhu dhab ahaan gaaro, taas oo ficil ahaan macnaheedu yahay dhammaan booska IPv4. Macmiilka weli taxaya hal subnet wuxuu codsanayaa tunnel kala qaybsan, si kasta oo profile-ka loogu magacaabo interface-ka. Dhinaca isha badanaa waa dynamic sababtoo ah ciwaanka waxaa la qoondeeyaa marka la xirmo. Isha go'an oo halkaas ku qoran waxay jabtaa isla marka kooxda ciwaannada is beddelo.

children {
    net {
        local_ts  = dynamic
        remote_ts = 0.0.0.0/0
    }
}

Qaybtan ma aha fayl xiriir buuxa, oo tan waxay u qaadanaysaa in xaqiijinta, aqoonsiga iyo kooxda ciwaannada macmalka ah horey loo habeeyay. Doorashada isha macmiilka iyo ciwaanka uu serverku qoondeeyo wali waa inay is waafaqaan, haddii kale child SA waxay u kacdaa baaxad aan labada dhinac midkoodna filanayn. Ku rar swanctl --load-all oo akhri natiijada ka hor intaadan u qaadan guul. Fayl la falanqeeyo ayaa wali laga diidi karaa doorasho aan la jaanqaadin soo jeedinta dhinaca kale.

Hubi doorashada gateway dhinaciisa

Gateway wuxuu akhriyaa isla fikradda jihada ka soo horjeeda. Meelaha internetku waa maxalli u ah gateway, sidaas darteed local_ts waa kan ballaadhan oo remote_ts waxay qeexdaa kooxda macmiillada. Dib u rogiddaas waa khaladka ugu caansan habaynta tunnel buuxa, oo waxay ka gudubtaa dib u eegista sababtoo ah labada sadar mid kastaa wuxuu u muuqdaa mid lagu kalsoonaan karo si gaar ah.

children {
    rw {
        local_ts  = 0.0.0.0/0
        remote_ts = 10.77.0.0/24
    }
}

Koobiga qaybta macmiilka galay faylka gateway waxay abuurtaa labo doorasho oo aan wax faa'iido leh qeexin, sababtoo ah labada dhinac waxay sheegan lahaayeen door isku mid ah. Hagaha gudbinta strongSwan wuxuu si cad u diiwaangeliyaa isku-xirka macmiilka iyo gateway, oo waxaa mudan in lagu akhriyo dhinaca faylka xiriirka halkii laga akhri lahaa kadib guuldarada. Faylka gateway sidoo kale wuxuu u baahan yahay qeexidda kooxda uu remote_ts tilmaamayo. Doorasho magacaabaysa koox aan jirin ayaa la rarayaa iyada oo aan cabasho lahayn oo way guuldarraystaa marka la xirmo.

ipsec.conf hore waxay isticmaashaa doorarka bidix iyo midig oo leh furayaal kala duwan, oo sadarka rightsubnet ma aha beddelka tooska ah ee qiimaha swanctl. Ku hay labada qaab-dhismeed faylal gaar ah halkii aad mid ku dhejin lahayd kan kale. In lagu qaso hal buug-gacmeed waa habka xiriirka shaqeeya uu si aamusnaan ah ugu noqdo dib kadib dib u bilaabid.

Hubi child SA la wada hadlay, ma aha faylka

Habaynta la keydiyay waxay caddaynaysaa ujeedka oo aan wax kale ahayn. Dhinaca kale wuxuu yareyn karaa wixii la codsaday, oo child SA jira lama beddelo kaliya sababtoo ah faylka hoostiisa ayaa is beddelay. Xaqiiji waxa dhab ahaan rakiban ka hor intaadan beddelin wax kale.

swanctl --list-conns
swanctl --list-sas
ip xfrm policy list

Amarka ugu horeeya wuxuu muujinayaa waxa daemon-ku raray, kan labaad wuxuu muujinayaa child SA la sameeyay, kan saddexaad-na siyaasadaha kernel-ku fulin doono. Haddii faylku yiraahdo 0.0.0.0/0 oo liistadu muujiso hal subnet, wada hadalku wuxuu yareeyay baaxadda oo dib u akhrinta faylka ma sharxi doonto taas. Jooji child, dib u bilow, oo is barbardhig saddexda natiijo mar kale. Child ku soo noqota isla baaxad cidhiidhi ah waxaa yareeya dhinaca fog ee ma aha faylka maxalliga ah, oo taasi waa wada hadal lala yeesho maamulaha kale ee ma aha wax ka beddel maxalli ah.

Akhri labada jiho ee liiska siyaasadaha, sababtoo ah tunnel rakibaya hal jiho oo aan kan kale rakibin waa dhibaato waddo-maris oo qaab habayn qaba. Siyaasadaha horay iyo gadaal waa inay magacaabaan isla labada doorasho oo muraayad ah, oo muraayadda maqan waa cillad daemon-ka ama soo jeedinta ee ma aha qoraalka doorashada.

Hubi gudbinta iyo waddada soo noqodka

Doorasho waxay u ogolaataa taraafikada inuu galo gateway, laakiin kama dhigto gateway inuu taraafikadaas sii waddo-mariyo. Gudbinta waa in la shidaa, firewall-ku waa inuu oggolaadaa qulqulka, oo jawaabtu waa inay heshaa waddo ku noqota kooxda macmiillada. Kuwani waa saddex shuruudood oo gaar ah, oo mid kastaa wuxuu ku guuldarraystaa calaamad kale. Xeerka gudbinta maqan wuxuu u dhaqmaa sida god madow, halka waddada soo noqodka maqan ay u dhaqanto sida tunnel hal jiho ah.

sysctl net.ipv4.ip_forward
iptables -t nat -S | grep -i masq
ip route get 1.1.1.1

Ciwaannada macmiillada gaarka ah badanaa waxay u baahan yihiin turjumaad isha oo ula kac ah ka hor inta aysan ka bixin interface dadweyne, halka qoondaynta si cad loo waddo-mariyay ay u baahan tahay hab kale. Haddii NAT ku lug leeyahay, hayso ka-tagista uu taageerayo fulintu si taraafikada ay tahay in siyaasad ammaan ay baarto aan looga turjumin dhinaceeda. Xeer masquerade ballaadhan oo laga koobiyeeyay gateway kale wuxuu beddelaa qulqul badan intii qoraagu ujeeddadey. U qor xeerka kaliya kooxda macmiillada, oo ka tag faallo sharraxaysa sababta uu u jiro.

Macmiilka, xaqiiji waddooyinka uu backend-ku rakibay ee ma aha waddooyinka aad u qaadatay. Maamulaha rakibidda waddooyinka damisani wuxuu u baahan yahay naqshad waddo-maris gacan lagu hayo, oo naqshaddaas waa in la cusboonaysiiyaa mar kasta oo tunnel-ku is beddelo. Hubi shaxda waddo-marista kadib dib u xirid, ee ma aha kaliya kadib bilow cusub.

Hubi waxa tunnel-ku weli aanu daboolin

Labada doorasho waxay daboolaan IPv4 oo wax kale ma aha. IPv6, DNS iyo siyaasad kasta oo heer barnaamij ah waa go'aamo gaar ah oo doorasho IPv4 ballaadhan ay si aamusnaan ah uga indhatirto. Tunnel qaada baakad kasta IPv4 wali wuxuu daadan karaa raadin kasta oo magac.

Si cad u sheeg waddada DNS loogu talagalay, sababtoo ah tunnel buuxa oo wali magacyada ku xalliya resolver maxalli ah wuxuu daadiyaa weydiimaha tunnel-ka dibadiisa oo wuxuu jebiyaa magacyada gaarka ah. Haddii macmiilka la siiyo ciwaan IPv6, qoyskaas ciwaanku wuxuu u baahan yahay isla daaweyn, haddii kale martigeliyaha wuxuu doorbidayaa waddo aan tunnel-ku ilaalin. Ku tijaabi magac ay kaliya dhinaca gaarku ka jawaabi karo, oo u qaado jawaab dadweyne sida daadasho.

resolvectl query intranet.example.internal
traceroute -n 1.1.1.1

Xaqiiji silsiladda labadaas amar iyo doorashooyinka la wada hadlay ee liiska sare. Haddii traceroute-ku muujiyo router-ka maxalliga ah sida boodhka ugu horeeya, taraafikadu ma isticmaalayo tunnel-ka wax kasta oo doorashooyinku sheegaan. Helitaanka internetka waa buuxa kaliya marka taraafikada la doortay la oggolaado, la gudbiyo oo dib loo soo celiyo iyada oo loo marayo gateway-ga la qorsheeyay. Helitaanka 0.0.0.0/0 profile waa bilowga silsiladdaas, ma aha caddaynteeda.

Maqaallo la xiriira