Raspberry Pi VPN serverini Ethernet'ga qanday ko'chirish mumkin
Raspberry Pi VPN serverini Wi-Fi'dan Ethernet'ga ko'chiring: oxirgi nuqta nomi, tinglovchi bog'lanishi, port yo'naltirilishi va bir qadamli qaytarish yo'li o'zgarmaydi.
Pi-ni Wi-Fi'dan kabelga o'tkazish besh daqiqalik ish bo'lib ko'rinadi va ko'chirishni bitta emas, to'rt alohida sozlama deb qabul qilsangizgina shunday bo'lib qoladi. Mijozlaringiz qo'ng'iroq qiladigan oxirgi nuqta nomi ostidagi manzil o'zgarsa ham aynan bir xil qolishi mumkin. Aslida buziladigan narsa eski manzilga bog'langan tinglovchi, hali ham simsiz lease'ga qaratilgan port yo'naltirilishi yoki siz foydalanishdan chiqargan deb o'ylagan interfeysdan chiqadigan qaytarish marshrutidir. Ushbu qo'llanma har bir qadamda tiklash yo'lini ochiq saqlaydi, shuning uchun muvaffaqiyatsiz o'tish faqat bitta qayta yuklashga tushadi.
Biror narsani uzishdan oldin to'rt mas'ulni yozib oling
To'rt sozlama o'tishning davom etishini hal qiladi: Pi manzili, bog'lanish manzili OpenVPN, marshrutizatorning yo'naltirish maqsadi va javoblar yuradigan yo'l. Kabelga tegishdan oldin to'rttasini ham yozing, chunki simsiz lease yo'qolgach eski qiymatlarni mashinadan o'qiy olmaysiz. Kabel interfeysi simsiz profilni meros olmaydi va Bookworm'da manzil NetworkManager'da yashaydi, Bullseye esa uni dhcpcd.conf. Simsiz MAC manzilini mahkamlagan rezervatsiya eth0 haqida hech narsa demaydi. Yangi manzilga o'z isbotiga muhtoj yangi tayinlash sifatida qarang.
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
Tinglovchi ikkinchi mas'uldir. Xizmat aniq bog'lanish manzili bilan boshlangan bo'lsa, soket eski interfeys bilan birga o'ladi; agar u barcha manzillarni bog'lasa, soket omon qoladi va marshrutizator qoidasi tuzatilishi kerak bo'lgan yagona narsa bo'lib qoladi.
Yo'naltirish maqsadi va qaytarish yo'li odamlar tashlab ketadigan mas'ullardir. Hali ham 10.42.7.24 ga qaratilgan yo'naltirish kelayotgan qo'l siqishlarni Pi endi ega bo'lmagan manzilga yuboradi, shuning uchun mijozlar server tomonida bitta ham jurnal satrisiz vaqt tugashiga uchraydi. Ikkala aloqa qisqa vaqt faol bo'lganda qaytarish yo'li muhim, chunki Pi marshrut jadvali afzal ko'rgan interfeysdan javob beradi va bu har doim paket kelgan interfeys emas. Quyidagi marshrut qidiruvi yadro qaysi manbani tanlashini ko'rsatadi.
Yangi manzilga ishonishdan oldin haqiqiy soketni o'qing
Konfiguratsiya fayllari niyatni tasvirlaydi, soket esa voqelikni. Esingizda qolgan konfiguratsiyaga ishonish o'rniga ishlab turgan xizmatdan nimaga bog'langanini so'rang. OpenVPN 2.6 qo'llanmasi --local parametrini bitta manzilga bog'lanish deb belgilaydi va uni tashlab ketish har bir interfeysni bog'lashini qayd etadi.
sudo systemctl cat openvpn-server@server | grep -n -- '--local'
sudo ss -lunp '( sport = :1194 )'
Holat ustuni o'rniga mahalliy manzil ustunini o'qing. 10.42.7.24:1194 ko'rsatadigan satr soket siz olib tashlamoqchi bo'lgan manzilga mahkamlanganini bildiradi, 0.0.0.0:1194 yoki *:1194 esa demon interfeys o'zgarishini o'zi kuzatishini bildiradi. Agar manzil mahkamlangan bo'lsa, tirik soketni qo'lda qayta yozish o'rniga profilni tahrirlang va birlikni qayta ishga tushiring, so'ngra xizmat sertifikat va kalit fayllariga hali ham yetib borishini tasdiqlang.
Ko'chirishni sizni aloqada saqlaydigan tartibda bajaring
Bu yerda tartib tezlikdan muhimroq. Simsiz aloqa hali ishlab turganda kabel aloqasini ko'taring, yangi manzil va qaytarish yo'lini tasdiqlang, shundan keyingina simsiz profilni foydalanishdan chiqaring. Bu ketma-ketlik o'rinbosar isbotlanmaguncha ishlaydigan sessiyani ochiq saqlaydi.
ip -br addr show eth0
ip route get 203.0.113.10
nmcli -g ipv4.method,ipv4.addresses con show "Wired connection 1"
Birinchi buyruq eth0 siz mo'ljallagan manzilni olganini javob beradi, ikkinchisi esa yadro tashqi manzil uchun ishlatadigan manba manzilini chop etadi, shuning uchun uni o'zgarishdan oldin va keyin ishga tushiring. Agar bu manba hali ham simsiz manzil bo'lsa, kabel aloqasi hali afzal yo'l emas va tashqi test OpenVPN bilan hech qanday aloqasi bo'lmagan sabab bilan muvaffaqiyatsiz bo'ladi. Yo'naltirishga tegishdan oldin marshrutlash afzalligini tuzating.
Ikkala aloqa ham faol bo'lganda Pi simsiz standart marshrutni afzal ko'rishi mumkin, chunki u birinchi o'rnatilgan yoki kabel aloqasi yuqori metrikaga ega. Bookworm'da qo'llab-quvvatlanadigan sozlama ulanishdagi ipv4.route-metric hisoblanadi, Bullseye'da esa ekvivalent interfeysga xos metric satri dhcpcd.conf faylida joylashgan. Qaytarish yo'li bitta buyruq masofasida qolishi uchun simsiz aloqani o'chirish o'rniga uning ustuvorligini pasaytiring.
Tunnelni LAN'dan emas, tashqaridan isbotlang
Divandan ishlaydigan VPN aloqasi ko'ringanidan kamroq narsani isbotlaydi. LAN ichidan ommaviy manzilga boradigan trafik marshrutizatorlar izchil amalga oshirmaydigan hairpin yoki aks ettirish qoidalaridan o'tadi, shuning uchun muvaffaqiyatli LAN testi buzilgan tashqi yo'l bilan birga mavjud bo'lishi mumkin. Qabul testi uchun mobil ma'lumotli telefondan yoki tarmoqdan tashqaridagi istalgan hostdan foydalaning. LAN urinishini alohida ixtiyoriy diagnostika sifatida saqlang.
So'ngra jurnalni paketlar keladigan tartibda o'qing. Hech narsa yo'qligi qo'l siqish Pi ga hech qachon yetmaganini bildiradi, demak yo'naltirish maqsadi yoki hostning himoya devori xato. Boshlanib tiqilib qoladigan qo'l siqish kalitlar, sertifikatlar yoki MTU ga ishora qiladi. Tugallanib tushadigan sessiya odatda qaytarish yo'lini yoki ikkinchi standart marshrutni bildiradi, mijozning jurnal satri esa Initialization Sequence Completed tunnelning o'zi ko'tarilganini aytadi.
sudo journalctl -u openvpn-server@server -n 40 --no-pager
sudo tcpdump -ni any udp port 1194 -c 20
Mijoz qayta urinayotganda server jurnalida hech narsa ko'rinmasa, OpenVPN konfiguratsiyasini o'qishni to'xtating va yo'naltirish maqsadiga qayting. Ushlash kelish savoliga soniyalarda javob beradi, javobsiz kelgan paketlar esa muammoni marshrutga toraytiradi.
Bir qadamli qaytarishni saqlang va simsiz profilni foydalanishdan chiqaring
Simsiz profilni kabel tuzilmasi qayta yuklashdan o'tguncha o'rnatilgan holda qoldiring. nmcli con show sizga kerak bo'ladigan profil nomlarini sanab o'tadi va o'chirilgan profil eng yomon paytda xotiradan qayta qurilishi kerak. Interfeys nomini, manzillash usulini va metrikani qolgan to'rt qiymat yoniga yozing. Qayddan yozib oladigan qaytarish qayta qurishga to'g'ri keladiganidan qimmatroq.
Simsiz bog'liqlikni foydalanishdan chiqarish o'chirish emas, xususiyat o'zgarishidir. connection.autoconnect no sozlash orqali hisob ma'lumotlari va manzillar tarixi daxlsiz qoladi, Pi esa siz ko'chib ketgan tarmoqqa qayta ulanmaydi.
nmcli con show
sudo nmcli con up "Wired connection 1"
sudo nmcli con mod "previously-used-wifi" connection.autoconnect no
Ishni tugallangan deb e'lon qilishdan oldin to'rt narsani tasdiqlang: yo'naltirish maqsadi kabel manziliga mos keladi, tinglovchi qayta yuklashdan omon o'tdi, tashqaridagi mijoz qo'l siqishni tugatadi va Pi qayta yuklashdan keyin ham kabel manzilida javob beradi. Qayta yuklash faqat ishlab turgan yadroda mavjud bo'lgan tayinlashni ushlashning eng arzon yo'lidir. To'rttasidan birortasi muvaffaqiyatsiz bo'lsa, simsiz profilni sudo nmcli con up bilan qayta ko'taring va yozib olingan qiymatlarni faollari bilan solishtiring.