Kuidas teisaldada Raspberry Pi VPN server Etherneti
Teisaldage Raspberry Pi VPN server Wi-Fi-lt Ethernetile, muutmata lõpp-punkti nime, kuulaja sidumist, pordi edasisaatmist ega ühesammulist tagasipöördumisteed.
Pi viimine Wi-Fi-lt kaablile tundub viie minuti tööna ja jääb selleks ainult siis, kui käsitleda teisaldamist nelja eraldi seadistusena, mitte ühena. Lõpp-punkti nimi, millele teie kliendid helistavad, võib jääda täpselt samaks, samal ajal kui selle all olev aadress muutub. Tegelikult katkeb vana aadressi külge kinnitatud kuulaja, endiselt traadita liisingule suunatud pordi edasisaatmine või tagasitee, mis väljub liidesest, mille arvasite kasutusest kõrvaldanud olevat. See juhend hoiab igal sammul taastetee avatuna, nii et ebaõnnestunud üleminek maksab ainult taaskäivituse.
Kirjutage üles neli vastutajat enne, kui midagi lahti ühendate
Neli seadistust otsustavad, kas üleminek jääb püsima: Pi aadress, sidumisaadress OpenVPN, ruuteri ümbersuunamise sihtkoht ja tee, mida vastused läbivad. Kirjutage kõik neli üles enne kaabli puudutamist, sest kui traadita liising kaob, ei saa te vanu väärtusi masinast enam lugeda. Kaabelliides ei pärine traadita profiili, ja Bookwormis elab aadress NetworkManageris, samal ajal kui Bullseye hoiab seda dhcpcd.conf. Reserveering, mis kinnitas traadita MAC-aadressi, ei ütle midagi eth0 kohta. Käsitlege uut aadressi uue määramisena, mis vajab oma tõestust.
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
Kuulaja on teine vastutaja. Kui teenus käivitati konkreetse sidumisaadressiga, sureb socket vana liidesega; kui see seob kõik aadressid, jääb socket püsima ja ruuteri reegel muutub ainsaks, mida veel parandada.
Ümbersuunamise sihtkoht ja tagasitee on vastutajad, mille inimesed vahele jätavad. Edasisaatmine, mis osutab endiselt 10.42.7.24-le, saadab saabuvad kätlemised aadressile, mida Pi enam ei oma, nii et kliendid lõpevad aegumisega ilma ühegi serveripoolse logireata. Tagasitee loeb siis, kui mõlemad lingid on korraks aktiivsed, sest Pi vastab liidese kaudu, mida marsruutimistabel eelistab, ja see pole alati see, mille kaudu pakett saabus. Allpool olev marsruudiotsing näitab, millise allika kernel valib.
Lugege tegelikku socketit enne, kui uut aadressi usaldate
Konfiguratsioonifailid kirjeldavad kavatsust ja socket kirjeldab tegelikkust. Küsige töötavalt teenuselt, millega see on seotud, selle asemel et usaldada konfiguratsiooni, mida mäletate. OpenVPN 2.6 käsiraamat määratleb --local sidumisena ühe aadressiga ja märgib, et selle ärajätmine seob iga liidese.
sudo systemctl cat openvpn-server@server | grep -n -- '--local'
sudo ss -lunp '( sport = :1194 )'
Lugege kohaliku aadressi veergu, mitte oleku veergu. Rida, mis näitab 10.42.7.24:1194 tähendab, et socket on kinnitatud aadressi külge, mille kohe eemaldate, samal ajal kui 0.0.0.0:1194 või *:1194 tähendab, et deemon järgib liidese muutust ise. Kui aadress on kinnitatud, muutke profiili ja taaskäivitage üksus, mitte ärge kirjutage elusat socketit käsitsi üle, ja seejärel kinnitage, et teenus jõuab endiselt oma sertifikaadi- ja võtmefailideni.
Tehke teisaldamine järjekorras, mis hoiab teid kättesaadavana
Järjekord on siin tähtsam kui kiirus. Tõstke kaabelliides üles, kui traadita veel töötab, kinnitage uus aadress ja tagasitee ning alles siis kõrvaldage traadita profiil kasutusest. See järjestus hoiab töötava sessiooni avatuna, kuni asendus on tõestatud.
ip -br addr show eth0
ip route get 203.0.113.10
nmcli -g ipv4.method,ipv4.addresses con show "Wired connection 1"
Esimene käsk vastab, kas eth0 sai aadressi, mida kavatsesite, ja teine väljastab lähteaadressi, mida kernel kasutaks välise sihtkoha jaoks, seega käivitage see enne ja pärast muudatust. Kui see allikas on endiselt traadita aadress, ei ole kaabelliides veel eelistatud tee ja väline test ebaõnnestub põhjusel, millel pole OpenVPN-iga midagi pistmist. Parandage marsruutimise eelistus enne, kui edasisaatmist puudutate.
Kui mõlemad lingid on aktiivsed, võib Pi eelistada traadita vaikimisi marsruuti, sest see paigaldati esimesena või sest kaabelliidesel on kõrgem mõõdik. Bookwormis on toetatud seadistus ipv4.route-metric ühendusel ja Bullseye-s on vasteks liidesepõhine metric rida dhcpcd.conf failis. Alandage traadita lingi tähtsust selle väljalülitamise asemel, et tagasipöördumistee jääks ühe käsu kaugusele.
Tõestage tunnelit väljastpoolt, mitte LAN-ist
VPN-ühendus, mis töötab diivanilt, tõestab vähem, kui näib. Liiklus LAN-i seest avalikule aadressile läbib hairpin- või peegeldusreegleid, mida ruuterid rakendavad ebajärjekindlalt, nii et edukas LAN-i test võib eksisteerida koos katkise välise teega. Kasutage vastuvõtutestiks mobiilse andmesidega telefoni või mis tahes hosti väljaspool võrku. Hoidke LAN-i katset eraldi valikulise diagnostikana.
Seejärel lugege logi selles järjekorras, milles paketid saabuvad. Täiesti mitte midagi tähendab, et kätlemine ei jõudnud kunagi Pi-ni, seega on ümbersuunamise sihtkoht või hosti tulemüür vale. Kätlemine, mis algab ja jääb toppama, viitab võtmetele, sertifikaatidele või MTU-le. Sessioon, mis lõpeb ja kukub, tähendab tavaliselt tagasiteed või teist vaikimisi marsruuti, ja kliendi logirida Initialization Sequence Completed ütleb teile, et tunnel ise tõusis.
sudo journalctl -u openvpn-server@server -n 40 --no-pager
sudo tcpdump -ni any udp port 1194 -c 20
Kui serveri logis ei ilmu midagi, samal ajal kui klient proovib uuesti, lõpetage OpenVPN-i konfiguratsiooni lugemine ja pöörduge tagasi ümbersuunamise sihtkoha juurde. Püük vastab saabumise küsimusele sekunditega ja vastuseta sissetulevad paketid kitsendavad probleemi marsruudile.
Säilitage ühesammuline tagasipöördumine ja kõrvaldage traadita profiil kasutusest
Jätke traadita profiil paigaldatuks, kuni kaabelliidese lahendus on taaskäivituse üle elanud. nmcli con show loetleb profiilinimed, mida vajate, ja kustutatud profiil tuleb halvimal hetkel mälust taastada. Kirjutage üles liidese nimi, adresseerimismeetod ja mõõdik teiste nelja väärtuse kõrvale. Tagasipöördumine, mille saate märkmest sisestada, on väärt rohkem kui see, mille peate ümber ehitama.
Traadita sõltuvuse kasutusest kõrvaldamine on omaduse muutmine, mitte kustutamine. Seadistades connection.autoconnect no jäävad identiteedid ja aadresside ajalugu puutumata, takistades Pi-l uuesti võrku ühenduda, kust te lahkusite.
nmcli con show
sudo nmcli con up "Wired connection 1"
sudo nmcli con mod "previously-used-wifi" connection.autoconnect no
Enne kui töö lõpetatuks kuulutate, kinnitage neli asja: ümbersuunamise sihtkoht vastab kaabli aadressile, kuulaja elas üle taaskäivituse, väline klient lõpetab kätlemise ja Pi vastab pärast taaskäivitust endiselt kaabli aadressil. Taaskäivitus on odavaim viis tabada määramist, mis eksisteeris ainult töötavas kernelis. Kui mõni neljast ebaõnnestub, tõstke traadita profiil uuesti üles käsuga sudo nmcli con up ja võrrelge üleskirjutatud väärtusi aktiivsetega.