Fífọ káṣì ọ̀nà ni ìmọ̀lára àkọ́kọ́ nígbà tí ìyípadà kò bá ṣiṣẹ́, àti lórí Linux òde òní, iṣẹ́ asán ni: wọ́n yọ káṣì ọ̀nà IPv4 àgbáyé kúrò ní ọ̀dún púpọ̀ sẹ́yìn, nítorí náà ip route show cache kò tẹ̀wé rárá, kò sí nnkan láti fọ̀. Ipò tí ń tàn ọ́ jẹ́ ń gbé ní ìpele kan sókè: nínú socket, ìtẹ̀wé NAT, olùyẹ̀jáde tàbí olùṣàkóso nẹ́tíwọ́kì tí ó tún lo profáìlì àtijọ́. Ìbéèrè mẹ́ta ń yà àwọn ipò yẹn: ṣé ọ̀nà tí kò tọ́ ń wá láti inú ìṣàn tuntun tàbí ìsopọ̀ àtijọ́, ṣé pẹpẹ rẹ ń káṣì àwọn ọ̀nà rárá, àti ṣé ipò wà nínú ìtọ́nà tàbí lórí rẹ̀. Dáhùn wọ́n kí o tó tún eto interface ṣe.

Ìgbésẹ̀ kìíní: ṣé ọ̀nà àtijọ́ ń wá láti inú ìṣàn tuntun?

Ìsopọ̀ tí a ti dá ń pa ọ̀nà tí a fi dá a mọ́. Ìdí nìyẹn tí ìpàdé SSH lórí ọ̀nà abẹ́lẹ̀ fi ń ye ìyípadà tábìlì ìtọ́nà, nígbà tí ìpàdé tuntun ń gba ọ̀nà tuntun lẹ́sẹ̀kẹsẹ̀, àti ìdí tí «ìyípadà kò ṣe nnkan» fi sábà túmọ̀ sí «socket àtijọ́ ṣì ń di í mú». Dánwò pẹ̀lú ìlànà tuntun, kì í ṣe pẹ̀lú fèrèsé tí o ti ṣí.

ss -tnp | head
ip route get 1.1.1.1
curl -m 5 -sS -o /dev/null -w '%{remote_ip}
' https://example.com

Àṣẹ tó kẹ́yìn ń tẹ̀wé àdírẹ́sì tí ìsopọ̀ tuntun gbá dé ní ti gidi, ìyẹn sì ni ọ̀nà tó pọ̀ jù láti rí ọ̀nà gidi láìní ìgbẹ́kẹ̀lé nínú fèrèsé ipò. Fi wé àdírẹ́sì orísun tí namespace tàbí interface yẹ kí ó lò.

Bí ìṣàn tuntun bá gba ọ̀nà tó tọ́ tí èyí àtijọ́ kò sì gbá padà, dáwọ́ wo ìtọ́nà. Ọ̀nà tọ́; ìpàdé àtijọ́.

Ìgbésẹ̀ kejì: ṣé pẹpẹ rẹ ń pa káṣì ọ̀nà mọ́?

Lórí Linux ìdáhùn ni rárá, ní ìtumọ̀ tí ọ̀pọ̀ ìtọ́nisọ́nà ń ní lọ́kàn. Kò sí káṣì ibi-àfojúsùn àgbáyé láti dà nù, àti àkọsílẹ̀ fún socket kọ̀ọ̀kan tí ń pa ọ̀nà tí a yàn mọ́ ni wọ́n ń tú sílẹ̀ pẹ̀lú socket. Apá káṣì nínú ìwé ìtọ́nisọ́nà ip-route ń ṣàpèjúwe ìhùwàsí ìtàn, kì í ṣe nnkan tí o lè fọ̀ lórí kérnélì ìsinsìnyí.

Àwọn pẹpẹ mìíràn yàtọ̀, àti níbí ni àdàkọ ìmọ̀ràn ti ń lọ́nà tí kò tọ́. Windows ń pa káṣì ibi-àfojúsùn mọ́ tí o lè fọ̀ pẹ̀lú netsh interface ip delete destinationcache. BSD àti macOS ń fi ìwádìí fún ibi-àfojúsùn kọ̀ọ̀kan hàn nípasẹ̀ route -n get, àwọn káṣì wọn sì ń parí ní ìbámu pẹ̀lú ìtòlẹ́sẹẹsẹ wọn. Àṣẹ tí ń ṣiṣẹ́ lórí ọ̀kan nínú àwọn yìí kò ṣe nnkan rárá lórí Linux, ìdí nìyẹn tí àtúnṣe kan náà fi dàbí ẹni tí ó kùnà fún ìlàjì àwọn tí ń dánwò.

Tábìlì NAT tàbí conntrack kì í ṣe káṣì ọ̀nà, bí ó tilẹ̀ ń mú àmì kan náà wá. Ìṣàn tí a túmọ̀ kí ìyípadà rẹ tó wáyé ń pa ìtumọ̀ rẹ̀ mọ́, àti conntrack -L yóò fi í hàn pẹ́ lẹ́yìn tí ìlànà ìtọ́nà ti lọ síwájú. Ipò àtijọ́ niyẹn, ṣùgbọ́n fífọ àwọn ọ̀nà kò ní fi ọwọ́ kàn án.

Ìgbésẹ̀ kẹta: ṣé ipò wà nínú ìtọ́nà tàbí lórí rẹ̀?

Ka ìwádìí ìsinsìnyí kí o tó ka nnkan mìíràn: ip route get fún ibi-àfojúsùn, lẹ́yìn náà àṣẹ kan náà pẹ̀lú from àti àdírẹ́sì orísun, lẹ́yìn náà ip rule show. Bí àwọn mẹ́ta yìí bá bá èrò rẹ mu, ìtọ́nà kì í ṣe ìpele tí a lè túnṣe, àti àkíyèsí àtijọ́ wá láti ibòmíràn.

Àwọn afura mẹ́ta tí ó wọ́pọ̀ jókòó lórí ìtọ́nà. Olùṣàkóso nẹ́tíwọ́kì lè tún fi ọ̀nà sísọ láti inú profáìlì tí a fipamọ́ lẹ́yìn àwọn ìṣẹ́jú àáyá díẹ̀ tí o bá pa á rẹ́, nítorí náà ìyípadà rẹ dàbí ẹni tí ó ń padà; ṣàyẹ̀wò nmcli connection show --active àti ipò ẹ̀yà kí o tó tún tábìlì ṣàtúnṣe. Káṣì olùyẹ̀jáde ń dá àdírẹ́sì àtijọ́ padà, èyí tí ó dàbí ìkùnà ìtọ́nà títí o fi béèrè orúkọ kan náà pẹ̀lú irinṣẹ́ tí ó forí káṣì. Àkójọ ìsopọ̀ ohun-èlò kan ń pa socket tí ń ṣiṣẹ́ sí ibi-àfojúsùn àtijọ́ mọ́, kò sì béèrè ìpinnu tuntun lọ́wọ́ kérnélì rárá.

Àwọn ìdáhùn mẹ́ta ń jẹ́ kí o parí nnkan wo

Da àwọn ìdáhùn pọ̀, àtúnṣe sábà ń sọ ara rẹ̀. Ìṣàn tuntun tí ó gba ọ̀nà tí kò tọ́ lórí pẹpẹ tí kò ní káṣì ọ̀nà túmọ̀ sí pé ìlànà kò tọ́ ní ti gidi, nítorí náà ka àwọn ìlànà àti tábìlì tí ọ̀nà abẹ́lẹ̀ fi sísọ. Ìṣàn tuntun tí ó gba ọ̀nà tó tọ́ nígbà tí ìpàdé àtijọ́ ń dì túmọ̀ sí pé ìṣòro wà nínú ohun-èlò tàbí socket. Àwọn ọ̀nà tó tọ́ pẹ̀lú àkíyèsí tí ó já ní ọ̀nà méjèèjì túmọ̀ sí pé ipò wà lórí ìtọ́nà.

Kọjú ìgbésẹ̀ ìmúdọ̀tun gbogbogbòò. Àtúnbẹ̀rẹ̀ àkójọ nẹ́tíwọ́kì tàbí pípa gbogbo ọ̀nà rẹ́ lórí ẹ̀rọ tí ọ̀nà àkọ́kọ́ rẹ̀ jẹ́ ọ̀nà abẹ́lẹ̀ lè gé ìsopọ̀ tí o ń lò láti tún un ṣe, yóò sì ba ẹ̀rí tí ìbá sọ ìpele tó kùnà jẹ́.

Bí ó bá yẹ kí o fọ nnkan ní ti gidi, fọ nnkan tó kéré jù tí ó bá àyẹ̀wò mu: àwọn socket ìlànà kan, àkọsílẹ̀ conntrack kan, káṣì olùyẹ̀jáde. Lẹ́yìn náà tún ìdánwò ìṣàn tuntun kan náà ṣe, kí o sì kọ ohun tí ó yí padà.

Pa àwọn ipò mẹ́ta mọ́ lọ́tọ̀ nínú àwọn àkọsílẹ̀ rẹ

Ìṣètò tí a fipamọ́, ìwádìí ìsinsìnyí àti ìṣàn tí a kíyèsí jẹ́ òtítọ́ mẹ́ta tí ó yàtọ̀, àti dídà wọ́n pọ̀ sínú «káṣì» ni ohun tí ń jẹ́ kí àbùkù ṣòro láti tún ṣe. Kọ profáìlì tàbí ẹ̀yà tí ó ni ọ̀nà, àbájáde ip route get, àti orísun àti ibi-àfojúsùn ìsopọ̀ gidi.

Kọ pẹpẹ àti ẹ̀dà alábàárà lẹ́gbẹ̀ẹ́ wọn, nítorí àtúnṣe tí ń fọ káṣì ibi-àfojúsùn Windows kì í ṣe àtúnṣe tí ó wúlò fún agbàlejò Linux, àti ìlànà tí a dàkọ láàrín méjèèjì ń kọ́ ẹ̀kọ́ tí kò tọ́. Nígbà tí o bá fi ìṣòro náà lé ẹlòmíràn lọ́wọ́, àwọn ìlà mẹ́ta yẹn ń jẹ́ kí ó tún ipò tí ó kùnà ṣe dípò kí ó ṣe àfojúsùn.

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