గేట్వే నిలువు వరుస ఖాళీగా ఉన్న ప్రతిసారీ రూటింగ్ పట్టికలు విరిగినవిగా చదవబడతాయి, అయితే పంక్తి సాధారణంగా తనంతట తానే పూర్తిగా ఉంటుంది. via ఫీల్డ్ కెర్నల్ ప్యాకెట్ను తదుపరి హాప్ చిరునామాకు అప్పగించినప్పుడు మాత్రమే కనిపిస్తుంది; ఇంటర్ఫేస్కు జోడించిన మార్గం దాని గమ్యాలను బదులుగా లింక్-పొర పరిష్కారం లేదా పాయింట్-టు-పాయింట్ భాగస్వామి ద్వారా చేరుకుంటుంది. నిలువు వరుసలను ఎడమ నుండి కుడికి చదవడం మీరు ఏ సందర్భంలో ఉన్నారో చెబుతుంది, ఆ పఠనం ఎవరైనా డిఫాల్ట్ మార్గాన్ని సవరించే ముందే జరగాలి. తప్పిపోయిన గేట్వే గురించిన చాలా టికెట్లు ఈ భేదం వద్దే ముగుస్తాయి.

మార్గ పంక్తిని నిలువు వరుస వరుసగా చదవండి

ప్రతి నమోదు గమ్యం మరియు దాని ప్రిఫిక్స్ పొడవుతో ప్రారంభమై, తర్వాత స్థిర పదజాలంలో మార్పులు జోడిస్తుంది: via, dev, proto, scope, src మరియు metric. 198.51.100.0/24 dev tun0 proto kernel scope link src 198.51.100.2 వంటి పంక్తి దట్టంగా ఉంటుంది కానీ పూర్తిగా నిర్దిష్టం చేయబడింది. అందులో ఏదీ తప్పిపోలేదు, ఏ రౌటర్ చిరునామా సూచించబడదు.

via లేకపోవడమే ఆసక్తికరమైన భాగం. తదుపరి హాప్ లేకుంటే, కెర్నల్ గమ్యాన్ని నేరుగా పేర్కొన్న ఇంటర్ఫేస్లో పరిష్కరిస్తుంది, ఇది సొరంగం విషయంలో ఫ్రేమ్ను సొరంగ పరికరానికి అప్పగించి ఎన్క్యాప్సులేషన్ అక్కడి నుండి చూసుకోనివ్వడం. చిరునామా కేటాయించినప్పుడు నమోదు స్వయంచాలకంగా ఇన్స్టాల్ అయిందని proto kernel నమోదు చేస్తుంది, నిర్వాహకుడు టైప్ చేసినది కాదు. ఆ లింక్పై రౌటర్ గుండా వెళ్లకుండా గమ్యం చేరుకోవచ్చని scope link చెబుతుంది, సరిపోలే ట్రాఫిక్కు మూలంగా కెర్నల్ ఇష్టపడే చిరునామాను src పేర్కొంటుంది.

ఇప్పుడు డిఫాల్ట్ మార్గాన్ని అదే విధంగా చదవండి: default via 192.0.2.254 dev eth0 proto static metric 100. ఇక్కడ via ఉంది ఎందుకంటే ప్యాకెట్కు నిజంగా తదుపరి హాప్ అవసరం, ఆ హాప్ కూడా eth0 పై చేరుకోగలిగి ఉండాలి. ఆ రెండు పంక్తులు ఒకదాని రూపాంతరాలు కావు; ట్రాఫిక్ ఎక్కడికి వెళ్తుందనే దానిపై అవి వేర్వేరు ప్రశ్నలకు జవాబిస్తాయి.

ఒకదానితో ఒకటి గందరగోళపడే రెండు మార్గ ఆకారాలు

సొరంగ ఉపజాలం మార్గం మరియు డిఫాల్ట్ మార్గం స్క్రీన్షాట్లో ఒకేలా కనిపిస్తాయి కానీ పూర్తిగా భిన్నంగా ప్రవర్తిస్తాయి. ఫీల్డ్లను చదవడానికి సహాయంగా క్రింది పట్టికను ఉపయోగించి, తర్వాత గైడ్ నమూనాను నమ్మే బదులు మీరు డీబగ్ చేస్తున్న యంత్రంలోనే నిజమైన సంఖ్యలను నిర్ధారించండి.

Piece of the lineWhat it settlesWhat it says nothing about
The destination and maskWhich packets are eligible to matchWhere those packets leave the host
via plus its addressWhich next hop receives them, and therefore that a router is involvedWhether that router is reachable or sane
devWhich interface carries the encapsulated or raw packetWhether the interface is up or has a carrier
proto and scopeWho installed the entry and how far the destination is considered to beWhether a firewall later drops the traffic

పట్టిక చెప్పలేనిది ఉద్దేశం. సొరంగం ద్వారా ప్రైవేట్ పరిధికి నేరుగా మార్గం ఉద్దేశపూర్వకంగా రూపొందించిన విభజిత సొరంగ నమూనా; అన్నింటినీ VPN ద్వారా పంపవలసిన హోస్ట్లో అదే ఆకారం కనిపించడం లక్షణం. ఉద్దేశం నమోదును సృష్టించిన కాన్ఫిగరేషన్లో నివసిస్తుంది, కాబట్టి కెర్నల్ ఏదో తప్పు చేసిందని నిర్ణయించే ముందు దాన్ని ఇన్స్టాల్ చేసిన సాధనాన్ని చూడండి.

అలాగే, తప్పిపోయిన గేట్వే ఒకటి కల్పించుకోవడానికి అనుమతి కాదు. మార్గానికి నిజంగా తదుపరి హాప్ అవసరమైతే, ఆ హాప్ దాన్ని మోసే ఇంటర్ఫేస్పై చేరుకోగలిగి ఉండాలి, పాయింట్-టు-పాయింట్ సొరంగానికి భాగస్వామి చిరునామా స్థానిక చిరునామా లాంటి అదే వస్తువు కాదు. స్థానిక సొరంగ చిరునామాను ఈథర్నెట్ రౌటర్గా పరిగణించడం సరైనదిగా కనిపించే కానీ ఏదీ ముందుకు పంపని మార్గాన్ని సృష్టించే సాధారణ మార్గం.

కెర్నల్ను నిజంగా ఏ పంక్తిని ఉపయోగిస్తుందో అడగండి

పట్టిక చదవడం శోధన చేయడం సమానం కాదు, ఎందుకంటే సమాధానం ఇచ్చే ముందు కెర్నల్ విధాన నియమాలు, అనేక పట్టికలు మరియు కాష్ చేసిన నమోదులతో సంప్రదిస్తుంది. నిజమైన శోధన చేసే క్రియ ip route get, మరియు ఆ లక్షణాలు ఉన్న ప్యాకెట్ తీసుకునే మార్గాన్ని ముద్రిస్తుంది.

ip route get 203.0.113.37 from 198.51.100.2 iif tun0

మీకు నిజంగా ముఖ్యమైన గమ్యాన్ని పెట్టండి, తర్వాత ట్రాఫిక్ మూలం ఆధారంగా ఎంపిక చేయబడినప్పుడు లేదా ముందుకు పంపబడినప్పుడు from లేదా iif జోడించండి, ఎందుకంటే సాధారణ స్థానిక శోధన ముందుకు పంపబడిన క్లయింట్ కంటే వేరే మార్గాన్ని ఎంచుకోవచ్చు. సమాధానం ఇంటర్ఫేస్, ఎంపిక చేసిన మూల చిరునామా మరియు ఏదైనా తదుపరి హాప్ను పేర్కొంటుంది, అది ఆ క్షణంలో ప్యాకెట్ రూట్ చేయబడే అదే సమాచారం.

సమాధానం మిమ్మల్ని ఆశ్చర్యపరిస్తే, ఏదైనా మార్చే ముందు నియమాలను ముద్రించండి: ip -4 rule show వాటిని ప్రాధాన్య క్రమంలో జాబితా చేస్తుంది, తన స్వంత పట్టికను లేదా గుర్తించిన ప్యాకెట్లకు నియమాన్ని ఇన్స్టాల్ చేసే VPN క్లయింట్ ప్రధాన పట్టికలో అసలు కనిపించదు. ప్రతి పట్టికను జాబితా చేయడం ఆ ఖాళీని మూసుకుంటుంది.

ip -4 route show table all | grep -E 'tun|default'

డిఫాల్ట్ను మార్చే ముందు అండర్లేను తనిఖీ చేయండి

సొరంగం స్వంత ప్యాకెట్లు దూరపు ముగింపు బిందువుకు చేరాలి, VPN పైకి రాకముందు ఉన్న మార్గాన్ని ఉపయోగించి భౌతిక ఇంటర్ఫేస్ ద్వారా అవి అలా చేస్తాయి. ఆ ముగింపు బిందువును పిన్ చేయకుండా మొత్తం డిఫాల్ట్ మార్గాన్ని మార్చడం ఎన్క్యాప్సులేట్ చేసిన ప్యాకెట్లను వాటు నిర్మించవలసిన సొరంగంలోకి పంపుతుంది, కనెక్షన్ కుప్పకూలుతుంది. మొదట ముగింపు బిందువు చిరునామా కోసం మాత్రమే శోధనతో దాని మార్గాన్ని నిర్ధారించండి.

మార్పు చేసేటప్పుడు మూడు విషయాలను వేరుగా ఉంచండి: భౌతిక ఇంటర్ఫేస్పై ఉండవలసిన ముగింపు బిందువు మార్గం, సొరంగంలోకి వెళ్లవలసిన ప్రైవేట్ పరిధులు, మిగతా అన్నింటినీ నిర్ణయించే డిఫాల్ట్. వాటిని ఆ క్రమంలో వేరు చేయండి, ఒకసారి ఒకటి వర్తించండి, ప్రతి అడుగు తర్వాత శోధనను మళ్లీ నడపండి. తర్వాత విఫలమైన పింగ్ తనంతట తానే చాలా తక్కువ నిరూపిస్తుంది, ఎందుకంటే అనుమతులు, ప్రతిస్పందన రూటింగ్, DNS మరియు సేవ స్వయంగా అన్నీ సరైన మార్గం క్రింద ఉన్నాయి.

సవరణకు ముందు పంక్తి మీకు ఇచ్చిన నాలుగు విలువలను రాయండి: గమ్యం, తదుపరి హాప్ లేదా దాని లేకపోవడం, పరికరం, మరియు ఎంపిక చేసిన మూలం. తర్వాతి మార్పు వాటిలో ఏదైనా కదిలిస్తే, ఏ నిర్ణయం నిజంగా మారిందో మీకు తెలుస్తుంది, మొత్తం పట్టికను ఊహించే బదులు ఒక నమోదును పునరుద్ధరించవచ్చు.

సంబంధిత వ్యాసాలు