strongSwan ESP-in-UDP: nígbà tí kò sí NAT láti rí
Ìwádìí NAT ń wá ìtumọ̀ àdírẹ́sì, kì í ṣe ìlànà firewall. Ìsopọ̀ ojú-ìwé láìsí NAT lè ní ìlò ìpinnu ESP-in-UDP tààrà.
Ìwádìí NAT ń dáhùn ìbéèrè kan: ṣé àwọn àdírẹ́sì tàbí ibùdókọ̀ ti yí padà ní ọ̀nà? Kò dáhùn bóyá firewall gba ìlànà IP 50 láyè. Àwọn ẹnubodè ojú-ìwé tí kò ní ìtumọ̀ rárá lè ṣì wà lẹ́yìn ìlànà tí ń ju native ESP nù, a sì gbọ́dọ̀ ṣètò ìbéèrè yẹn dípò wíwá a. Ọ̀nà náà ni ESP-in-UDP, ìpinnu sì ni, kì í ṣe àyọkùrò tí ń fara hàn fúnra rẹ̀.
Ìwádìí jẹ́ ìṣirò lórí àwọn àdírẹ́sì, kì í ṣe àyẹ̀wò firewall
IKEv2 ń gbé àwọn ẹrù ìwádìí NAT tí ó ní àwọn hash àdírẹ́sì àti ibùdókọ̀ orísun àti ibi-ìlọ. Ẹ̀gbẹ́ kọ̀ọ̀kan ń fi ohun tí ó gbà wé ohun tí ó rí ní àdúgbò, àìbáramu sì sọ fún un pé ohun kan ti tumọ̀ pákítì náà. Kò sí ohunkóhun nínú ìpààrọ̀ yẹn tí ń dán ìgbà wò bóyá olùdarí ọ̀nà ní àárín ń gbé ìlànà 50 lọ.
Ó yẹ ká sọ àbájáde ìṣe ní tààrà. Ọ̀nà-ìmọ́ tí ó ṣiṣẹ́ pẹ̀lú native ESP kò ní rí firewall tuntun tí ń dín kù fúnra rẹ̀, àti ìgbìyànjú tí ó tẹ̀lé e yóò kùnà ní ìpele dátà nígbà tí IKE ń tẹ̀síwájú láṣeyọrí. Ìwọ yóò rí àwọn ìsomọ̀ ààbò IKE tí a ti fi ìdí rẹ̀ múlẹ̀ àti kò sí ìrìnàjò tí a dáàbò bò, èyí tí ó dà bí àṣìṣe ìtọ́nà títí ìwọ yóò fi gbà á lórí okùn.
Nítorí náà ìkójọpọ̀ jẹ́ ẹ̀yà ti ìsopọ̀ tí ìwọ ń ṣètò, kì í ṣe àbájáde tí àwọn ẹgbẹ́ ń dúnàádúrà lórí rẹ̀ láti ìhùwàsí nẹ́tíwọ́kì.
Bí encap ṣe ń yí ìpààrọ̀ padà
Nínú ìṣàfilọ́lẹ̀ strongSwan òde-òní tí a ń ṣàkóso nípasẹ̀ swanctl.conf, ètò encap = yes lórí ìsopọ̀ ń nípa lórí ìpààrọ̀ ìwádìí NAT kí ẹ̀gbẹ́ méjèèjì lè lo ìkójọpọ̀ UDP fún ESP. Àwọn pákítì tí a dáàbò bò yóò wá rìn nínú UDP, ní deede lórí ibùdókọ̀ 4500, àwọn ìparí méjèèjì sì gbọ́dọ̀ fohùn ṣọ̀kan lórí ètò yẹn.
connections {
site {
encap = yes
# existing approved peer, authentication and child settings
}
}
Ẹ̀ka yẹn jẹ́ ti inú ìtumọ̀ ìsopọ̀ gidi, kì í ṣe àkópọ̀ ojú-ìwé kíkún. Pa àwọn àdírẹ́sì ẹlẹgbẹ́, ìjẹ́rìí àti àwọn olùyan ìrìnàjò child tí ìwọ ti ń ṣiṣẹ́ mọ́; kọ́kọ́rọ́ kan ṣoṣo tí a fi kún un ń yí bí a ṣe ń wé dátà tí a dáàbò bò, kì í ṣe ohun tí ó ń dáàbò bò.
Ìtọ́sọ́nà strongSwan lórí NAT-traversal ń ṣàlàyé ìhùwàsí yìí, pẹ̀lú ìbáṣepọ̀ pẹ̀lú ìlọ́nà ibùdókọ̀ nígbà tí a bá lo MOBIKE.
Lo ètò tí ó jẹ́ ti backend rẹ
strongSwan ní backend ìṣètò méjì, kọ́kọ́rọ́ sì yàtọ̀ láàrin wọn. swanctl.conf ìsopọ̀ ń gba encap, nígbà tí ipsec.conf ìsopọ̀ àtijọ́ ń gba forceencaps. Fífi kọ́kọ́rọ́ ọ̀rọ̀ backend kan sínú èkejì ń dá ìṣètò tí ń gbé wọlé láìsí ẹjọ́ tí kò sì yí ohunkóhun padà, èyí tí ó burú ju àṣìṣe lọ.
Ṣàyẹ̀wò daemon wo ni ó ń ṣiṣẹ́ ní tòótọ́ kí o tó ṣàtúnṣe ohunkóhun. Nínú ọ̀pọ̀ pípín, àwọn fáìlì méjèèjì wà nítorí pé ọ̀kan jẹ́ àṣẹ̀kù ìṣíkiri tẹ́lẹ̀, èyí tí ń ṣiṣẹ́ sì ni èyí tí ẹ̀ka iṣẹ́ ń bẹ̀rẹ̀. Ka ẹ̀ka yẹn dípò kí o máa ṣe àfọwọ́kọ àwọn àmì àkókò fáìlì. Àyẹ̀wò ìṣẹ́jú-ìsẹ́jú márùn-ún níbí ń dènà wíwo ètò tí kò sí ohun tí ó gbé wọlé fún wákàtí púpọ̀.
Lo ìyípadà náà nípasẹ̀ olówó ìsopọ̀ kí o sì tún ìsomọ̀ náà múlẹ̀ nínú fèrèsé tí a ń ṣàkóso. Child tí a ti fi sórí ẹ̀rọ ń pa ìkójọpọ̀ rẹ̀ lọ́wọ́ títí a ó fi rọ́pò rẹ̀, nítorí náà ṣíṣàtúnṣe fáìlì nìkan kò fi hàn pé a ń lo ètò tuntun náà.
Ṣàyẹ̀wò dátà tí a wé, kì í ṣe ibùdókọ̀ nìkan
Gbà á ní ẹnubodè nígbà tí ìrìnàjò tí a dáàbò bò ń ṣàn, lẹ́yìn náà fi wé ìwòye strongSwan fúnra rẹ̀:
$ sudo tcpdump -ni eth0 'udp port 4500' -c 20
$ sudo swanctl --list-sas --ike site
$ sudo ip xfrm state list
native ESP ń farahàn gẹ́gẹ́ bí ìlànà IP 50, kò sì dà bí UDP rárá. ESP tí a wé ń farahàn gẹ́gẹ́ bí dátàgírámù UDP lórí 4500 tí ẹrù wọn kì í ṣe IKE. Ìrìnàjò IKE lórí ibùdókọ̀ kan náà kì í ṣe ẹ̀rí ìkójọpọ̀, nítorí MOBIKE lè gbé IKE lọ síbẹ̀ nígbà tí ọ̀nà dátà ṣì jẹ́ native, nítorí náà ka ẹrù náà, kì í ṣe nọ́mbà ibùdókọ̀.
Rántí MTU ọ̀nà náà pẹ̀lú. Àwòrán ń fi àfikún ìnáwó kún un, ọ̀nà tí ó gbé native ESP sì lè nílò àtúnṣe nígbà tí àwọn pákítì bá ń tóbi. Mímú ICMP tí ó yẹ yóò ti jẹ́ apá kan àpẹrẹ; ìkójọpọ̀ kò mú ìgbẹ́kẹ̀lé yẹn kúrò.
Gba ìyípadà náà nígbà tí ìrìnàjò ohun-èlò tuntun nínú ọ̀nà-ìmọ́ bá farahàn nínú gbígbà gẹ́gẹ́ bí ESP tí a wé ní ìparí méjèèjì, àti nígbà tí iṣẹ́ inú àti ọ̀nà ìpadàbọ̀ rẹ̀ ṣì ń ṣiṣẹ́. Ohunkóhun tí ó kéré ju èyí jẹ́ ìṣètò tí ó dà bí ẹni tí ó tọ́ nínú fáìlì.