WireGuard nínú ààyè orúkọ nẹ́tíwọ́kì: kí ni ó fà á tí socket fi wà lẹ́yìn
Yíyí interface padà kò yí socket UDP tí a fi ààmì pamọ́ kúrò; ó wà nínú ààyè orúkọ ibi tí a ti dá ẹ̀rọ náà. Dá a ní ibi tí ó yẹ.
Interface wà nínú ààyè orúkọ tí o fẹ́, ohun èlò so mọ́ ọ̀n, síbẹ̀ kò sí traffic tunnel tí ń farahàn. Èyí ni àmì ẹ̀rọ WireGuard nínú kernel Linux tí a dá ní ààyè orúkọ kan tí a sì gbé lọ sí èlò mìíràn: interface gbé lọ ṣùgbọ́n socket UDP tí a fi ààmì pamọ́ kò gbé lọ. Àwọn méjèèjì gbọ́dọ̀ wà ní ibi tí ó tọ́ kí traffic inú tó ní ìtumọ̀. Ìwádìí máa ń yára nígbà tí o bá mọ̀ pé ibi méjì ni o gbọ́dọ̀ wò dípọ̀ ọ̀kan.
Àmì: ààyè orúkọ tí ó tọ́, ṣùgbọ́n kò sí packet
Nínú ààyè orúkọ, tunnel dà bí ẹni tí ó ní ìlera. Ẹ̀rọ wà, a ti yan àwọn àdírẹ́sì, àti ètò peer wà. Ní ìòde, pàṣípàṣò UDP tí a retí kò ní farahàn lórí interface tí o ń wò, ẹ̀gbẹ́ kejì sì sọ pé kò sí ìfọwọ́sowọ́pọ̀.
Ìdí ni pé àwọn packet inú ohun èlò dé ẹ̀rọ tí a gbé lọ, ẹ̀rọ náà sì ń gbìyànjú láti fi wọn ránṣẹ́ nípasẹ̀ socket tí ó jẹ́ ti ẹ̀yà nẹ́tíwọ́kì mìíràn. Ọ̀nà ìsàlẹ̀ tí ó ń lò, àti gbogbo òfin firewall tí ó kan an, jẹ́ ti ààyè orúkọ ibi tí a ti dá ẹ̀rọ náà.
Èyí kì í ṣe àbùkù nínú gbígbé lọ, bẹ́ẹ̀ ni kì í ṣe ètò peer tí ó tọ́. Báyìí ni ìmúṣẹ̀ kernel ń ṣiṣẹ́, àwọn ìwé ààyè orúkọ fún WireGuard sì ṣàlàyé òfin ìdá ní tààrà.
Kí ni ó fà á tí socket ní ibi ìbí
Ẹ̀rọ WireGuard ní socket UDP kan fún gbígbé rẹ̀ tí a fi ààmì pamọ́, a sì ń ṣí socket yẹn nínú ààyè orúkọ ibi tí a ti dá ẹ̀rọ náà. Gbígbé interface lọ pẹ̀lú àṣẹ ìlsopọ̀ máa ń gbé ẹ̀rọ tí a rí ṣùgbọ́n ó fi gbígbé sílẹ̀ ní ibi tí ó ti bẹ̀rẹ̀. Nígbà náà àwọn ohun méjì ní olówó yàtọ̀.
Ó rọ̀ láti pàdánù àbájádé náà nítorí pé a ń yẹ ìdajì méjèèjì wò ní ibi yàtọ̀. Ọ̀nà inú ni a ń pinnu nínú ààyè orúkọ ibi tí ohun èlò ń ṣiṣẹ́, ọ̀nà ìta ni a ń pinnu ní ibi tí socket wà. Wíwo ọ̀kan nìkan máa ń fúnní ní ìparí tí ó ní ìgbọ́kànlẹ́ ṣùgbọ́n tí kò tọ́. Wíwo méjèèjì sábà máa ń parí ìwádìí ní ìgbà kan.
Dá a ní ibi tí o fẹ́ socket
Òjùtúú ni láti dá ẹ̀rọ náà sínú ààyè orúkọ àfojúsùn dípọ̀ kí a dá a ní ìta kí a sì gbé e lọ. Ní ríronú pé ààyè orúkọ tí a fọwọ́ sí ti wà tẹ́lẹ̀ àti pé orúkọ náà kò ní lò:
ip netns exec vpn-apps ip link add wg-demo type wireguard
ip netns exec vpn-apps wg show
Ní báyìí interface àti socket rẹ̀ jẹ́ ti ẹ̀yà yẹn, nítorí náà ọ̀nà ìsàlẹ̀ àti àwọn òfin àyọ̀ tí ó wà ní ipa ni àwọn tí a ṣètò níbẹ̀. Bí àpẹrẹ náà bá nílò ẹ̀gbẹ́ tí ó ṣe kedere ní ibòmíràn, kọ́kọ́ gbé interface ìpìlẹ̀ sínú ààyè orúkọ kí o sì dá tunnel náà lẹ́yìn náà. Ìtẹ̀lé náà jẹ́ ara àpẹrẹ, kì í ṣe àlàyé ìmúṣẹ̀.
Gbà wọn bí àṣẹ ìṣàkóso nẹ́tíwọ́kì, kì í ṣe ọ̀nà ìdáná. Wọn ń dá ẹ̀rọ kan wọn sì ń fi ipò hàn; àwọn kọkọ́rọ́, peer, àdírẹ́sì àti ọ̀nà ṣì gbọ́dọ̀ wá láti inú ètò tí a fọwọ́ sí, a kò sì gbọ́dọ̀ rọpò interface ìṣelọ́pọ̀ tí ó wà nínú àpẹrẹ.
Ka ẹ̀gbẹ́ méjèèjì ọ̀nà
Nígbà tí ẹ̀rọ bá wà ní ibi tí ó tọ́, ṣàyẹ̀wò àwọn ìpinnu méjì lọ́tọ̀. Bẹ̀rẹ̀ pẹ̀lú ìwádìí inú láti ẹ̀yà ohun èlò, kí o sì wo ọ̀nà ìta láti ẹ̀yà tí ó ní socket:
ip netns exec vpn-apps ip route get 10.30.0.9
ip netns exec vpn-apps wg show
tcpdump -ni any udp port 51820
Bí ìwádìí inú bá yanjú nípasẹ̀ tunnel tí ìgbà ìta sì fi pàṣípàṣò tí a fi ààmì pamọ́ hàn, ìdajì méjèèjì fẹsẹ̀ṣẹ̀ kan. Bí ìgbà náà bá ṣófo, socket ṣì wà níbòmíràn, tàbí ọ̀nà ìsàlẹ̀ nínú ààyè orúkọ rẹ̀ kò dé ibi ìparí.
Ìwádìí mìíràn tún yẹ kí ó wà nínú àkọsílẹ̀: bí a ṣe ń dá ẹ̀rọ nígbà tí a bá tún bẹ̀rẹ̀. Olùṣàkóso tí ó tún interface dá pẹ̀lú ẹ̀yà ìdá mìíràn máa ń yí ibi ìbí socket padà. Gbígbé lọ pẹ̀lú ọwọ́ tí ó ṣiṣẹ́ lẹ́ẹ̀kan kì í ṣe ẹ̀rí nípa ọ̀nà tí a ń ṣàkóso.