Ìsopọ̀ strongSwan tí ó ń ṣiṣẹ́ fún ẹ̀ka nẹ́tíwọ́kì aládàáni kan kò ní gbé ìrìnàjò íńtánẹ́ẹ̀tì kan náà nítorí pé ẹnìkan ṣàtúnṣe ìlà kan. Tọ́nẹ́lì kíkún jẹ́ àdéhùn láàrín ẹ̀gbẹ́ méjì nípa àwọn àdírẹ́sì tí child SA ń dáàbò bò, àti ẹ̀gbẹ́ kọ̀ọ̀kan ń pe èkejì ní ìbámu pẹ̀lú ara rẹ̀. Ṣe ẹ̀gbẹ́ kan tọ́ kí ẹ̀gbẹ́ kejì jẹ́ àṣìṣe, child SA yóò máà gòkè tàbí yóò gòkè ní dín ju bí a ti pinnu. Àwọn ìṣàyẹ̀wò márùn-ún wọ̀nyí ń tẹ̀lé àdéhùn yẹn láti oníbàárà, gba ẹnubodè, dé íńtánẹ́ẹ̀tì.

Kọ́kọ́ ṣàyẹ̀wò olùyàn ti oníbàárà

Oníbàárà ń ṣàpèjúwe ohun tí ó fẹ́ dáàbò bò ní ẹ̀gbẹ́ jíjìnnà gẹ́gẹ́ bí remote_ts, àti gbogbo ohun tí ó ń rán wá láti àdírẹ́sì tirẹ̀ tí a yàn. Fún ìrìnàjò íńtánẹ́ẹ̀tì, iye yẹn gbọ́dọ̀ bo àwọn ibi tí olùlò yóò dé ní tòótọ́, èyí tí ó túmọ̀ sí gbogbo àyè IPv4 ní ìgbàlódé. Oníbàárà tí ó ṣì ń ṣe àkọsílẹ̀ ẹ̀ka nẹ́tíwọ́kì kan ń béèrè tọ́nẹ́lì pípín, bí orúkọ profáìlì nínú ojú-ìwé ṣe jẹ́ rárá. Ẹ̀gbẹ́ orísun sábà máa ń jẹ́ dynamic nítorí a ń yàn àdírẹ́sì ní àkókò ìsopọ̀. Orísun tí ó dúró ṣinṣin tí a kọ síbẹ̀ yóò já ní kété tí àkójọ àdírẹ́sì bá yí padà.

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

Ẹ̀ka yìí kì í ṣe fáìlì ìsopọ̀ kíkún, ó sì ro pé ìjẹ́rìí, ìdánimọ̀ àti àkójọ àdírẹ́sì àròjinlẹ̀ ti wà tẹ́lẹ̀. Olùyàn orísun oníbàárà àti àdírẹ́sì tí sẹ́rvà ń yàn gbọ́dọ̀ ṣì bára mu, bí bẹ́ẹ̀ kọ́ child SA yóò gòkè pẹ̀lú ìwọ̀n tí kò sí ẹ̀gbẹ́ tí ó retí. Fi swanctl --load-all gbé e kí o sì ka àbájáde kí o tó ro pé ó ṣẹ́gun. Fáìlì tí a ń ṣàyẹ̀wò lè ṣì kọ̀ nítorí olùyàn tí kò bá àbá ẹ̀gbẹ́ kejì mu.

Ṣàyẹ̀wò olùyàn ẹnubodè ní ẹ̀gbẹ́ tirẹ̀

Ẹnubodè ń ka èròǹgbà kan náà láti ọ̀nà òdìkejì. Àwọn ibi íńtánẹ́ẹ̀tì jẹ́ ti agbègbè fún ẹnubodè, nítorí náà local_ts rẹ̀ ni èyí tí ó gbòòrò àti remote_ts rẹ̀ ń ṣàpèjúwe àkójọ oníbàárà. Ìyípadà yẹn ni àṣìṣe tí ó wọ́pọ̀ jù nínú ìṣètò tọ́nẹ́lì kíkún, ó sì ń kọjá àyẹ̀wò nítorí pé àwọn ìlà méjèèjì dàbí ohun tí ó tọ́ ní ọ̀tọ̀ọ̀tọ̀.

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

Dídà ẹ̀ka oníbàárà sínú fáìlì ẹnubodè ń ṣẹ̀dá bọ́ọ̀lù olùyàn kan tí kò ṣàpèjúwe ohunkóhun tí ó wúlò, nítorí pé ẹ̀gbẹ́ méjèèjì yóò béèrè ipa kan náà. Ìtọ́sọ́nà ìfiránṣẹ́ strongSwan ń ṣàkọsílẹ̀ ìsopọ̀ oníbàárà àti ẹnubodè ní gbangba, ó sì yẹ kí a kà á lẹ́gbẹ̀ẹ́ fáìlì ìsopọ̀ dípò lẹ́yìn ìkùnà. Fáìlì ẹnubodè tún nílò ìtumọ̀ àkójọ tí remote_ts ń tọ́ka sí. Olùyàn tí ó dárúkọ àkójọ tí kò sí yóò gbé jáde láì ṣàròyé yóò sì kùnà nígbà ìsopọ̀.

ipsec.conf àtijọ́ ń lo ipa òsì àti ọ̀tún pẹ̀lú kọ́kọ́rọ́ ọ̀tọ̀ọ̀tọ̀, àti ìlà rightsubnet kì í ṣe àrọ́pò tààrà fún iye swanctl. Tọ́jú àwọn ìlànà méjèèjì nínú fáìlì ọ̀tọ̀ọ̀tọ̀ dípò lílẹ̀mọ́ ọ̀kan sínú èkejì. Dídà wọ́n pọ̀ nínú àpò kan náà ni ọ̀nà tí ìsopọ̀ tí ó ń ṣiṣẹ́ fi padà ní ìdákẹ́jẹ́ lẹ́yìn ìtúnpadà.

Ṣàyẹ̀wò child SA tí a ti gbàdúrà rẹ̀, kì í ṣe fáìlì

Ìṣètò tí a fi pamọ́ ń fi èrò hàn kì í sì í ṣe ohun mìíràn. Ẹ̀gbẹ́ kejì lè dín ohun tí a béèrè kù, àti child SA tí ó ti wà kì í yí padà kìkì nítorí pé fáìlì lábẹ́ rẹ̀ yí padà. Jẹ́rìí ohun tí a fi sórí ẹ̀rọ ní tòótọ́ kí o tó yí ohunkóhun mìíràn padà.

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

Àṣẹ kìíní ń fi ohun tí daemon gbé jáde hàn, èkejì ń fi àwọn child SA tí a ti dá hàn, ẹ̀kẹta sì ń fi àwọn ìlànà tí kọ́npútà yóò lò hàn. Bí fáìlì bá sọ 0.0.0.0/0 tí àkójọ sì fi ẹ̀ka nẹ́tíwọ́kì kan hàn, ìjíròrò ti dín ìwọ̀n kù àti kíkà fáìlì lẹ́ẹ̀kan sí i kò ní ṣàlàyé rẹ̀. Pa child, tún gbé e jáde, kí o sì fi àwọn àbájáde mẹ́ta náà wérawọ́ra lẹ́ẹ̀kan sí i. Child tí ó fi ìwọ̀n dín kan náà padà ni ẹ̀gbẹ́ jíjìnnà ń dín kù, kì í ṣe fáìlì agbègbè, ìyẹn sì jẹ́ ìjíròrò pẹ̀lú alábòójútó mìíràn kì í ṣe àtúnṣe agbègbè.

Ka ọ̀nà méjèèjì nínú àkójọ ìlànà, nítorí tọ́nẹ́lì tí ó fi ọ̀nà kan sórí tí kò fi èkejì sórí jẹ́ ìṣòro ìtọ́ ọ̀nà nínú aṣọ ìṣètò. Àwọn ìlànà síwájú àti sẹ́yìn gbọ́dọ̀ dárúkọ bọ́ọ̀lù olùyàn kan náà ní àwòrán dígí, àti dígí tí ó ṣèé wá jẹ́ àléébù nínú daemon tàbí àbá kì í ṣe nínú ọ̀rọ̀ olùyàn.

Ṣàyẹ̀wò ìfiránṣẹ́ àti ọ̀nà ìpadà

Olùyàn ń gba ìrìnàjò lọ sí ẹnubodè, ṣùgbọ́n kò mú kí ẹnubodè tọ́ ìrìnàjò yẹn lọ síwájú. Ìfiránṣẹ́ gbọ́dọ̀ wà ní ṣíṣí, ododo iná gbọ́dọ̀ gba ṣíṣàn náà, àti ìdáhùn gbọ́dọ̀ rí ọ̀nà padà sí àkójọ oníbàárà. Ìwọ̀nyí jẹ́ ohun tí a nílò mẹ́ta ọ̀tọ̀ọ̀tọ̀, ọ̀kọ̀ọ̀kan sì ń kùnà pẹ̀lú àmì ọ̀tọ̀ọ̀tọ̀. Ìlànà ìfiránṣẹ́ tí ó ṣèé wá ń hùwà bí ihò dúdú, nígbà tí ọ̀nà ìpadà tí ó ṣèé wá ń hùwà bí tọ́nẹ́lì ọ̀nà kan.

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

Àwọn àdírẹ́sì aládàáni oníbàárà sábà nílò ìtumọ̀ orísun àmọ̀ọ́nà kí wọ́n tó lè kúrò ní ojú-ìwé gbogbogbò, nígbà tí ìpín tí a tọ́ ọ̀nà rẹ̀ ní gbangba nílò ìtọ́jú mìíràn. Bí NAT bá wà nínú ẹ̀rọ, tọ́jú àwọn ìyàtọ̀ tí ìmúṣẹ ń ṣe àtìlẹ́yìn fún kí ìrìnàjò tí ìlànà ààbò gbọ́dọ̀ ṣàyẹ̀wò má bàa túmọ̀ kọjá rẹ̀. Ìlànà masquerade gbòòrò tí a dà láti ẹnubodè mìíràn ń yí ṣíṣàn púpọ̀ ju bí olùkọ́wé rẹ̀ ti pinnu lọ. Kọ ìlànà náà fún àkójọ oníbàárà nìkan, kí o sì fi àkọsílẹ̀ kan tí ó ṣàlàyé ìdí tí ó fi wà.

Lórí oníbàárà, jẹ́rìí àwọn ọ̀nà tí backend fi sórí ẹ̀rọ dípò àwọn ọ̀nà tí o ro. Alábòójútó tí ìfi ọ̀nà sórí ẹ̀rọ ti pa nílò àpẹẹrẹ ìtọ́ ọ̀nà tí a ń tọ́jú pẹ̀lú ọwọ́, àpẹẹrẹ yẹn sì gbọ́dọ̀ ní ìmúdójúìwọ̀n nígbà gbogbo tí tọ́nẹ́lì bá yí padà. Ṣàyẹ̀wò tábìlì ìtọ́ ọ̀nà lẹ́yìn àtúnsopọ̀, kì í ṣe lẹ́yìn ìgbéjáde tuntun nìkan.

Ṣàyẹ̀wò ohun tí tọ́nẹ́lì kò ì tíì bo

Bọ́ọ̀lù olùyàn ń bo IPv4 nìkan, kò sí ohun mìíràn. IPv6, DNS àti ìlànà eyíké ìpele-èto ló jẹ́ ìpinnu ọ̀tọ̀ọ̀tọ̀ tí olùyàn IPv4 gbòòrò ń fojú fo ní ìdákẹ́jẹ́. Tọ́nẹ́lì tí ó ń gbé gbogbo pákẹ́tì IPv4 lè ṣì fa gbogbo wíwá orúkọ jáde.

Sọ ọ̀nà DNS tí a pinnu ní gbangba, nítorí tọ́nẹ́lì kíkún tí ó ṣì ń yanjú orúkọ nípasẹ̀ olùyanjú agbègbè ń fa àwọn ìbéèrè jáde kúrò nínú tọ́nẹ́lì ó sì ń ba orúkọ aládàáni jẹ́. Bí a bá yàn àdírẹ́sì IPv6 fún oníbàárà, ẹbí àdírẹ́sì yẹn nílò ìtọ́jú kan náà, bí bẹ́ẹ̀ kọ́ ẹ̀rọ yóò fẹ́ ọ̀nà tí tọ́nẹ́lì kò dáàbò bò. Dán wò pẹ̀lú orúkọ tí ẹ̀gbẹ́ aládàáni nìkan lè dáhùn, kí o sì kà ìdáhùn gbogbogbò sí ìjáde.

resolvectl query intranet.example.internal
traceroute -n 1.1.1.1

Jẹ́rìí ẹ̀wọ̀n náà pẹ̀lú àwọn àṣẹ méjì yẹn pẹ̀lú àwọn olùyàn tí a ti gbàdúrà láti àkójọ lókè. Bí traceroute bá fi router agbègbè hàn gẹ́gẹ́ bí ìfò kìíní, ìrìnàjò kò ń lo tọ́nẹ́lì bí olùyàn bá sọ ohunkóhun. Ìwọlé íńtánẹ́ẹ̀tì kún nígbà tí a bá gba ìrìnàjò tí a yàn, tí a fi ránṣẹ́, tí a sì mú padà gba ẹnubodè tí a ṣètò. Rí 0.0.0.0/0 nínú profáìlì ni ìbẹ̀rẹ̀ ẹ̀wọ̀n yẹn, kì í ṣe ẹ̀rí rẹ̀.

Àwọn àpilẹ̀kọ tó jọra