WireGuard kò lè dá interface rẹ̀, nítorí náà kò sí ẹ̀rọ láti ṣètò, kò sí kọ́kọ́rọ́ láti pàṣípàrọ̀, kò sì sí ọwọ́ pàdé láti ṣàtúnṣe. Ìkùnà náà wà pátápátá lórí ẹ̀rọ àdúgbò, àti pé àkọsílẹ̀ àṣìṣe sọ apá tí stack àdúgbò kọ̀. Kíka rẹ̀ tọ́ yára ju kíkó ìṣètò peer padà lọ. Àwọn ìpele lè yà sọ́tọ̀, àti pé ìfiránṣẹ́ náà dárúkọ ìpele tó kọ̀.

Àṣìṣe náà ṣẹlẹ̀ ṣáájú kí ẹnikẹ́ni peer tó sọ̀rọ̀

Dídá interface jẹ́ ìbéèrè netlink kan ṣoṣo sí kernel fún ẹ̀rọ irú wireguard. Kernel ní driver tó gbọ́ irú yẹn tàbí kò ní, ìdáhùn sì ń padà wá lẹ́sẹ̀kẹsẹ̀. Kò sí pákẹ́ẹ̀tì tó ń fi ẹ̀rọ náà sílẹ̀ ní ìgbésẹ̀ yìí, ìdí nìyẹn tí àwọn àdírẹ́sì òpin àti kọ́kọ́rọ́ server kò lè jẹ́ ìdí.

Ìtò yẹn ṣe pàtàkì fún àyẹ̀wò àrùn. Tí àṣẹ náà kò bá dá ẹ̀rọ rárá, ìṣòro náà kò lè jẹ́ kọ́kọ́rọ́ gbangba tí kò tọ́ tàbí ebute UDP tí wọ́n dí. Tún ọ̀nà dídá àdúgbò ṣe kí ó tọ́, lẹ́yìn náà ni kí o wo ìta.

Irú ìmúṣẹ wo ni ó yẹ kí ó ni ẹ̀rọ náà

Ìmúṣẹ méjì lè dáhùn ìbéèrè yẹn. Module inú kernel ń forúkọsílẹ̀ irú ẹ̀rọ wireguard, ìmúṣẹ kan nínú ààyè olùṣàmúlò bí wireguard-go sì ń pèsè interface kan náà nípasẹ̀ ọ̀nà mìíràn. Tí module kò bá sí, kernel kọ̀ ìbéèrè náà pẹ̀lú àṣìṣe ẹ̀rọ tí a kò tíì gbà, ìtúnṣe sì ni láti gbé module náà tàbí láti darí àwọn irinṣẹ́ sí ìmúṣẹ inú ààyè olùṣàmúlò.

Ṣàyẹ̀wò ohun tó wà ní tòótọ́ kí o tó yan láàrin àwọn méjèèjì. Àṣẹ àkọ́kọ́ fi hàn bóyá module náà ti gbé, àṣẹ kejì sì béèrè lọ́wọ́ kernel tààrà:

lsmod | grep wireguard
ip link add wgtest0 type wireguard

Àṣẹ kejì ni àtúnṣe tí ó kéré jùlọ tó ṣeé ṣe: ó béèrè ẹ̀rọ kan, kò sì béèrè ohunkóhun mìíràn. Tí ó bá kùnà pẹ̀lú ìfiránṣẹ́ irú tí a kò gbà, apá tó ṣẹ́ kù ni ìmúṣẹ náà, kì í ṣe fáìlì ìṣètò rẹ.

Error textWhat refusedNext step
Unknown device type or operation not supportedThe kernel has no wireguard driverLoad the module or use the userspace implementation
Operation not permittedMissing privilegeUse the service context or grant the capability
File existsThe name is already in useInspect the owner before touching it
No such device in a containerNo tunnel device or capabilityAdd the device and NET_ADMIN to the container

Àwọn àṣẹ àti ààlà container

Dídá àti ṣíṣètò ẹ̀rọ nẹ́tíwọ́kì nílò àṣẹ, yálà gẹ́gẹ́ bí root tàbí pẹ̀lú agbára láti ṣàkóso nẹ́tíwọ́kì. Ìpàdé olùṣàmúlò láàárín kò lè ṣe é, àti pé ìhámọ́ yẹn ni àpẹẹrẹ ìdásílẹ̀, kì í ṣe ìdènà tí a gbọdọ̀ yẹ̀ kọjá nípasẹ̀ lílo installer tí o kò ṣàyẹ̀wò.

Nínú container ààlà náà di ìlọ́po méjì. Container nílò ààyè sí ẹ̀rọ tunnel àti agbára láti ṣètò rẹ̀, àwọn àsíá tó ń fúnni ní yìí sì jẹ́ irú kan náà tí container VPN lórí Linux ń lò. Àlejò tí a hámọ́ tó lè ṣàwárí wẹ́ẹ̀bù déédéé kò tíì lè dá interface, nítorí ṣíṣàwárí wẹ́ẹ̀bù kò nílò irú agbára bẹ́ẹ̀. Fi agbára náà fún iṣẹ́ tó nílò rẹ̀, kì í ṣe fún gbogbo ìpàdé lórí host.

Yanjú ìforígbá orúkọ náà, lẹ́yìn náà gbìyànjú lẹ́ẹ̀kan sí i

Interface tó wà tẹ́lẹ̀ kì í ṣe àṣẹ́kù lẹ́ẹ̀kọ̀ọ̀kan. Olùṣàkóso mìíràn lè ni orúkọ náà lọ́wọ́, ó sì lè ń lò ó ní báyìí, nítorí náà ṣàyẹ̀wò rẹ̀ kí o tó pa ohunkóhun rẹ́:

ip link show wg0
sudo wg show wg0

Tí ẹni tó ni í bá jẹ́ iṣẹ́ tó ń ṣiṣẹ́, ṣètò iṣẹ́ yẹn dípò dídá ẹ̀rọ kejì. Tí ó bá ti di àtijọ́ ní tòótọ́, yọ ọ́ kúrò nípasẹ̀ irinṣẹ́ tó dá a, lẹ́yìn náà gbé interface náà sókè pẹ̀lú ẹrọ alátìlẹ́yìn tàbí ẹ̀yà tí a kọ sílẹ̀ kí ìṣètò àti ẹ̀rọ náà lè wà ní ìbámu.

Ní kété tí dídá náà bá yọrísí, ìkùnà tó kàn ni ó jẹ́ ti ìpele tó pẹ́ jù, àti pé ẹ̀yà tó ń ròyìn ìkùnà lẹ́yìn tí ẹ̀rọ náà ti wà jẹ́ ìṣòro mìíràn ju ẹ̀rọ tí a kò dá rárá. Ya àwọn méjèèjì sọ́tọ̀ kí o tó tún àṣẹ náà padà.

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