Yíya Pi padà láti Wi-Fi sí okùn dàbí iṣẹ́ ìṣẹ́jú márùn-ún, yóò sì wà bẹ́ẹ̀ níkan tí o bá ka ìgbéga náà sí ètò mẹ́rin ọ̀tọ̀ọ̀tọ̀ dípò ọ̀kan. Orúkọ ìparí tí àwọn alábàáṣe iṣẹ́ rẹ ń pè lè wà bí ó ti jẹ́ gan-an nígbà tí àdírẹ́sì tó wà nísàlẹ̀ ń yípadà. Ohun tí ń bàjẹ́ ní ti gidi ni olùgbọ́ tí a so mọ́ àdírẹ́sì àtijọ́, gbígbé ibùdókọ̀ tí ó ṣì ń tọ́ka sí ìyáwó aláìfọwọ́, tàbí ipa ọ̀nà ìpadàbọ̀ tí ó ń jáde gba ẹ̀ka tí o rò pé o ti fà sẹ́yìn. Ìtọ́sọ́nà yìí ń dá ipa ọ̀nà ìmúpadàbọ̀ sílẹ̀ ní gbogbo ìgbésẹ̀, nítorí náà ìyípadà tí ó kùnà ń ná ìtúnpadà kan ṣoṣo.

Kọ àwọn olùṣàkóso mẹ́rin sílẹ̀ kí o tó yọ ohunkóhun kúrò

Ètò mẹ́rin ló ń pinnu bóyá ìyípadà yóò yè: àdírẹ́sì Pi, àdírẹ́sì ìdè OpenVPN, ibi-àfojúsùn ìtọ́sọ́nà olùdarí àti ipa ọ̀nà tí àwọn ìdáhùn ń gbà. Kọ gbogbo mẹ́rẹ̀ẹ̀rin kí o tó fọwọ́ kan okùn, nítorí nígbà tí ìyáwó aláìfọwọ́ bá pàdánù, o kò lè ka àwọn iye àtijọ́ mọ́ láti inú ẹ̀rọ. Ẹ̀ka okùn kò jogún àpèjúwe aláìfọwọ́, àti ní Bookworm àdírẹ́sì wà nínú NetworkManager nígbà tí Bullseye ń pa á mọ́ nínú dhcpcd.conf. Ìforúkọsílẹ̀ tí ó so àdírẹ́sì MAC aláìfọwọ́ kò sọ ohunkóhun nípa eth0. Ka àdírẹ́sì tuntun náà sí ìpín tuntun tí ó nílò ẹ̀rí tirẹ̀.

Old wireless lease:   10.42.7.24/24 on wlan0
New wired address:    10.42.7.31/24 on eth0
Client endpoint:      vpn.lab.example:1194/udp

Olùgbọ́ ni olùṣàkóso kejì. Tí a bá dá iṣẹ́ náà sílẹ̀ pẹ̀lú àdírẹ́sì ìdè pàtó kan, sokẹ́ẹ̀tì yóò kú pẹ̀lú ẹ̀ka àtijọ́; tí ó bá so gbogbo àdírẹ́sì pọ̀, sokẹ́ẹ̀tì yóò yè, ìlànà olùdarí yóò sì di ohun kan ṣoṣo tí ó kù láti túnṣe.

Ibi-àfojúsùn ìtọ́sọ́nà àti ipa ọ̀nà ìpadàbọ̀ ni àwọn olùṣàkóso tí àwọn ènìyàn ń kọjá. Ìtọ́sọ́nà tí ó ṣì ń tọ́ka sí 10.42.7.24 ń fi ìfọwọ́sowọ́pọ̀ tí ń dé ránṣẹ́ sí àdírẹ́sì tí Pi kò ní mọ́, nítorí náà àwọn alábàáṣe iṣẹ́ ń parí pẹ̀lú àkókò tí ó tán láìsí ìlà log kan pàápàá ní ẹ̀gbẹ́ olùpín. Ipa ọ̀nà ìpadàbọ̀ ṣe pàtàkì nígbà tí àwọn ìsopọ̀ méjèèjì bá wà ní ṣókí, nítorí Pi ń dáhùn láti ẹ̀ka tí tábìlì ipa ọ̀nà fẹ́ràn, kì í sì í ṣe èyí tí pákẹ́ẹ̀tì fi dé. Ìwádìí ipa ọ̀nà ní ìsàlẹ̀ yìí ń fi hàn irú orísun tí kẹ́nẹ́lì yàn.

Ka sokẹ́ẹ̀tì gidi kí o tó gbẹ́kẹ̀lé àdírẹ́sì tuntun

Àwọn fáìlì ìṣètò ń ṣàlàyé èrò, sokẹ́ẹ̀tì sì ń ṣàlàyé òtítọ́. Béèrè lọ́wọ́ iṣẹ́ tí ń ṣiṣẹ́ ohun tí ó so mọ́ dípò gbẹ́kẹ̀lé ìṣètò tí o rántí. Ìwé ìtọ́sọ́nà OpenVPN 2.6 ń ṣàlàyé --local gẹ́gẹ́ bí ìdè sí àdírẹ́sì kan ó sì ṣàkíyèsí pé fífi í sílẹ̀ ń so gbogbo ẹ̀ka pọ̀.

sudo systemctl cat openvpn-server@server | grep -n -- '--local'
sudo ss -lunp '( sport = :1194 )'

Ka ọ̀wọ̀n àdírẹ́sì ìbílẹ̀ dípò ọ̀wọ̀n ipò. Ìlà tí ó ń fi hàn 10.42.7.24:1194 túmọ̀ sí pé a so sokẹ́ẹ̀tì mọ́ àdírẹ́sì tí o fẹ́ yọ kúrò, nígbà tí 0.0.0.0:1194 tàbí *:1194 túmọ̀ sí pé daemon yóò tẹ̀lé ìyípadà ẹ̀ka fúnra rẹ̀. Tí a bá so àdírẹ́sì, ṣàtúnṣe àpèjúwe náà kí o sì tún ẹ̀yà náà bẹ̀rẹ̀ dípò kíkọ sokẹ́ẹ̀tì alààyè pẹ̀lú ọwọ́, lẹ́yìn náà jẹ́rìí pé iṣẹ́ náà ṣì ń dé àwọn fáìlì ẹ̀rí àti kọ́kọ́rọ́ rẹ̀.

Rìn ìgbéga náà ní ìtòlẹ́sẹẹsẹ tí yóò pa ọ́ mọ́ ní àrọ́wọ́tó

Ìtòlẹ́sẹẹsẹ ṣe pàtàkì ju ìyára lọ níbí. Gbé ìsopọ̀ okùn sókè nígbà tí aláìfọwọ́ ṣì ń ṣiṣẹ́, jẹ́rìí àdírẹ́sì tuntun àti ipa ọ̀nà ìpadàbọ̀, lẹ́yìn náà ni kí o fà àpèjúwe aláìfọwọ́ sẹ́yìn. Ìtòlẹ́sẹẹsẹ yẹn ń pa ìpàdé tí ń ṣiṣẹ́ mọ́ ní ṣíṣí títí ìgbà tí a bá fi ẹ̀rí hàn pé àròpo náà ṣiṣẹ́.

ip -br addr show eth0
ip route get 203.0.113.10
nmcli -g ipv4.method,ipv4.addresses con show "Wired connection 1"

Àṣẹ àkọ́kọ́ ń dáhùn bóyá eth0 gba àdírẹ́sì tí o ní lọ́kàn, èkejì sì ń tẹ àdírẹ́sì orísun tí kẹ́nẹ́lì yóò lò fún ibi-àfojúsùn òde, nítorí náà ṣe é kí o tó yípadà àti lẹ́yìn. Tí orísun yẹn bá ṣì jẹ́ àdírẹ́sì aláìfọwọ́, ìsopọ̀ okùn kò tí ì jẹ́ ipa ọ̀nà ààyò, ìdánwò láti òde yóò sì kùnà fún ìdí tí kò ní í ṣe pẹ̀lú OpenVPN rárá. Tún ìfẹ́ ipa ọ̀nà ṣe kí o tó fọwọ́ kan ìtọ́sọ́nà.

Nígbà tí àwọn ìsopọ̀ méjèèjì bá ń ṣiṣẹ́, Pi lè fẹ́ ipa ọ̀nà àkíyèsí aláìfọwọ́ nítorí pé a gbà á sílẹ̀ kọ́kọ́ tàbí nítorí pé ìsopọ̀ okùn ní ìwọ̀n tí ó ga jù. Ní Bookworm ètò tí a ń ṣe àtìlẹ́yìn fún ni ipv4.route-metric lórí ìsopọ̀, ní Bullseye sì ni ìbámu ni ìlà metric pàtó fún ẹ̀ka nínú dhcpcd.conf. Sọ ipò ìsopọ̀ aláìfọwọ́ di ìsàlẹ̀ dípò pípa á, kí ipa ọ̀nà ìpadàbọ̀ lè wà ní àṣẹ kan jìnnà.

Jẹ́rìí tunnel náà láti òde, kì í ṣe láti LAN

Ìsopọ̀ VPN tí ń ṣiṣẹ́ láti orí àga ń jẹ́rìí díẹ̀ ju bí ó ti dàbí lọ. Ìrìn-àjò láti inú LAN sí àdírẹ́sì gbangba ń gba àwọn ìlànà hairpin tàbí ìtànmọ́ra tí àwọn olùdarí ń ṣe ní àìbáramu, nítorí náà ìdánwò LAN tí ó yọjá lè wà pẹ̀lú ọ̀nà òde tí ó ti bàjẹ́. Lo fọ́nì kan pẹ̀lú dátà sẹ́lúlà, tàbí ẹ̀rọ kankan ní òde nẹ́tíwọ́kì, fún ìdánwò ìtẹ́wọ́gbà. Pa ìgbìyànjú LAN mọ́ gẹ́gẹ́ bí àyẹ̀wò àṣàyàn ọ̀tọ̀ọ̀tọ̀.

Lẹ́yìn náà ka log náà ní ìtòlẹ́sẹẹsẹ tí àwọn pákẹ́ẹ̀tì ń dé. Kò sí rárá túmọ̀ sí pé ìfọwọ́sowọ́pọ̀ kò tí ì dé Pi, nítorí náà ibi-àfojúsùn ìtọ́sọ́nà tàbí ògiri iná ẹ̀rọ náà kò tọ́. Ìfọwọ́sowọ́pọ̀ tí ó bẹ̀rẹ̀ tí ó sì dúró ń tọ́ka sí kọ́kọ́rọ́, ẹ̀rí tàbí MTU. Ìpàdé tí ó parí tí ó sì ṣubú sábà túmọ̀ sí ipa ọ̀nà ìpadàbọ̀ tàbí ipa ọ̀nà kejì àkíyèsí, ìlà log alábàáṣe iṣẹ́ sì Initialization Sequence Completed sọ fún ọ pé tunnel náà fúnra rẹ̀ ti gòkè.

sudo journalctl -u openvpn-server@server -n 40 --no-pager
sudo tcpdump -ni any udp port 1194 -c 20

Tí kò bá sí ohunkóhun tí ó farahàn nínú log olùpín nígbà tí alábàáṣe iṣẹ́ ń gbìyànjú lẹ́ẹ̀kan sí, dáwọ́ kíkà ìṣètò OpenVPN kí o sì padà sí ibi-àfojúsùn ìtọ́sọ́nà. Ìmúdì mú dáhùn ìbéèrè ìdé ní ìṣẹ́jú àáyá, àwọn pákẹ́ẹ̀tì tí ń wọlé láìsí ìdáhùn sì ń dín ìṣòro náà kù sí ipa ọ̀nà.

Pa ìpadàbọ̀ ìgbésẹ̀ kan mọ́ kí o sì fà àpèjúwe aláìfọwọ́ sẹ́yìn

Fi àpèjúwe aláìfọwọ́ sílẹ̀ ní gbígbà títí ìtòlẹ́sẹẹsẹ okùn yóò fi kọjá ìtúnpadà kan. nmcli con show ń ṣàkójọ àwọn orúkọ àpèjúwe tí wàá nílò, àpèjúwe tí a pa run sì gbọ́dọ̀ kọ́ padà láti inú ìrántí ní àkókò tí ó burú jù. Kọ orúkọ ẹ̀ka, ọ̀nà àdírẹ́sì àti ìwọ̀n sẹ́gbẹ̀ẹ́ àwọn iye mẹ́rin mìíràn. Ìpadàbọ̀ tí o lè tẹ láti inú àkọsílẹ̀ ṣe pàtàkì ju èyí tí o gbọ́dọ̀ kọ́ padà.

Fífi ìgbẹ́kẹ̀lé aláìfọwọ́ sẹ́yìn jẹ́ ìyípadà ànímọ́ dípò píparẹ́. Nípa ṣíṣètò connection.autoconnect no àwọn ẹ̀rí ìwọlé àti ìtàn àdírẹ́sì wà ní àìdíbàjẹ́ nígbà tí a ń dá Pi lẹ́kun láti tún so mọ́ nẹ́tíwọ́kì tí o ti kúrò.

nmcli con show
sudo nmcli con up "Wired connection 1"
sudo nmcli con mod "previously-used-wifi" connection.autoconnect no

Kí o tó kéde iṣẹ́ náà pé ó parí, jẹ́rìí àwọn ohun mẹ́rin: ibi-àfojúsùn ìtọ́sọ́nà bá àdírẹ́sì okùn mu, olùgbọ́ yè kọjá ìtúnpadà, alábàáṣe iṣẹ́ láti òde parí ìfọwọ́sowọ́pọ̀, àti Pi ṣì ń dáhùn lórí àdírẹ́sì okùn lẹ́yìn ìtúnpadà. Ìtúnpadà ni ọ̀nà tí ó tọ́jú jù láti mú ìpín tí ó wà nínú kẹ́nẹ́lì tí ń ṣiṣẹ́ nìkan. Tí ọ̀kan nínú mẹ́rẹ̀ẹ̀rin bá kùnà, gbé àpèjúwe aláìfọwọ́ ró padà pẹ̀lú sudo nmcli con up kí o sì fi àwọn iye tí a kọ wé àwọn tí ń ṣiṣẹ́.

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