VPN మార్గంలో తదుపరి హాప్: గేట్వే స్థానికంగా చేరుకోగలిగి ఉండాలి ఎందుకు
ఒక మార్గం యొక్క via చిరునామా మీరు పంపే లింక్పై చేరుకోగలిగి ఉండాలి. బదిలీని అనుసరించండి, శోధనను ధృవీకరించండి మరియు ట్రాఫిక్ ఉన్న హోస్ట్ నుండి పరీక్షించండి.
VPN నెట్వర్క్లోకి వెళ్లే మార్గం గందరగోళపరచుకోవడం సులభమైన రెండు చిరునామాలను మోసుకెళ్తుంది: ప్యాకెట్ చేరుకోవడానికి ప్రయత్నించే గమ్యస్థాన పూర్వపదం మరియు దానిని ఒక అడుగు దగ్గరకు జరిపే తదుపరి హాప్. LAN హోస్ట్పై, ఆ తదుపరి హాప్ మీరు నిజంగా అదే లింక్పై చేరుకోగల రౌటర్గా ఉండాలి. దూరపు VPN చిరునామా తదుపరి హాప్ కాదు, మీ మనస్సులో ఉన్న గమ్యస్థానంతో అది ఎంత చక్కగా సరిపోలినా.
ఈ రన్బుక్ సాధారణ సందర్భాన్ని కవర్ చేస్తుంది: 192.168.20.0/24 పై ల్యాప్టాప్, LAN చిరునామా 192.168.20.5 ఉన్న VPN గేట్వే, మరియు ఆ గేట్వే వెనుక 10.70.0.0/24 దూరపు నెట్వర్క్. క్రింది అన్ని ఆదేశాలు మీరు ల్యాప్టాప్పై ఉన్నారని ఊహిస్తాయి, వేరే విధంగా చెప్పకపోతే.
రెండు చిరునామాలు, ఒక మార్గం
ఉద్దేశించిన నమోదు 10.70.0.0/24 via 192.168.20.5. పూర్వపదం ప్యాకెట్ ఎక్కడికి వెళ్తుందో చెబుతుంది; via చిరునామా దానిని అక్కడికి ఎవరు తీసుకెళ్తున్నారో చెబుతుంది. మీరు పేర్కొన్న ఇంటర్ఫేస్ ద్వారా గేట్వేను చేరుకోలేని మార్గాన్ని ఇన్స్టాల్ చేయడానికి కెర్నల్ నిరాకరిస్తుంది, ఆ నిరాకరణే మొత్తం విషయం: చేరుకోగలిగి ఉండటానికి సొరంగం అవసరమయ్యే తదుపరి హాప్, సొరంగాన్ని నిర్మించే తదుపరి హాప్ కాలేదు.
కాబట్టి మొదటి తనిఖీ «గేట్వే నడుస్తోందా» కాదు, «గేట్వే ఈ లింక్పై ఉందా» అనేది. ల్యాప్టాప్ యొక్క స్వంత సబ్నెట్, దాని ARP లేదా పొరుగు నమోదు, మరియు మార్గంలోని ఇంటర్ఫేస్ — అన్నీ ఏకీభవించాలి. 10.70.0.0/24 లోపల మాత్రమే ఉన్న చిరునామా రెండవ మార్గం యొక్క గమ్యస్థానం కావచ్చు, కానీ మొదటి దాని via ఎప్పటికీ కాలేదు.
తదుపరి హాప్ గేట్వేను ఏమి చేయమని బాధ్యత వహిస్తుంది
ల్యాప్టాప్పై మార్గాన్ని ఇన్స్టాల్ చేయడం మొదటి బదిలీని మాత్రమే నిర్ణయిస్తుంది. తర్వాత గేట్వేకు దాని స్వంత మార్గం కావాలి: ప్రారంభించిన ఫార్వార్డింగ్, 10.70.0.0/24 కోసం సొరంగ మార్గం, మరియు ఎవరు దీన్ని ఉపయోగించవచ్చో నిర్ణయించే ఏదైనా యాక్సెస్ విధానం. Linux లో అది net.ipv4.ip_forward=1 మరియు సొరంగ మార్గం; దాని ముందున్న ఫైర్వాల్కు ఫార్వార్డ్ అయ్యే ప్రవాహాన్ని అనుమతించే నియమం కావాలి.
తిరిగి వచ్చే దిశను ప్రజలు మరచిపోతారు. దూరపు వైపు 192.168.20.0/24 వైపు తిరిగి వెళ్లే మార్గం ఉండాలి, లేదా డిజైన్ ల్యాప్టాప్ యొక్క మూలాన్ని దూరపు వైపు తెలిసిన దానిగా అనువదించాలి. గేట్వే నుండి పనిచేసే ping గేట్వే దూరపు నెట్వర్క్ను చేరుకోగలదని నిరూపిస్తుంది; ల్యాప్టాప్ ప్యాకెట్లు తిరుగు ప్రయాణంలో నిలిచి ఉంటాయా అనే దాని గురించి అది ఏమీ చెప్పదు.
పంపే హోస్ట్ నుండి శోధనను ధృవీకరించండి
కెర్నల్ ఏ తదుపరి హాప్ను ఎంచుకుంటుందో అడగండి, మరియు సమాధానంలోని ఇంటర్ఫేస్ చదవండి:
ip route get 10.70.0.10
ip route show 10.70.0.0/24
ip neigh show 192.168.20.5
శోధన గేట్వే మరియు LAN ఇంటర్ఫేస్ను నివేదిస్తే, మొదటి భాగం ఉద్దేశించిన విధంగా కాన్ఫిగర్ చేయబడింది. అది సొరంగ పరికరాన్ని నివేదిస్తే, పట్టికలో ముందున్న ఏదో మరింత నిర్దిష్టంగా ఉంది మరియు గెలుస్తోంది. మార్గం అసలే ఇన్స్టాల్ కాకపోతే, గేట్వే చేరుకోలేము అని కెర్నల్ మీకు చెబుతోంది, ఆ సందేశం ఏ ప్యాకెట్ క్యాప్చర్ కంటే ఉపయోగకరం.
తర్వాత సరైన స్థలం నుండి పరీక్షను పునరావృతం చేయండి. గేట్వేపై సృష్టించిన అభ్యర్థన గేట్వే యొక్క స్వంత మూల చిరునామాన్ని ఉపయోగిస్తుంది, ఇది తప్పిపోయిన తిరిగి వచ్చే మార్గాన్ని లేదా కొన్ని మూలాలకు మాత్రమే అనుమతి ఇచ్చే విధానాన్ని దాచగలదు. ip-route మాన్యువల్ గమ్యస్థానం, గేట్వే మరియు onlink ఓవర్రైడ్ను వేరు చేస్తుంది, ఓవర్రైడ్ను ఉపయోగించే ముందు దాన్ని అర్థం చేసుకోవడం విలువైనది.
చేరుకునే సామర్థ్యాన్ని నకిలీ చేయడానికి onlink ఉపయోగించవద్దు
onlink కెర్నల్కు గేట్వే యొక్క చేరుకునే తనిఖీని దాటవేసి అయినా అక్కడికి పంపమని చెబుతుంది. అది మార్గాన్ని సృష్టించదు, అక్కడ లేని చిరునామాకు ARP పరిష్కరించదు, మరియు మీ Ethernet విభాగంలో దూరపు రౌటర్ సమాధానం ఇచ్చేలా చేయదు. సమాధానం ఇచ్చే కానీ అనుసంధానించిన సబ్నెట్లో లేని గేట్వేలకు ఇది చట్టబద్ధం, మీరు వివరించని లోపాన్ని నిశ్శబ్దం చేయడానికి ఉపయోగిస్తే ఇది ఉచ్చు.
మార్గం onlink తో మాత్రమే ఇన్స్టాల్ అయితే, తదుపరి ప్రశ్న గేట్వే మీరు అనుకున్న చోట ఎందుకు లేదు అనేది. తప్పు VLAN, తప్పు ఇంటర్ఫేస్పై రెండవ చిరునామా, లేదా చివరి ఆక్టెట్లో టైపో — ఇవన్నీ దీన్ని ఉత్పత్తి చేస్తాయి, వాటిలో ప్రతిదీ ట్రాఫిక్ ప్రవహించడం ప్రారంభించినప్పుడు తిరిగి వెళ్లే మార్గాన్ని కూడా విచ్ఛిన్నం చేస్తుంది.
పాయింట్-టు-పాయింట్ సొరంగాలు Ethernet కావు
సొరంగ పరికరం ARP చేయదు మరియు తరచుగా పొరుగువారి అర్థవంతమైన సబ్నెట్ ఉండదు. దాని మార్గాలు తరచుగా 10.70.0.0/24 dev tun0 లాగా కనిపిస్తాయి, ఎలాంటి via లేకుండా, ఎందుకంటే జోడి మాత్రమే మరో చివర. ఆ పట్టికలో LAN శైలి via ను కాపీ చేస్తే కెర్నల్ తిరస్కరించగల మార్గం లేదా, అంతకంటే దారుణంగా, జోడి ఎప్పటికీ సమాధానం ఇవ్వని చిరునామాను సూచించే మార్గం ఏర్పడుతుంది.
రన్బుక్లో రెండు నమూనాలను విడిగా ఉంచండి: LAN మార్గానికి చేరుకోగల గేట్వే ఉంటుంది, సొరంగ మార్గానికి ఇంటర్ఫేస్ మరియు జోడి ఉంటాయి. WireGuard, OpenVPN మరియు IPsec అన్నీ కొద్దిగా భిన్నమైన ఆకారాలను చూపుతాయి, కాబట్టి ఒక హోస్ట్ నుండి సాధారణీకరించడం బదులు మీరు నిజంగా ఉపయోగించిన ఆకారాన్ని నమోదు చేయండి.
జోడించండి, నిర్ధారించండి, వెనక్కి తీసుకోండి
మొత్తం మార్పు మూడు ఆదేశాలు మరియు ఒక తనిఖీ, దాన్ని అదే క్రమంలో రాయాలి:
sudo ip route add 10.70.0.0/24 via 192.168.20.5
ip route get 10.70.0.10
ping -c 3 10.70.0.10
sudo ip route del 10.70.0.0/24 via 192.168.20.5
మార్గాన్ని నిర్ధారించండి, ఒక గమ్యస్థానాన్ని నిర్ధారించండి, తర్వాత మార్పు హోస్ట్ను మీరు ఊహించని విధంగా చేరుకోలేనిదిగా చేస్తే తొలగించే పంక్తిని సిద్ధంగా ఉంచండి. మార్గం రీబూట్ తర్వాత కూడా ఉండాలంటే, దాన్ని shell ప్రొఫైల్లో కాకుండా హోస్ట్ నెట్వర్క్ కాన్ఫిగరేషన్లో ఉంచండి, మరియు దానిపై ఆధారపడే ముందు రీబూట్ను పరీక్షించండి. తనను జోడించిన shell లో మాత్రమే ఉన్న మార్గం మీరు రెండుసార్లు డీబగ్ చేసే మార్గం.