Àwọn alábàáṣepọ̀ OpenVPN kò rí ara wọn: subnet tàbí net30?
Àwọn alábàáṣepọ̀ dé ọ̀dọ̀ olùpínjá ṣùgbọ́n wọn kò dé ọ̀dọ̀ ara wọn. Pín àṣìṣe náà pẹ̀lú ping kan, lẹ́yìn náà yan subnet topology, client-to-client tàbí ẹ̀ka TAP tí a fi afárá so.
Àṣìṣe méjì tí kò ní ìsopọ̀ ń mú ẹ̀dùn kan náà wá. Nínú èkíní, alábàáṣepọ̀ kan kò dé ọ̀dọ̀ ẹlòmíràn pẹ̀lú àdírẹ́sì tunnel pàápàá, nítorí àwọn àdírẹ́sì kò sí nínú subnet kan tàbí olùpínjá kò ń gbé ìrìnàjò jáde láàrín àwọn ẹlẹgbẹ́. Nínú èkejì, ping ń ṣiṣẹ́ ṣùgbọ́n àkójọ ẹ̀rọ app náà wà ní òfìfo, nítorí wíwá ń gbára lé broadcast tí tunnel ìpele 3 kò lè gbé. Ping kan ya wọ́n, àti àtúnṣe ọ̀kọ̀ọ̀kan kò fi bẹ́ẹ̀ jọ àtúnṣe èkejì.
Ping kan pín ìṣòro náà sí méjì
Láti alábàáṣepọ̀ kan, ping àdírẹ́sì tunnel ẹlòmíràn, kì í ṣe orúkọ rẹ̀ àti kì í ṣe àdírẹ́sì LAN rẹ̀. Tí ìyẹn bá kùnà, gbígbé jáde tàbí fífún ní àdírẹ́sì ni ìṣòro náà àti wíwá kò ní í ṣe títí a ó fi tún ṣe. Tí ó bá ṣẹ́gun, gbígbé jáde ń ṣiṣẹ́ tẹ́lẹ̀ àti ohun tí ó kù ni broadcast tàbí yíyanjú orúkọ.
ip addr show tun0
Ka ojú-ìwé ẹ̀rọ alábàáṣepọ̀ kí ohunkóhun kí ó tó, nítorí netmask ni ó ń dárúkọ topology. /24 tàbí mask subnet mìíràn túmọ̀ sí kòtò tí a pín; /30 pẹ̀lú àdírẹ́sì ẹlẹgbẹ́ túmọ̀ sí ìtòlẹ́sẹẹsẹ ojú-ọ̀nà-sí-ojú-ọ̀nà àtijọ́, níbi tí olúkúlùkù alábàáṣepọ̀ ní aládùúgbò kan pàtó, olùpínjá.
net30 lòdì sí subnet, tí a kà láti ẹ̀gbẹ́ alábàáṣepọ̀
| What you observe | net30 | subnet |
|---|---|---|
| Client netmask | /30 with a peer address | The pool's own mask |
| Peers a client can address directly | One, the server | Every client in the pool |
| Addressing | One /30 block per client, with the server as the only peer | One pool mask shared by all clients |
| Effect of client-to-client | Required for any peer traffic | Required for peer traffic, still no broadcast |
Pẹ̀lú net30 olùpínjá ń fún alábàáṣepọ̀ kọ̀ọ̀kan ní dìè keékeré kan, nítorí náà kò sí ọ̀nà sí àdírẹ́sì tunnel alábàáṣepọ̀ mìíràn àyàfi tí olùpínjá bá gbé e jáde. Pẹ̀lú subnet gbogbo kòtò náà jẹ́ nẹ́tíwọ́kì kan, alábàáṣepọ̀ kọ̀ọ̀kan lè pè gbogbo ẹlòmíràn, olùpínjá sì ń gbé jáde láàrín wọn. Ìdí niyẹn tí ìṣètò olùpínjá kan lè dàbí aláìlera nígbà tí ping láàrín àwọn ẹlẹgbẹ́ ń kùnà: kò sí ohun tí ó ti bàjẹ́, àwọn alábàáṣepọ̀ kò kan wà nínú nẹ́tíwọ́kì kan. Alábàáṣepọ̀ rí ìsopọ̀ tí ń ṣiṣẹ́ àti àdírẹ́sì ẹlẹgbẹ́ tí kò dáhùn, èyí tí a kà bí firewall ṣùgbọ́n ó jẹ́ ìtòlẹ́sẹẹsẹ àdírẹ́sì.
Yíyí directive padà jẹ́ àtúnṣe ní ẹ̀gbẹ́ olùpínjá pẹ̀lú àtúnbẹ̀rẹ̀, ó sì kan ìsopọ̀ tó ń bọ̀ kì í ṣe àwọn ìpàdé tí ó ti ṣí. So àwọn alábàáṣepọ̀ mọ́ ẹ̀ẹ̀kan sí i kí o tó ṣe àgbéléwò ìyípadà náà. Tí ẹ̀rọ bá tún ṣẹ̀dá ìṣètò náà láti ojú-ìwé wẹ́ẹ̀bù, kọ directive, fáìlì àti ọjọ́ sílẹ̀, kí o sì ṣe àtúnṣe náà nípasẹ̀ ojú-ìwé nígbà tí ó bá wà, nítorí àtúntò yóò pa àtúnṣe ọwọ́ rẹ́ ní ìgbà ìfipamọ́ tó ń bọ̀.
client-to-client jẹ́ ẹnubodè ọ̀tọ̀
Pàápàá nínú subnet kan, olùpínjá ń sọ àwọn pákẹ́tì tí ó ti alábàáṣepọ̀ kan wá tí a sì dá sí ẹlòmíràn nù àyàfi tí client-to-client bá wà. Ọ̀rọ̀ kókó yẹn yí olùpínjá padà sí olùgbéjáde fún ìrìnàjò láàrín àwọn ẹlẹgbẹ́ dípò ibi ìparí tí ó kàn ń gbà á. Ìyẹn ni ipò kejì tí àwọn ènìyàn ń gbàgbé lẹ́yìn àtúnṣe topology.
Èyí kò kan broadcast. Ìṣètò náà ń gbé unicast jáde láàrín àwọn alábàáṣepọ̀; kò sọ tunnel di ẹ̀ka tí a pín, kí ó sì jẹ́ pé iye rẹ̀ yóò fi ìbéèrè wíwá multicast dé ọ̀dọ̀ gbogbo ẹlẹgbẹ́.
TUN lòdì sí TAP, àti ohun tí ọ̀kọ̀ọ̀kan lè gbé
| Property | TUN | TAP |
|---|---|---|
| Layer | Layer 3, IP packets | Layer 2, Ethernet frames |
| Broadcast and multicast | Not carried | Carried |
| Bridging to the LAN | Not applicable | Required for a shared segment |
| Client platform support | Everywhere | Missing on Android and iOS, limited on macOS |
Fífi afárá so ẹ̀rọ tap sínú LAN ń gbé àwọn alábàáṣepọ̀ tí ó jìnnà sínú ẹ̀ka broadcast ti ọ́fíìsì, èyí tí ó yanjú wíwá pátápátá. Iye ni àwọn pẹpẹ tí kò ṣe TAP, afárá tí ó gbọ́dọ̀ wà lórí olùpínjá, àti ẹ̀ka ìkùnà níbi tí ìjì broadcast lórí okùn ọ́fíìsì ti dé gbogbo kọ̀mpútà gbé-n-rìn tí ó jìnnà.
Fún àwọn ibùdó iṣẹ́ méjì tàbí mẹ́ta tí ó nílò yíyanjú orúkọ, àkọsílẹ̀ hosts tàbí àdírẹ́sì unicast rẹ̀ pọ̀ ju afárá lọ. Yíjú sí TAP nígbà tí ìlànà tí o kò lè rọ́pò bá gbára lé wíwá ìpele 2, kì í ṣe kí ó tó.
Àwọn alábàáṣepọ̀ subnet kan láìsí afárá
Fífún ní àdírẹ́sì láti ìwọ̀n LAN kò gbé alábàáṣepọ̀ sórí okùn. Olùpínjá ń ṣe ọ̀nà láàrín tunnel àti Ethernet, nítorí náà ARP fún àdírẹ́sì yẹn dúró ní ojú-ìwé olùpínjá, ẹ̀yà LAN tó kù kò sì mọ ibi tí ó ń gbé.
ip neigh add proxy 10.50.1.250 dev eth0
Proxy ARP dí ààlà yẹn nípa jẹ́ kí olùpínjá dáhùn ní orúkọ alábàáṣepọ̀. Fún ìwọ̀n kan, parpd ń ṣàkóso àwọn àkọsílẹ̀ bí àwọn alábàáṣepọ̀ ṣe ń wá tí wọ́n sì ń lọ, nígbà tí sysctl net.ipv4.conf.eth0.proxy_arp=1 ń dáhùn fún gbogbo ohun tí a ń darí sí ibòmíràn, èyí tí ó gbòòrò tó láti ṣẹ̀dá ìyàlẹ́nu tirẹ̀ lórí ẹ̀ka tí ó kún.
Ọ̀nà tí o bá yàn, yọ NAT kúrò láàrín tunnel àti okùn. Ìlànà MASQUERADE ń fi ìbéèrè àdírẹ́sì tí o ń gbìyànjú láti dáhùn pamọ́ gan-an. Ó tún fi topology tí ẹnìkan tó ń bọ̀ kò lè ronú lé lórí láti ẹ̀gbẹ́ alábàáṣepọ̀ sílẹ̀.
Kí o tó yí ohunkóhun padà, mú ìgbìyànjú kan lórí olùpínjá pẹ̀lú tcpdump -ni tun0 kí o sì jẹ́rìí bóyá pákẹ́tì ẹlẹgbẹ́ ń dé rárá. Dídé tí a sì sọ ọ́ nù ń tọ́ka sí client-to-client; àìdé rárá ń tọ́ka sí topology tàbí ìdarí. Ìwé ìtọ́sọ́nà OpenVPN 2.6 ṣàkọsílẹ̀ àwọn kókó ọ̀rọ̀ méjèèjì àti topology àkọ́kọ́, èyí tí ó yẹ kí a fi wé ẹ̀dá rẹ kí o tó dà á láti ìfiránṣẹ́ fọ́ọ̀mù.
- Ojú-ìwé tun ń fi mask kòtò hàn dípò bíi ẹlẹgbẹ́ /30.
- Ping tààrà sí àdírẹ́sì tunnel mìíràn ń ṣẹ́gun kí o tó dán wíwá wò.
- Ìṣètò olùpínjá ní
client-to-clientnígbàkigbà tí àwọn ẹlẹgbẹ́ bá ní láti pààrọ̀ pákẹ́tì. - Dárúkọ ìlànà wíwá tí o ń dán wò dípò sísọ pé app náà kùnà.
- Lo TAP nìkan tí gbogbo pẹpẹ alábàáṣepọ̀ nínú ẹgbẹ́ bá ṣe àtìlẹ́yìn fún un.
- Jẹ́ kí NAT wà ní òde ọ̀nà láàrín tunnel àti LAN nígbà tí ìdèékúró nínú subnet kan ṣe pàtàkì.