Pi ને Wi-Fi થી કેબલ પર ખસેડવું પાંચ મિનિટનું કામ લાગે છે, અને એ તો ત્યારે જ રહે છે જ્યારે તમે આ ફેરફારને એકને બદલે ચાર અલગ સેટિંગ્સ તરીકે જુઓ. તમારા ક્લાયન્ટ્સ જે એન્ડપોઇન્ટ નામ પર ડાયલ કરે છે તે બરાબર એ જ રહી શકે છે જ્યારે તેની નીચેનું સરનામું બદલાય છે. ખરેખર તૂટે છે તે જૂના સરનામા પર પિન થયેલો લિસનર, હજુ પણ વાયરલેસ લીઝ તરફ નિર્દેશ કરતું પોર્ટ ફોરવર્ડ, અથવા એવો રિટર્ન રૂટ જે તમે નિવૃત્ત માની લીધેલા ઇન્ટરફેસમાંથી નીકળે છે. આ માર્ગદર્શિકા દરેક પગલે પુનઃપ્રાપ્તિનો રસ્તો ખુલ્લો રાખે છે, તેથી નિષ્ફળ કટઓવરની કિંમત એક રીબૂટ છે.

કંઈપણ કાઢો તે પહેલાં ચાર માલિકો લખી લો

ચાર સેટિંગ્સ નક્કી કરે છે કે કટઓવર ટકશે કે નહીં: Pi નું સરનામું, OpenVPN નું બાઇન્ડિંગ સરનામું, રાઉટરનું રીડાયરેક્ટ લક્ષ્ય અને જવાબો જે રસ્તે જાય છે તે. કેબલને સ્પર્શ કરો તે પહેલાં ચારેય લખી લો, કારણ કે વાયરલેસ લીઝ ગાયબ થતાં જ તમે મશીનમાંથી જૂના મૂલ્યો વાંચી શકશો નહીં. વાયર્ડ ઇન્ટરફેસ વાયરલેસ પ્રોફાઇલ વારસામાં લેતું નથી, અને Bookworm પર સરનામું NetworkManager માં રહે છે જ્યારે Bullseye તેને dhcpcd.conf માં રાખે છે. જે રિઝર્વેશન વાયરલેસ MAC સરનામું પિન કરતું હતું તે eth0 વિશે કંઈ કહેતું નથી. નવા સરનામાને પોતાના પુરાવાની જરૂર પડતા નવા ફાળવણી તરીકે ગણો.

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

લિસનર બીજો માલિક છે. જો સેવા ચોક્કસ બાઇન્ડિંગ સરનામા સાથે શરૂ થઈ હોય તો સોકેટ જૂના ઇન્ટરફેસ સાથે મરી જાય છે; જો તે બધા સરનામાં બાંધે તો સોકેટ ટકી રહે છે અને રાઉટરનો નિયમ સુધારવાની એકમાત્ર વસ્તુ બની જાય છે.

રીડાયરેક્ટ લક્ષ્ય અને રિટર્ન રસ્તો એ માલિકો છે જેને લોકો છોડી દે છે. જે ફોરવર્ડ હજુ પણ 10.42.7.24 તરફ નિર્દેશ કરે છે તે આવતા હેન્ડશેકને એવા સરનામે મોકલે છે જે Pi પાસે નથી, તેથી ક્લાયન્ટ્સ સર્વર બાજુ એક પણ લોગ લાઇન વિના ટાઇમ આઉટ થઈ જાય છે. રિટર્ન રસ્તો ત્યારે મહત્વનો થાય છે જ્યારે બંને લિંક થોડા સમય માટે સક્રિય હોય, કારણ કે Pi એ ઇન્ટરફેસ પરથી જવાબ આપે છે જેને રૂટિંગ ટેબલ પસંદ કરે છે, અને તે હંમેશા એ જ હોતું નથી જેના પર પેકેટ આવ્યું હોય. નીચેની રૂટ શોધ દર્શાવે છે કે કર્નલ કયું સ્રોત પસંદ કરે છે.

નવા સરનામા પર ભરોસો કરો તે પહેલાં વાસ્તવિક સોકેટ વાંચો

કન્ફિગરેશન ફાઇલો ઇરાદો વર્ણવે છે અને સોકેટ વાસ્તવિકતા. તમને યાદ હોય તેવા કન્ફિગ પર ભરોસો કરવાને બદલે ચાલતી સેવાને પૂછો કે તે કોની સાથે બંધાયેલી છે. OpenVPN 2.6 મેન્યુઅલ --local ને એક સરનામા પર બાઇન્ડિંગ તરીકે વ્યાખ્યાયિત કરે છે અને નોંધે છે કે તેને છોડવાથી દરેક ઇન્ટરફેસ બંધાય છે.

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

સ્થિતિ કૉલમને બદલે સ્થાનિક સરનામા કૉલમ વાંચો. જે લાઇન 10.42.7.24:1194 દર્શાવે છે તેનો અર્થ છે કે સોકેટ તમે હમણાં દૂર કરવા જઈ રહ્યા છો તે સરનામા પર પિન છે, જ્યારે 0.0.0.0:1194 અથવા *:1194 નો અર્થ છે કે ડેમન પોતે ઇન્ટરફેસ ફેરફારને અનુસરશે. જો સરનામું પિન હોય તો ચાલુ સોકેટને હાથે ફરી લખવાને બદલે પ્રોફાઇલ સંપાદિત કરો અને યુનિટ રીસ્ટાર્ટ કરો, પછી ખાતરી કરો કે સેવા હજુ પણ તેની સર્ટિફિકેટ અને કી ફાઇલો સુધી પહોંચે છે.

ફેરફાર તમને પહોંચમાં રાખે તેવા ક્રમમાં કરો

અહીં ક્રમ ઝડપ કરતાં વધુ મહત્વનો છે. વાયરલેસ હજુ ચાલુ હોય ત્યારે વાયર્ડ લિંક ઉપર લાવો, નવું સરનામું અને રિટર્ન રસ્તો પુષ્ટિ કરો, અને પછી જ વાયરલેસ પ્રોફાઇલ નિવૃત્ત કરો. તે ક્રમ કામ કરતું સેશન ખુલ્લું રાખે છે જ્યાં સુધી બદલાયેલી ગોઠવણ સાબિત ન થાય.

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

પહેલો કમાન્ડ જવાબ આપે છે કે eth0 ને તમે ધારેલું સરનામું મળ્યું કે નહીં, અને બીજો કર્નલ બહારના ગંતવ્ય માટે વાપરશે તે સ્રોત સરનામું છાપે છે, તેથી તેને ફેરફાર પહેલાં અને પછી ચલાવો. જો તે સ્રોત હજુ પણ વાયરલેસ સરનામું હોય તો વાયર્ડ લિંક હજુ પસંદગીનો રસ્તો નથી અને બહારથી કરેલી કસોટી OpenVPN સાથે કોઈ સંબંધ ન હોય તેવા કારણથી નિષ્ફળ જશે. ફોરવર્ડને સ્પર્શ કરો તે પહેલાં રૂટિંગ પ્રાથમિકતા સુધારો.

બંને લિંક સક્રિય હોય ત્યારે Pi વાયરલેસ ડિફોલ્ટ રૂટને પસંદ કરી શકે છે કારણ કે તે પહેલાં ઇન્સ્ટોલ થયું હતું અથવા કારણ કે વાયર્ડ લિંકનું મેટ્રિક વધુ છે. Bookworm પર સમર્થિત સેટિંગ કનેક્શન પર ipv4.route-metric છે, અને Bullseye પર તેની સમકક્ષ ઇન્ટરફેસ-વિશિષ્ટ metric લાઇન dhcpcd.conf માં છે. રોલબેક રસ્તો એક કમાન્ડના અંતરે રાખવા માટે વાયરલેસ લિંક બંધ કરવાને બદલે તેની પ્રાથમિકતા ઘટાડો.

ટનલ બહારથી સાબિત કરો, LAN થી નહીં

સોફા પરથી ચાલતું VPN કનેક્શન દેખાય તેના કરતાં ઓછું સાબિત કરે છે. LAN ની અંદરથી જાહેર સરનામા તરફનો ટ્રાફિક hairpin અથવા પ્રતિબિંબ નિયમોમાંથી પસાર થાય છે જે રાઉટર અસંગત રીતે લાગુ કરે છે, તેથી પાસ થયેલી LAN કસોટી તૂટેલા બહારના રસ્તા સાથે પણ રહી શકે છે. સ્વીકૃતિ કસોટી માટે સેલ્યુલર ડેટા ધરાવતો ફોન અથવા નેટવર્કની બહારનો કોઈપણ હોસ્ટ વાપરો. LAN ના પ્રયાસને અલગ વૈકલ્પિક નિદાન તરીકે રાખો.

પછી લોગ તે ક્રમમાં વાંચો જેમાં પેકેટ આવે છે. બિલકુલ કંઈ ન હોવાનો અર્થ છે કે હેન્ડશેક ક્યારેય Pi સુધી પહોંચ્યો નથી, તેથી રીડાયરેક્ટ લક્ષ્ય અથવા હોસ્ટ ફાયરવોલ ખોટું છે. શરૂ થઈને અટકી જતો હેન્ડશેક કી, સર્ટિફિકેટ કે MTU તરફ ઇશારો કરે છે. પૂર્ણ થઈને પડી જતું સેશન સામાન્ય રીતે રિટર્ન રસ્તો કે બીજું ડિફોલ્ટ રૂટ સૂચવે છે, અને ક્લાયન્ટની લોગ લાઇન Initialization Sequence Completed કહે છે કે ટનલ પોતે ઉપર આવી ગઈ.

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

જો ક્લાયન્ટ ફરી પ્રયાસ કરતી વખતે સર્વર લોગમાં કંઈ દેખાય નહીં, તો OpenVPN કન્ફિગ વાંચવાનું બંધ કરો અને રીડાયરેક્ટ લક્ષ્ય પર પાછા જાઓ. કેપ્ચર પહોંચવાના પ્રશ્નનો જવાબ સેકન્ડોમાં આપે છે, અને જવાબ વગરના આવતા પેકેટ સમસ્યાને રૂટ સુધી મર્યાદિત કરે છે.

એક-પગલા રોલબેક રાખો અને વાયરલેસ પ્રોફાઇલ નિવૃત્ત કરો

વાયર્ડ ગોઠવણ એક રીબૂટ પાર ન કરે ત્યાં સુધી વાયરલેસ પ્રોફાઇલ ઇન્સ્ટોલ રહેવા દો. nmcli con show તમને જરૂરી પ્રોફાઇલ નામોની યાદી આપે છે, અને ભૂંસાયેલી પ્રોફાઇલ સૌથી ખરાબ ક્ષણે યાદદાસ્તમાંથી ફરી બનાવવી પડે છે. ઇન્ટરફેસનું નામ, સરનામા પદ્ધતિ અને મેટ્રિક બીજા ચાર મૂલ્યોની બાજુમાં લખો. નોંધમાંથી ટાઇપ કરી શકાય તેવો રોલબેક ફરી બનાવવો પડે તેના કરતાં વધુ કિંમતી છે.

વાયરલેસ અવલંબન નિવૃત્ત કરવું એ દૂર કરવું નથી, ગુણધર્મ બદલવો છે. connection.autoconnect no સેટ કરવાથી ક્રેડેન્શિયલ અને સરનામાનો ઇતિહાસ અકબંધ રહે છે જ્યારે Pi ને તમે છોડી આવેલા નેટવર્ક સાથે ફરી જોડાવાથી રોકવામાં આવે છે.

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

કામ પૂર્ણ જાહેર કરો તે પહેલાં ચાર વસ્તુઓ પુષ્ટિ કરો: રીડાયરેક્ટ લક્ષ્ય વાયર્ડ સરનામા સાથે મેળ ખાય છે, લિસનર એક રીસ્ટાર્ટ ટકી ગયો, બહારનો ક્લાયન્ટ હેન્ડશેક પૂર્ણ કરે છે, અને રીબૂટ પછી પણ Pi વાયર્ડ સરનામા પર જવાબ આપે છે. રીબૂટ એ ફક્ત ચાલુ કર્નલમાં હતી તેવી ફાળવણી પકડવાનો સૌથી સસ્તો રસ્તો છે. ચારમાંથી કોઈ એક નિષ્ફળ જાય તો sudo nmcli con up વડે વાયરલેસ પ્રોફાઇલ ફરી ઉપર લાવો અને લખેલા મૂલ્યોની સરખામણી ચાલુ મૂલ્યો સાથે કરો.

સંબંધિત લેખો