హోస్ట్ బిట్ల కారణంగా మార్గం తిరస్కరించబడిందా? ఉద్దేశించిన ప్రిఫిక్స్ కనుగొనండి
తిరస్కరించబడిన మార్గ పంక్తి సాధారణంగా హోస్ట్ బిట్ల కారణంగా ఉంటుంది, ఫార్వార్డింగ్ సమస్య కాదు. మాస్క్ విస్తరించే బదులు మీరు ఉద్దేశించిన ప్రిఫిక్స్ను నిర్ణయించండి.
మీ మార్గ పంక్తి తిరస్కరించబడి తిరిగి వస్తుంది, మీకు దొరికే సలహా IP ఫార్వార్డింగ్ ప్రారంభించమని చెబుతుంది. ఈ రెండూ సమస్య యొక్క వేర్వేరు దశల్లో ఉన్నాయి. ఫార్వార్డింగ్ ఒక హోస్ట్ ఇంటర్ఫేస్ల మధ్య ప్యాకెట్లను కదిలించగలదా అని నిర్ణయిస్తుంది; మీరు టైప్ చేసిన గమ్యం చెల్లుబాటు అయ్యే నెట్వర్కా అనే దానిపై దానికి అభిప్రాయం లేదు. మొదట ప్రిఫిక్స్ సరిచేయండి, ఎందుకంటే సరిపోని చిరునామా మరియు మాస్క్ను ఫార్వార్డింగ్ కాపాడదు.
పార్సర్ నిజంగా ఏమి గురించి ఫిర్యాదు చేస్తోంది
చిరునామా మరియు మాస్క్గా రాసిన గమ్యం నెట్వర్క్ను వివరించాలి, నెట్వర్క్ సున్నా చేసిన హోస్ట్ బిట్లతో మొదలవుతుంది. మీరు ఇచ్చిన చిరునామా ఇంకా హోస్ట్ భాగంలో విలువను కలిగి ఉంటే, జంట అంతర్గతంగా విరుద్ధంగా ఉంటుంది: 172.20.130.0 సున్నాతో ముగుస్తుంది కాబట్టి చక్కగా కనిపిస్తుంది, కానీ నాల్గవ ఆక్టెట్లోని సున్నా మాత్రమే ముఖ్యమైనది కాదు. ఇక్కడ తప్పిపోయిన బిట్లను మూడవ ఆక్టెట్ కలిగి ఉంది.
ఈ అస్థిరతను సాధనాలు వేర్వేరుగా నిర్వహిస్తాయి. కఠినమైన పార్సర్లు పంక్తిని తిరస్కరించి హోస్ట్ బిట్లను పేర్కొంటాయి. మృదువైన పార్సర్లు చిరునామాను మాస్క్ చేసి మీరు అడగనిది ఇన్స్టాల్ చేస్తాయి, ఇది మరింత దారుణం, ఎందుకంటే కాన్ఫిగరేషన్ ఇప్పుడు మీరు ఎప్పుడూ ఉద్దేశించని పరిధిని మార్గనిర్దేశం చేస్తోంది. Python యొక్క ipaddress మాడ్యూల్ ఎంపికను నేరుగా చూపిస్తుంది: కఠినమైన నెట్వర్క్ పార్సింగ్ లోపాన్ని లేపుతుంది, strict=False హోస్ట్ బిట్లను మాస్క్ చేస్తుంది. మీ క్లయింట్ వెర్షన్ల మధ్య కఠినంగా, మృదువుగా లేదా అస్థిరంగా ఉండవచ్చు, కాబట్టి అలవాటును నమ్మకుండా సందేశాన్ని చదవండి.
ఉదాహరణను చేతితో చేయండి
/20 మాస్క్తో 172.20.130.0 చేరుకోవాల్సిన టన్నెల్ తీసుకోండి. /20 మూడవ ఆక్టెట్ నుండి నాలుగు బిట్లను అప్పు తీసుకుంటుంది, కాబట్టి ఆ ఆక్టెట్ 16 యొక్క అడుగు మాత్రమే లెక్కించబడుతుంది: 0, 16, 32 మరియు తరువాత 240 వరకు. విలువ 130, 128 మరియు 143 మధ్య పడుతుంది, అంటే చుట్టుపక్కల నెట్వర్క్ 172.20.128.0 నుండి మొదలవుతుంది, చివరి ఆక్టెట్ సున్నా చేసిన 172.20.130.0 నుండి కాదు.
రాసిన రూపంలో బ్లాక్ 172.20.128.0 నుండి 172.20.143.255 వరకు సాగుతుంది మరియు 4,096 చిరునామాలను కలిగి ఉంటుంది. అదే విలువలను కఠినం కాని పార్సర్కు ఇవ్వడం అది మీ తరఫున చేసే ప్రత్యామ్నాయాన్ని చూపిస్తుంది:
$ python3 -c "import ipaddress; n=ipaddress.ip_network('172.20.130.0/20', strict=False); print(n, n.num_addresses)"
172.20.128.0/20 4096మీరు నిజంగా ఏ గమ్యాన్ని ఉద్దేశించారో నిర్ణయించండి
తిరస్కరించబడిన పంక్తి సాధారణంగా మూడు ఉద్దేశాలలో ఒకదాన్ని దాచుతుంది, ఎంచుకోగలిగేది మీరే. టన్నెల్కు మొత్తం బ్లాక్ అవసరమైతే, కానానికల్ నెట్వర్క్ చిరునామా అయిన 172.20.128.0/20 రాయండి. టన్నెల్కు 130 విభాగం మాత్రమే అవసరమైతే, మాస్క్ తప్పు, 172.20.130.0/24 నిజాయితీ రూపం. లక్ష్యం ఒకే మెషిన్ అయితే, IPv4 హోస్ట్ మార్గం /32 మరియు ఎలాంటి మాస్క్ గణితం పాల్గొనదు.
ప్రతి ఒక్కటి వేర్వేరు మొత్తంలో ట్రాఫిక్ను అనుమతిస్తుంది, ఫిర్యాదు ఆగే వరకు మాస్క్ను విస్తరించకూడదని ఇదే నిజమైన కారణం. /16 దాదాపు ప్రతిచోటా పంక్తిని అంగీకరించి, టన్నెల్ ద్వారా మీరు ఎప్పుడూ మార్గనిర్దేశం చేయాలనుకోని గమ్యాలకు ట్రాఫిక్ పంపుతుంది. ఉద్దేశానికి సరిపోయే అత్యంత సన్నని ప్రిఫిక్స్ రాయండి, ఆపై మీరు ఆశించే తదుపరి హాప్కు వ్యతిరేకంగా నిర్ధారించండి, పార్సర్ మౌనానికి వ్యతిరేకంగా కాదు.
ఫార్వార్డింగ్ ఎందుకు పరిష్కారం కాదు
తిరస్కరించబడిన మార్గం ఎప్పుడూ ఫార్వార్డింగ్ మార్గానికి చేరుకోదు, కాబట్టి net.ipv4.ip_forward మార్చడం ఫలితాన్ని మార్చలేదు. ఆ సెట్టింగ్ తర్వాత ముఖ్యం, హోస్ట్ ఇంటర్ఫేస్ల మధ్య ప్యాకెట్లను పంపాల్సి వచ్చినప్పుడు, మరియు పట్టిక సరైనది కాకముందే దాన్ని ఆన్ చేయడం తదుపరి ఏ దశ విఫలమవుతుందో మాత్రమే మారుస్తుంది.
అదే బిందువు వద్ద మరో రెండు విషయాలు తరచుగా నిందించబడతాయి. మార్గం అంగీకరించబడి కూడా మరింత నిర్దిష్ట మార్గానికి ఓడిపోవచ్చు, సరైన శోధన తర్వాత ఫైర్వాల్ నియమం ట్రాఫిక్ను పడవేయవచ్చు. దశలను వేరుగా ఉంచండి: వాక్యనిర్మాణం, సంస్థాపన, ఎంపిక, ఫిల్టరింగ్. తప్పు దశలో పని చేయడం ఉత్పాదకంగా అనిపిస్తుంది, ఎందుకంటే ప్రతి మార్పు ఏదో ఒకదాన్ని మళ్లీ ప్రారంభిస్తుంది.
ఇన్స్టాల్ చేసిన మార్గం మరియు అది గెలిచే మార్గాన్ని తనిఖీ చేయండి
క్లయింట్ పంక్తిని అంగీకరించిన తర్వాత, అది ఏమి ఇన్స్టాల్ చేసింది, బ్లాక్ లోపల ప్రతినిధి చిరునామాకు కెర్నల్ ఏ మార్గాన్ని ఎంచుకుంటుందో చూడండి. ఇన్స్టాల్ చేసిన ప్రిఫిక్స్ మీరు రాసిన దానికి భిన్నంగా ఉంటే, ఒక సాధారణీకరణకర్త మీ తరఫున పని చేసింది.
బ్లాక్ లోపల సభ్య చిరునామా మరియు వెలుపల ఒకటి అడగండి, పోలిక ఓదార్పు పంక్తి కాకుండా అర్థవంతంగా ఉండటానికి:
ip -4 route show 172.20.128.0/20
ip -4 route get 172.20.140.10
ip -4 route get 172.20.200.10మీ ప్రిఫిక్స్ సరైనదైతే మూడవ ప్రశ్న టన్నెల్ వెలుపల పడాలి, పడకపోతే మీరు నిర్మించిన మార్గం మీరు అనుకున్నదాని కంటే విశాలమైనది. తదుపరి సెట్టింగ్ను తాకే ముందు ప్రిఫిక్స్ ఏమి కవర్ చేయాల్సి ఉందో నమోదు చేయండి, ఎందుకంటే పార్స్ అయ్యే మార్గం మరియు పని చేసే బాట వేర్వేరు పరిశీలనలుగానే ఉంటాయి.