Raspberry Pi VPN సర్వర్ను Ethernetకు ఎలా తరలించాలి
ఎండ్పాయింట్ పేరు, లిసెనర్ బైండింగ్, పోర్ట్ ఫార్వర్డింగ్ లేదా ఒక-దశ వెనక్కి వెళ్లే మార్గాన్ని మార్చకుండా Raspberry Pi VPN సర్వర్ను Wi-Fi నుండి Ethernetకు తరలించండి.
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 ఉపయోగించి వైర్లెస్ ప్రొఫైల్ను మళ్లీ పైకి లేపి, రాసిన విలువలను నడుస్తున్న విలువలతో పోల్చండి.