Kubadilisha Pi kutoka Wi-Fi kwenda kwenye kebo inaonekana kama kazi ya dakika tano, na inabaki hivyo tu ikiwa unachukulia uhamishaji kama mipangilio minne tofauti badala ya mmoja. Jina la kituo cha mwisho ambacho wateja wako hupiga simu linaweza kubaki sawa kabisa wakati anwani iliyo chini yake inabadilika. Kinachovunjika kwa kweli ni msikilizaji aliyefungwa kwenye anwani ya zamani, uelekezaji wa bandari ambao bado unaelekea kwenye kukodisha bila waya, au njia ya kurudi inayotoka kupitia kiolesura ulichodhani umeistaafisha. Mwongozo huu huweka njia ya urejeshaji wazi kwa kila hatua, kwa hivyo ubadilishaji ulioshindikana unagharimu tu kuwasha upya.

Andika wamiliki wanne kabla ya kukata chochote

Mipangilio minne huamua kama ubadilishaji utadumu: anwani ya Pi, anwani ya ufungaji OpenVPN, lengo la uelekezaji wa kipanga njia na njia ambayo majibu huchukua. Andika yote manne kabla ya kugusa kebo, kwa sababu kukodisha bila waya kukitoweka huwezi tena kusoma thamani za zamani kutoka kwenye mashine. Kiolesura cha kebo hakirithi wasifu bila waya, na kwenye Bookworm anwani hiyo inaishi katika NetworkManager wakati Bullseye anaiweka katika dhcpcd.conf. Uhifadhi uliofunga anwani ya MAC bila waya hausemi chochote kuhusu eth0. Chukulia anwani mpya kama mgao mpya unaohitaji uthibitisho wake.

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

Msikilizaji ni mmiliki wa pili. Ikiwa huduma ilianzishwa na anwani maalum ya ufungaji, soketi hufa pamoja na kiolesura cha zamani; ikiwa inafunga anwani zote, soketi huendelea kuishi na kanuni ya kipanga njia inakuwa kitu pekee kilichobaki kurekebishwa.

Lengo la uelekezaji na njia ya kurudi ni wamiliki ambao watu huwapuuza. Uelekezaji ambao bado unaelekea 10.42.7.24 hutuma salamu za mkono zinazofika kwenye anwani ambayo Pi hana tena, kwa hivyo wateja huisha kwa muda bila hata mstari mmoja wa kumbukumbu upande wa seva. Njia ya kurudi ni muhimu wakati viungo vyote viwili vikiwa hai kwa muda mfupi, kwa sababu Pi hujibu kutoka kiolesura ambacho jedwali la uelekezaji linapendelea, na hiyo si kila mara kiolesura ambacho pakiti ilifika. Utafutaji wa njia hapa chini unaonyesha chanzo kipi kernel huchagua.

Soma soketi halisi kabla ya kuamini anwani mpya

Faili za usanidi hueleza nia na soketi hueleza ukweli. Uliza huduma inayoendesha imefungwa kwa nini badala ya kuamini usanidi unaoukumbuka. Mwongozo wa OpenVPN 2.6 unafafanua --local kama ufungaji kwenye anwani moja na unabainisha kwamba kuiacha kunaunganisha kila kiolesura.

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

Soma safu ya anwani ya ndani badala ya safu ya hali. Mstari unaoonyesha 10.42.7.24:1194 unamaanisha soketi imefungwa kwenye anwani ambayo uko karibu kuiondoa, wakati 0.0.0.0:1194 au *:1194 unamaanisha daemon itafuata mabadiliko ya kiolesura yenyewe. Ikiwa anwani imefungwa, hariri wasifu na uanzishe tena kitengo badala ya kuandika upya soketi hai kwa mkono, kisha thibitisha kwamba huduma bado inafikia faili zake za cheti na ufunguo.

Pitia uhamishaji kwa mpangilio unaokufanya ufikiwe

Mpangilio ni muhimu zaidi kuliko kasi hapa. Inua kiungo cha kebo wakati cha bila waya bado kinafanya kazi, thibitisha anwani mpya na njia ya kurudi, na kisha tu istaafishe wasifu bila waya. Mpangilio huo huweka kikao kinachofanya kazi wazi hadi mbadala uthibitishwe.

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

Amri ya kwanza hujibu kama eth0 ilipokea anwani uliyokusudia, na ya pili huchapisha anwani ya chanzo ambayo kernel ingetumia kwa lengo la nje, kwa hivyo iendeshe kabla na baada ya mabadiliko. Ikiwa chanzo hicho bado ni anwani bila waya, kiungo cha kebo bado si njia inayopendelewa na jaribio la nje litashindikana kwa sababu isiyo na uhusiano wowote na OpenVPN. Rekebisha upendeleo wa uelekezaji kabla ya kugusa uelekezaji wa bandari.

Viungo vyote viwili vikiwa hai, Pi inaweza kupendelea njia chagu-msingi bila waya kwa sababu iliwekwa kwanza au kwa sababu kiungo cha kebo kina metrika ya juu zaidi. Kwenye Bookworm mpangilio unaotumika ni ipv4.route-metric kwenye muunganisho, na kwenye Bullseye sawa yake ni mstari metric maalum wa kiolesura katika dhcpcd.conf. Punguza kipaumbele cha kiungo bila waya badala ya kukizima, ili njia ya kurudi ibaki amri moja mbali.

Thibitisha handaki kutoka nje, si kutoka LAN

Muunganisho wa VPN unaofanya kazi kutoka kwenye kochi huthibitisha kidogo kuliko inavyoonekana. Trafiki kutoka ndani ya LAN kuelekea anwani ya umma hupitia kanuni za hairpin au uakisi ambazo vipanga njia hutekeleza kwa kutofautiana, kwa hivyo jaribio la LAN linalofaulu linaweza kuishi pamoja na njia ya nje iliyovunjika. Tumia simu yenye data ya selula, au mwenyeji yeyote nje ya mtandao, kwa jaribio la kukubali. Weka jaribio la LAN kama uchunguzi wa hiari tofauti.

Kisha soma kumbukumbu kwa mpangilio ambao pakiti zinafika. Hakuna kitu kabisa kunamaanisha salamu ya mkono haikufika Pi kamwe, kwa hivyo lengo la uelekezaji au ukuta wa moto wa mwenyeji si sahihi. Salamu ya mkono inayoanza na kukwama inaonyesha funguo, vyeti au MTU. Kikao kinachokamilika na kuanguka kwa kawaida kinamaanisha njia ya kurudi au njia ya pili chagu-msingi, na mstari wa kumbukumbu wa mteja Initialization Sequence Completed unakuambia kwamba handaki yenyewe ilipanda.

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

Ikiwa hakuna kitu kinachoonekana kwenye kumbukumbu ya seva wakati mteja anajaribu tena, acha kusoma usanidi wa OpenVPN na urudi kwenye lengo la uelekezaji. Unasaji hujibu swali la kuwasili kwa sekunde, na pakiti zinazoingia bila jibu hupunguza tatizo hadi kwenye njia.

Weka urejeshaji wa hatua moja na ustaafishe wasifu bila waya

Acha wasifu bila waya umesakinishwa hadi mpangilio wa kebo upite kuwasha upya. nmcli con show huorodhesha majina ya wasifu utakaohitaji, na wasifu uliofutwa lazima ujengwe upya kutoka kwenye kumbukumbu wakati mbaya zaidi. Andika jina la kiolesura, mbinu ya anwani na metrika kando ya thamani nyingine nne. Urejeshaji unaoweza kuandika kutoka kwenye noti una thamani zaidi kuliko ule unaopaswa kuujenga upya.

Kuustaafisha utegemezi bila waya ni mabadiliko ya sifa na si kufuta. Kwa kuweka connection.autoconnect no vitambulisho na historia ya anwani hubaki salama wakati Pi inazuiwa kuunganishwa tena na mtandao ulioondoka.

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

Kabla ya kutangaza kazi kama imekamilika, thibitisha mambo manne: lengo la uelekezaji linalingana na anwani ya kebo, msikilizaji alinusurika kuwasha upya, mteja wa nje hukamilisha salamu ya mkono, na Pi bado hujibu kwenye anwani ya kebo baada ya kuwasha upya. Kuwasha upya ni njia ya bei nafuu zaidi ya kukamata mgao ambao ulikuwa unapatikana tu kwenye kernel inayoendesha. Ikiwa yeyote kati ya manne atashindikana, inua tena wasifu bila waya kwa sudo nmcli con up na ulinganishe thamani zilizoandikwa na zile zilizo hai.

Makala zinazohusiana