Leið hafnað vegna hýsilbita? Finndu fyrirhugaða forskeytið
Hafnað leiðarlína stafar venjulega af hýsilbitum, ekki vandamáli í framsendingu. Ákvarðaðu forskeytið sem þú áttir við í stað þess að víkka grímuna þar til hún er samþykkt.
Leiðarlínan þín kemur aftur hafnað, og ráðið sem þú finnur segir að virkja IP-framsendingu. Þessi tveir hlutir eru á mismunandi stigum vandans. Framsending ákveður hvort hýsill megi flytja pakka milli viðmóta; hún hefur enga skoðun á því hvort áfangastaðurinn sem þú skrifaðir sé gilt net. Lagaðu forskeytið fyrst, því framsending bjargar ekki vistfangi og grímu sem stangast á.
Hvað greinandinn kvartar í raun yfir
Áfangastaður skrifaður sem vistfang auk grímu verður að lýsa neti, og net hefst á núlluðum hýsilbitum. Þegar vistfangið sem þú gefur upp ber enn gildi í hýsilhlutanum er parið innbyrðis ósamkvæmt: 172.20.130.0 lítur snyrtilega út því það endar á núlli, en núllið í fjórða áttundarhluta er ekki það eina sem skiptir máli. Þriðji áttundarhlutinn er sá sem heldur hér villubitum.
Verkfæri meðhöndla þetta ósamræmi á mismunandi vegu. Strangir greinendur hafna línunni og nefna hýsilbita. Mildir greinendur grímusetja vistfangið og setja upp eitthvað sem þú baðst ekki um, sem er verra, því uppsetningin beinir nú sviði sem þú ætlaðir þér aldrei. ipaddress-einingin í Python býður valið beint: ströng netgreining kastar villu, og strict=False grímusetur hýsilbitana út. Biðlarinn þinn getur verið strangur, mildur eða ósamkvæmur milli útgáfa, svo lestu skilaboðin í stað þess að treysta venju.
Farðu í gegnum dæmið í höndunum
Taktu göng sem þurfa að ná 172.20.130.0 með /20 grímu. /20 fær lánaða fjóra bita úr þriðja áttundarhluta, svo sá áttundarhluti telst aðeins í skrefum upp á 16: 0, 16, 32 og áfram upp í 240. Gildið 130 fellur milli 128 og 143, sem þýðir að netið sem umlykur byrjar á 172.20.128.0, ekki á 172.20.130.0 með síðasta áttundarhlutann hreinsaðan.
Útskrifað nær blokkin frá 172.20.128.0 til 172.20.143.255 og heldur 4,096 vistföngum. Að gefa sömu gildi óströngum greinandi sýnir skiptinguna sem hann hefði gert þér til handa:
$ 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Ákveddu hvaða áfangastað þú áttir í raun við
Hafnaða línan felur venjulega eina af þremur áformum, og aðeins þú getur valið. Ef göngin þurfa alla blokkina, skrifaðu 172.20.128.0/20, hið kanóníska netvistfang. Ef göngin þurfa aðeins 130-hlutann var gríman röng og 172.20.130.0/24 er heiðarlegt form. Ef ein vél er skotmarkið, er IPv4 hýsilleið /32 og engin grímureikningur kemur við sögu.
Hver þeirra heimilar mismikið umferð, og það er raunverulega ástæðan fyrir því að víkka ekki grímuna fyrr en kvörtunin hættir. /16 samþykkir línuna nánast hvar sem er og sendir umferð til áfangastaða sem þú ætlaðir þér aldrei að beina um göngin. Skrifaðu það þrengsta forskeyti sem passar við áformið, og staðfestu það svo gagnvart næsta hoppi sem þú býst við, ekki gagnvart þögn greinandans.
Hvers vegna framsending var aldrei lausnin
Hafnað leið nær aldrei framsendingarleiðinni, svo að skipta net.ipv4.ip_forward getur ekki breytt niðurstöðunni. Sú stilling skiptir máli síðar, þegar hýsillinn þarf að miðla pökkum milli viðmóta, og að kveikja á henni áður en taflan er rétt breytir aðeins því hvaða stig mistekst næst.
Tveimur öðrum hlutum er oft kennt um á sama punkti. Leiðin getur verið samþykkt og samt tapað fyrir nákvæmari leið, og eldveggjarregla getur sleppt umferð eftir rétta uppflettingu. Haltu stigunum aðskildum: setningafræði, uppsetning, val, síun. Vinna á röngu stigi virðist afkastamikil því sérhver breyting endurræsir eitthvað.
Athugaðu uppsettu leiðina og slóðina sem hún vinnur
Þegar biðlarinn hefur samþykkt línuna skaltu skoða hvað hann setti upp og hvaða leið kjarninn velur fyrir fulltrúavistfang innan blokkarinnar. Ef uppsetta forskeytið er frábrugðið því sem þú skrifaðir hefur normalíseri unnið þér til handa.
Spurðu aðildarvistfang og líka eitt utan blokkarinnar, svo samanburðurinn sé merkingarbær frekar en ein einasta huggunarlína:
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Þriðja fyrirspurnin ætti að falla utan ganganna ef forskeytið þitt er rétt, og þegar hún gerir það ekki er leiðin sem þú byggðir víðtækari en þú heldur. Skráðu hvað forskeytinu átti að ná yfir áður en þú snertir næstu stillingu, því leið sem greinist og slóð sem virkar eru áfram aðskildar athuganir.