మీకు సంక్లిష్టమైన నెట్వర్క్ సెటప్ ఉన్నప్పుడు, “ హోస్ట్ చేయడానికి మార్గం లేదు క్రొత్త ఇంటర్ఫేస్ను పెంచిన తర్వాత కనిపించడం ప్రారంభించండి. డిఫాల్ట్ మార్గం మార్చడం లేదా తొలగించడం దీనికి కారణం.
మీ డిఫాల్ట్ మార్గాన్ని నమోదు చేయడానికి
ip రూట్ షో
పైన చూపిన విధంగా నాకు మూడు భౌతిక ఇంటర్ఫేస్లు ఉన్నాయి, ఒకటి బాహ్య ముఖంగా మరియు రెండు అంతర్గత నెట్వర్క్లకు. కనెక్షన్ రీసెట్ చేయబడినప్పుడు డిఫాల్ట్ మార్గం నెట్వర్క్లో పడిపోయింది, దీనివల్ల నా నెట్వర్క్ మిగిలినవి సాధారణంగా పనిచేస్తాయి, ఈ యంత్రం మాత్రమే ఇంటర్నెట్ను ఎక్కడ చేరుకోవాలో తెలియదు.
యంత్రం ఇంటర్నెట్ను చేరుకోగలిగితే దానికి డిఫాల్ట్ మార్గం ఉండాలి, ఈ క్రింది ఆదేశంతో జోడించవచ్చు
sudo ip మార్గం 136.63.176.1 ద్వారా డిఫాల్ట్ను జోడిస్తుంది
మీకు ఈ సమస్య ఒకటి లేదా రెండుసార్లు కంటే ఎక్కువ తలెత్తితే, అది ఒక విసుగుగా మారుతుంది, కాబట్టి పరిస్థితిని త్వరగా సరిదిద్దడానికి నేను కొన్ని షెల్ స్క్రిప్ట్లను వ్రాశాను.
మొదటి స్క్రిప్ట్ మీ ప్రస్తుత ఐపిని మీ కోసం పొందుతుంది. నా వద్ద ST INTF STDIN గా సెట్ చేయబడింది, మీరు ఇంటర్ఫేస్ పేరును నమోదు చేయకూడదనుకుంటే దాన్ని మీ నిర్దిష్ట ఇంటర్ఫేస్కు మార్చండి.
మీకు ఇష్టమైన టెక్స్ట్ ఎడిటర్ ఉపయోగించి, నేను విమ్ను ఇష్టపడుతున్నాను మరియు నా హోమ్ డైరెక్టరీలో సోర్స్ ఫోల్డర్ను కలిగి ఉన్నాను
mkdir ~ / src && cd ~ / src
నేను getip.sh వచ్చాను
#! / బిన్ / బాష్
# ఇచ్చిన పరికరం కోసం ఐపి చిరునామాను సెట్ చేయండి
INTF = {{1}
PTH = (~ / src /)
TMP_IP2 ను ప్రకటించండి
TMP_IP2 = $ (ip a | grep $ {INTF} | grep inet | cut -d ”” -f6 | cut -d “/” -f1> $ {PTH} current _ $ {INTF} .ip)
ip a | grep $ {INTF} | grep inet | cut -d ”” -f6 | cut -d “/” -f1 | cut -d ”.” -f1-3 | awk ‘{print $ 0 ″ .0 / 24 ″}’> $ {PTH} net _ $ {INTF} .ip
ip a | grep $ {INTF} | grep inet | cut -d ”” -f6 | cut -d “/” -f1 | cut -d ”.” -f1-3 | awk ‘{print $ 0 ″ .1 ″}’> $ {PTH} gw _ $ {INTF} .ip
TMP_IP ని ప్రకటించండి
TMP_IP = $ (పిల్లి $ {PTH} ప్రస్తుత _ $ {INTF} .ip)
ప్రతిధ్వని “ప్రస్తుత వాన్ ఐపి $ TMP_IP”
సేవ్ చేసి నిష్క్రమించండి, దాన్ని ఎక్జిక్యూటబుల్ చేసి, ఆపై దాన్ని పరీక్షించండి.
sudo chmod a + x getip.sh
బాష్ getip.sh eth0.2
మీ కోసం సరిగ్గా పని చేసిందని uming హిస్తూ ముందుకు సాగండి మరియు దానిని ప్రపంచవ్యాప్తంగా అమలు చేయగలిగేలా చేయడానికి / usr / local / bin / లోకి కాపీ చేయండి.
sudo cp getip.sh / usr / local / bin / getip
ఇప్పుడు నేను getip eth0.2 అని టైప్ చేయవచ్చు మరియు ip తిరిగి ఇవ్వబడుతుంది.
రెండవ స్క్రిప్ట్ డిఫాల్ట్ మార్గాన్ని కేటాయిస్తుంది, అలాగే మొదటి స్క్రిప్ట్ను అమలు చేస్తుంది.
నేను setip.sh నుండి వచ్చాను
#! / బిన్ / బాష్
getip $ {1}
# ఇచ్చిన పరికరం కోసం ఐపి చిరునామాను సెట్ చేయండి
PTH = (~ / src /)
RT_IP ని ప్రకటించండి
RT_IP = $ (పిల్లి $ {PTH} gw _ $ {1} .ip)
RT RT_IP ద్వారా ip మార్గం మార్పు డిఫాల్ట్
ip మార్గం $ RT_IP ద్వారా డిఫాల్ట్ని జోడిస్తుంది
ప్రతిధ్వని “ip మార్గం - default RT_IP ద్వారా డిఫాల్ట్”
సేవ్ చేసి వదిలేయండి. నాకు మార్పు మరియు డిఫాల్ట్ మార్గం రెండూ ఉన్నాయని మీరు గమనించి ఉండవచ్చు, ఇది మీకు తప్పు గేట్వే సెట్ చేసిన సందర్భాల కోసం.
sudo chmod a + x setip.sh
sudo setip.sh eth0.2
అన్నీ బాగున్నాయని రెండుసార్లు తనిఖీ చేయడానికి మీరు మళ్లీ రౌటింగ్ పట్టికను తనిఖీ చేయవచ్చు.
sudo ip రూట్ షో
మీరు స్క్రిప్ట్లను ప్రపంచవ్యాప్తంగా ఎక్జిక్యూటబుల్ కావాలనుకుంటే / usr / local / bin / లోకి కాపీ చేయవచ్చు. మీరు సవరించడం మరియు ఇంటర్ఫేస్ చేస్తున్నందున దీనికి ఇప్పటికీ సుడో అవసరం.
2 నిమిషాలు చదవండిsudo cp setip.sh / usr / local / bin / setip