OpenVPN iroute àti Ọ̀nà Kernel: Èwo Ni Ó Ń Ṣàìsí?
Sérúpọ́sì náà ní ọ̀nà kan, ṣùgbọ́n ìrìnàjò ṣì dúró. Ìpinnu ọ̀nà kan jẹ́ ti kernel, èkejì jẹ́ ti peer; kọ́ èwo ni ó ṣàìsí àti ohun tí o gbọ́dọ̀ yẹ̀wò.
Pákẹ́tì kan tí ó ń lọ sí 10.77.20.0/24 gba ìpinnu méjì ọ̀tọ̀ọ̀tọ̀ lórí sérúpọ́sì OpenVPN: operating system gbọ́dọ̀ fi í fún VPN interface, OpenVPN sì gbọ́dọ̀ mọ̀ iklayenti tí ó so mọ́ tí ó ni àkójọ àdírẹ́sì yẹn. Bí ọ̀nà kernel kò bá sí, a ju pákẹ́tì náà nù kí ó tó dé inú tunnel; bí ọ̀nà peer kò bá sí, a ju ú nù lẹ́yìn tunnel. Àwọn ìkùnà méjèèjì yìí dà bí ẹni kan nígbà tí a bá wò ó láti LAN jínjìn, láti mọ èwo ni ó wà lọ́wọ́ rẹ sì gba àṣẹ kan ní ẹ̀gbẹ́ kọ̀ọ̀kan.
Nínú ọ̀nà dátà userspace ti ìgbà àtijọ́, ọ̀nà kernel máa ń kó pákẹ́tì náà wọ inú ètò tunnel, iroute sì sọ fún ètò yẹn èwo peer ni ó gbọ́dọ̀ gbà á. Ẹ̀kọ́ọ̀kan kò rọ́pò èkejì, ìṣètò tí ó ní ọ̀kan nínú wọn yóò sì dà bí ẹni tí ó tọ́ títí dé ìgbà ping àkọ́kọ́.
Ìpinnu Méjì, Kì Í Ṣe Ọ̀nà Kan
Ronú nípa ìsopọ̀ site-to-site kan níbi tí 10.77.20.0/24 wà lẹ́yìn iklayenti kan ṣoṣo. Ọ̀nà kernel sérúpọ́sì, fún àpẹrẹ ip route add 10.77.20.0/24 dev tun0, máa ń fi àwọn pákẹ́tì tí ó bá mu lọ sí ẹ̀rọ tunnel. Lẹ́yìn náà OpenVPN yóò wo tábìlì inú tirẹ̀, tí a kọ́ láti àwọn àkọsílẹ̀ iroute nínú àpò ìṣètò iklayenti, láti pinnu irú ìsopọ̀ peer wo ni yóò gbà wọ́n. Láìsí ọ̀nà kernel, pákẹ́tì kò ní dé ètò náà rárá; láìsí ọ̀nà peer, ó máa dé ètò náà ṣùgbọ́n kò ní lọ sí ibikíbi.
Ó rọ̀rùn láti gbàgbé ìpín yẹn, nítorí ìlà ọ̀nà kan ṣoṣo nínú profile iklayenti lè dà bí ẹni tí ó ń ṣe iṣẹ́ méjèèjì. Kì í ṣe bẹ́ẹ̀: fífi ọ̀nà ránṣẹ́ ń sọ fún àwọn iklayenti ohun tí wọ́n gbọ́dọ̀ fi ránṣẹ́ gba tunnel, nígbà tí iroute ń sọ fún sérúpọ́sì ẹni tí ó ni ìwọ̀n àdírẹ́sì kan lẹ́yìn iklayenti. Wọ́n wà nínú àwọn fáìlì ọ̀tọ̀ọ̀tọ̀, ẹ̀gbẹ́ ọ̀tọ̀ọ̀tọ̀ ni ó ń kà wọ́n, wọ́n sì ń kùnà ní ọ̀nà òdìkejì.
Ibẹ̀ Ni iroute Yẹ Àti Ohun Tí Ó Ń Sọ
Àkọsílẹ̀ náà ń lọ sínú fáìlì kan fún iklayenti kọ̀ọ̀kan, tí a dárúkọ gẹ́gẹ́ bí common_name iklayenti, lábẹ́ client-config-dir, ní ìrísí iroute 10.77.20.0/24. Ìbámu orúkọ fáìlì kì í ṣe ojú-ni-ojú: OpenVPN ń wá ẹni tí a ti jẹ́rìí sí, ó sì ń ka fáìlì tí ó ní orúkọ yẹn gan-an, nítorí náà fáìlì tí a pè ní site-a kò ní ipa lórí ẹnikẹ́ni bí kò ṣe iklayenti tí common name rẹ̀ jẹ́ site-a. Fi ccd-exclusive kún un bí ó bá yẹ kí a kọ̀ àwọn iklayenti tí kò ní irú fáìlì bẹ́ẹ̀ lẹ́sẹ̀kẹsẹ̀, èyí sì ni ìṣètò tí ó tọ́ nígbà tí gbogbo iklayenti jẹ́ gateway site. Pa fáìlì kan mọ́ fún gateway kọ̀ọ̀kan, kí o sì dárúkọ rẹ̀ gẹ́gẹ́ bí subject certificate tí o ń fúnni gan-an.
Dán àkọsílẹ̀ náà wò láti sérúpọ́sì kí o tó dá LAN jínjìn lẹ́bi. Fáìlì ipò ń ṣe àkójọ àwọn iklayenti tí ó so mọ́ pẹ̀lú common name wọn, sérúpọ́sì tí ń ṣiṣẹ́ pẹ̀lú --verb 4 sì ń kọ ìgbékalẹ̀ iroute sínú log bí peer ṣe ń so mọ́. Bí kò bá sí ohun tí ó farahàn ní àkókò ìsopọ̀, fáìlì náà wà nínú àpò tí kò tọ́ tàbí ó ń pe ẹni tí kò tọ́.
Páànù Náà: Fáìlì Wà, Ẹni Tí Kò Tọ́
iroute tí ó dà bí ẹni tí ó tọ́ ṣùgbọ́n tí a so mọ́ peer tí kò tọ́ ń gbà àkókò jù fáìlì tí ó ṣàìsí lọ, nítorí ohun gbogbo lórí disk dà bí ẹni tí ó tọ́. Yíyí orúkọ certificate padà, common name tí ó ń ṣe é lẹ́ẹ̀mejì, àti username-as-common-name tí ó ń yí ẹni tí ó ní ipa padà, gbogbo wọn ń mú èyí wá. Ṣàyẹ̀wò ẹni tí sérúpọ́sì ti jẹ́rìí sí dípò ẹni tí o retí: àbájáde ipò ni ó ṣeé gbẹ́kẹ̀lé, nígbà tí orúkọ fáìlì kì í ṣe àmì ìwádìí nìkan.
Ọ̀nà tún lè wà pẹ́ ju ẹni tí ó ni í lọ. Àwọn ọ̀nà static àti àwọn àkọsílẹ̀ iroute ń ṣàpèjúwe àkójọ àdírẹ́sì kan, wọn kì í ṣe ìdánilójú wíwà, nítorí náà ìrìnàjò lè máa bá a lọ sí ọ̀nà peer tí ó ti já kuro ní àkókò yẹn.
Parí Ọ̀nà Náà Kọjá Peer
Nínú peer ni àárín ọ̀nà wà, kì í ṣe òpin rẹ̀. Iklayenti gbọ́dọ̀ fi àwọn pákẹ́tì ránṣẹ́ láti tunnel sínú LAN tirẹ̀, èyí sì túmọ̀ sí pé IP forwarding gbọ́dọ̀ wà lórí ẹ̀rọ yẹn àti pé ìlànà firewall kan gbọ́dọ̀ gbà á láàyè kọjá. Àwọn ẹ̀rọ inú LAN jínjìn nílò ọ̀nà ìpadà fún àdírẹ́sì tunnel: yálà ọ̀nà tí ó ń tọ́ka padà sí gateway tàbí ètò NAT tí a mọ̀ọ́mọ̀ ṣe ní ẹ̀gbẹ́ iklayenti. Jẹ́rìí ìṣètò forwarding lórí iklayenti pẹ̀lú sysctl net.ipv4.ip_forward dípò kí o ro pé àpapọ̀ àìdásí tí distribution ni.
Bí àwọn iklayenti VPN mìíràn bá gbọ́dọ̀ dé àkójọ àdírẹ́sì yẹn, ètò náà tún gbòòrò sí i: sérúpọ́sì nílò client-to-client, àwọn iklayenti yẹn sì nílò láti fi àkójọ àdírẹ́sì náà gba tunnel. Kò sí ọ̀kan nínú wọ́n tí tábìlì ọ̀nà sérúpọ́sì fúnra rẹ̀ ń sọ.
Jẹ́rìí ibi-ìlọ kan láti orísun gidi dípò láti sérúpọ́sì fúnra rẹ̀. Ping láti ẹ̀rọ LAN tí kò ní í ṣe pẹ̀lú ọ̀rọ̀ sí ẹ̀rọ tí ó wà lẹ́yìn iklayenti ń dán ọ̀nà ìpadà, ìlànà forwarding àti nínú peer wò ní ìgbésẹ̀ kan ṣoṣo, nígbà tí handshake tí ó ṣàṣeyọrí ń fi ẹni nìkan hàn. Lẹ́yìn náà gé peer tí ó ni í kuro, kí o sì kọ ohun tí ọ̀nà náà ń ṣe, nítorí ìdáhùn yẹn ni irú ìkùnà rẹ.