Si të zhvendosni një server VPN Raspberry Pi në Ethernet
Zhvendosni një server VPN Raspberry Pi nga Wi-Fi në Ethernet pa ndryshuar emrin e pikës fundore, lidhjen e dëgjuesit, ridrejtimin e portit ose rrugën e kthimit me një hap.
Kalimi i Pi-t nga Wi-Fi në një kabllo duket si punë pesë minutash dhe mbetet e tillë vetëm nëse e trajtoni zhvendosjen si katër cilësime të veçanta në vend të një. Emri i pikës fundore që telefonojnë klientët tuaj mund të mbetet saktësisht i njëjtë ndërsa adresa nën të ndryshon. Ajo që thyhet vërtet është një dëgjues i lidhur me adresën e vjetër, një ridrejtim porti që ende synon lizingun pa valë, ose një rrugë kthimi që del përmes ndërfaqes që menduat se e kishit tërhequr. Ky udhëzues mban një rrugë rikuperimi të hapur në çdo hap, kështu që një kalim i dështuar kushton vetëm një rindezje.
Shkruani katër përgjegjësit para se të shkëputni çdo gjë
Katër cilësime vendosin nëse kalimi mbijeton: adresa e Pi-t, adresa e lidhjes OpenVPN, objektivi i ridrejtimit të ruterit dhe rruga që marrin përgjigjet. Shkruani të katërt para se të prekni kabllon, sepse sapo lizingu pa valë zhduket nuk mund t'i lexoni më vlerat e vjetra nga makina. Ndërfaqja me kabllo nuk trashëgon profilin pa valë, dhe në Bookworm adresa jeton në NetworkManager ndërsa Bullseye e mban në dhcpcd.conf. Një rezervim që fikstonte adresën MAC pa valë nuk thotë asgjë për eth0. Trajtojeni adresën e re si një caktim i ri që ka nevojë për provën e vet.
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
Dëgjuesi është përgjegjësi i dytë. Nëse shërbimi u nis me një adresë lidhjeje të caktuar, soketi vdes me ndërfaqen e vjetër; nëse lidh të gjitha adresat, soketi mbijeton dhe rregulli i ruterit bëhet e vetmja gjë që mbetet për të rregulluar.
Objektivi i ridrejtimit dhe rruga e kthimit janë përgjegjësit që njerëzit i kapërcejnë. Një ridrejtim që ende tregon nga 10.42.7.24 i dërgon shtrëngimet e duarve hyrëse në një adresë që Pi nuk e ka më, kështu që klientët skadojnë pa asnjë rresht log në anën e serverit. Rruga e kthimit ka rëndësi kur të dy lidhjet janë për pak kohë aktive, sepse Pi përgjigjet nga ndërfaqja që preferon tabela e rrugëtimit, dhe kjo nuk është gjithmonë ajo nga e cila mbërriti paketa. Kërkimi i rrugës më poshtë tregon cilin burim zgjedh kerneli.
Lexoni soketin aktual para se t'i besoni adresës së re
Skedarët e konfigurimit përshkruajnë qëllimin dhe soketi përshkruan realitetin. Pyetni shërbimin që po ekzekutohet se me çfarë është lidhur, në vend që t'i besoni konfigurimit që mbani mend. Manuali i OpenVPN 2.6 e përcakton --local-in si lidhje me një adresë dhe vëren se lënia jashtë e tij lidh çdo ndërfaqe.
sudo systemctl cat openvpn-server@server | grep -n -- '--local'
sudo ss -lunp '( sport = :1194 )'
Lexoni kolonën e adresës lokale në vend të kolonës së gjendjes. Një rresht që tregon 10.42.7.24:1194 do të thotë që soketi është i fiksuar në adresën që jeni gati të hiqni, ndërsa 0.0.0.0:1194 ose *:1194 do të thotë që daemoni do ta ndjekë vetë ndryshimin e ndërfaqes. Nëse adresa është e fiksuar, modifikoni profilin dhe rindizni njësinë në vend që të rishkruani me dorë soketin aktiv, dhe më pas konfirmoni që shërbimi ende arrin skedarët e certifikatës dhe çelësit.
Bëjeni zhvendosjen në një rend që ju mban të arritshëm
Rendi këtu ka më shumë rëndësi se shpejtësia. Ngrini lidhjen me kabllo ndërsa ajo pa valë ende punon, konfirmoni adresën e re dhe rrugën e kthimit, dhe vetëm pastaj tërhiqni profilin pa valë. Kjo sekuencë mban një sesion pune të hapur derisa zëvendësimi të jetë provuar.
ip -br addr show eth0
ip route get 203.0.113.10
nmcli -g ipv4.method,ipv4.addresses con show "Wired connection 1"
Komanda e parë përgjigjet nëse eth0 mori adresën që kishit synuar, dhe e dyta shtyp adresën burimore që kerneli do të përdorte për një destinacion të jashtëm, prandaj ekzekutojeni para dhe pas ndryshimit. Nëse ai burim është ende adresa pa valë, lidhja me kabllo nuk është ende rruga e preferuar dhe testi nga jashtë do të dështojë për një arsye që nuk ka asnjë lidhje me OpenVPN. Rregulloni preferencën e rrugëtimit para se të prekni ridrejtimin.
Kur të dy lidhjet janë aktive, Pi mund të preferojë rrugën e paracaktuar pa valë sepse u instalua e para ose sepse lidhja me kabllo mban një metrikë më të lartë. Në Bookworm cilësimi i mbështetur është ipv4.route-metric në lidhje, dhe në Bullseye ekuivalenti është një rresht metric specifik i ndërfaqes në dhcpcd.conf. Ulni përparësinë e lidhjes pa valë në vend që ta çaktivizoni, që rruga e kthimit të mbetet një komandë larg.
Provojeni tunelin nga jashtë, jo nga LAN-i
Një lidhje VPN që punon nga divani provon më pak nga sa duket. Trafiku nga brenda LAN-it drejt adresës publike kalon nëpër rregulla hairpin ose reflektimi që ruterat i zbatojnë në mënyrë jo konsistente, kështu që një test LAN i suksesshëm mund të bashkëjetojë me një rrugë të jashtme të prishur. Për testin e pranimit përdorni një telefon me të dhëna celulare ose çdo host jashtë rrjetit. Mbajeni përpjekjen LAN si një diagnostikim opsional të veçantë.
Pastaj lexoni logun në rendin që mbërrijnë paketat. Asgjë fare do të thotë që shtrëngimi i duarve nuk arriti kurrë te Pi, pra objektivi i ridrejtimit ose muri i zjarrit i hostit është i gabuar. Një shtrëngim duarsh që nis dhe ngec tregon çelësa, certifikata ose MTU. Një sesion që përfundon dhe bie zakonisht do të thotë rruga e kthimit ose një rrugë e dytë e paracaktuar, dhe rreshti i logut të klientit Initialization Sequence Completed ju thotë që tuneli vetë u ngrit.
sudo journalctl -u openvpn-server@server -n 40 --no-pager
sudo tcpdump -ni any udp port 1194 -c 20
Nëse asgjë nuk shfaqet në logun e serverit ndërsa klienti provon përsëri, ndaloni së lexuari konfigurimin e OpenVPN dhe kthehuni te objektivi i ridrejtimit. Kapja i përgjigjet pyetjes së mbërritjes në sekonda, dhe paketat hyrëse pa përgjigje e ngushtojnë problemin te rruga.
Mbani një kthim me një hap dhe tërhiqni profilin pa valë
Lëreni profilin pa valë të instaluar derisa rregullimi me kabllo të kalojë një rindezje. nmcli con show rendit emrat e profileve që do t'ju nevojiten, dhe një profil i fshirë duhet të rindërtohet nga kujtesa në momentin më të keq. Shkruani emrin e ndërfaqes, metodën e adresimit dhe metrikën pranë katër vlerave të tjera. Një kthim që mund ta shkruani nga një shënim vlen më shumë se një që duhet ta rindërtoni.
Tërheqja e varësisë pa valë është një ndryshim vetie, jo një fshirje. Duke vendosur connection.autoconnect no kredencialet dhe historiku i adresave mbeten të paprekura ndërsa Pi pengohet të rilidhet me një rrjet nga i cili u larguat.
nmcli con show
sudo nmcli con up "Wired connection 1"
sudo nmcli con mod "previously-used-wifi" connection.autoconnect no
Përpara se ta shpallni punën të përfunduar, konfirmoni katër gjëra: objektivi i ridrejtimit përputhet me adresën me kabllo, dëgjuesi mbijetoi një rindezje, një klient nga jashtë përfundon një shtrëngim duarsh, dhe Pi ende përgjigjet në adresën me kabllo pas një rindezje. Rindezja është mënyra më e lirë për të kapur një caktim që ekzistonte vetëm në kernelin që po ekzekutohej. Nëse ndonjë nga të katërt dështon, ngrini përsëri profilin pa valë me sudo nmcli con up dhe krahasoni vlerat e shkruara me ato aktive.