24Aug

Koks skirtumas tarp Locahost ir vietinio IP adreso?


Jei atliksite daug tinklo tvarkymo, konfigūruojamų LAN programų ir serverių įrankių arba tiesiog įdomu, jūs tikriausiai pastebėjote, kad vietinio IP adreso skirtumas yra skirtingas. Skaitykite toliau, kad sužinotumėte skirtumus.

Šiandienos klausimas &Atsakymų sesija ateina pas mus iš "SuperUser" - "Stack Exchange", bendruomenės pagrįstos "Q & A" svetainių grupės pasidalijimo.

Klausimas

SuperUser skaitytuvas Diogo nori sužinoti, kodėl ping komanda skirtingai traktuoja vietinį ir vietinį IP adresus, kai ant jų paviršiaus jie yra tokie patys:

Naudojant "cmd" ir "ping" sistemoje "Windows" man buvo gauti šie rezultatai:

Pingavimas "localhost":

Pingavimas "192.168.0.10"( vietinis IP adresas):

Ar abi situacijos nėra vienodos?

Aš turiu galvoje, aš tvirtinu tą pačią sąsają, tą pačią mašiną ir tą patį adresą.Kodėl galiu gauti tokius skirtingus rezultatus?

Akivaizdu, kad yra tam tikros rūšies skirtumas, bet kas tiksliai vyksta, kai pereinaite tarp dviejų?

Atsakymas

SuperUser autorius Tom Wijsman pateikia žemiau pateiktą supratimą apie subtilius skirtumus tarp šių dviejų:

Jūs nesibaigiate tos pačios sąsajos, be fizinių sąsajų vis dar turite "vietinį kompiuterį".

Jūsų vietinis serveris naudojamas norint nukreipti kompiuterį iš jo "vidinio" IP, o ne iš bet kurių "išorinių" jūsų kompiuterio IP.Taigi, ping paketai neatitinka jokios fizinės tinklo sąsajos;tik per virtualios kilpos atgalinę sąsają, kuri tiesiogiai siunčia paketus iš uosto į uostą be jokių fizinių apynių.

Jūs vis dar galite stebėtis, kodėl localhost sprendžia: : 1, nors tradiciškai mes tikimės, kad ji išspręs prie IPv4 adreso 127.0.0.1.Atkreipkite dėmesį, kad. localhost tradiciškai yra TLD( žr. RFC 2606), kuris atkreipia dėmesį į atgalinį IP adresą( IPv4 atveju žr. RFC 3330, ypač 127.0.0.0/8).

Ieškodamas localhost naudodamas nslookup, mums:

nslookup localhost

. .. Pavadinimas: localhost adresai:: : 1 127.0.0.1

Taigi "Windows" nori naudoti IPv6 kilpos atgal IP adresą: : 1( žr. RFC 2373), nes jis yrapirmiau nurodyta.

Gerai, taigi, kur tai daro, pažiūrėkime į failą "hosts".

tipo% WINDIR% \ System32 \ Drivers \ Etc \ Kompiuteriai

. .. # vietoshost vardo raiška tvarkoma pačiame DNS.# 127.0.0.1 localhost #: : 1 localhost. ..

Hmm, turime pažvelgti į "Windows" DNS nustatymus.

Šiame straipsnyje KB informuojamas apie parametrą, kuris turi įtakos tai, ko "Windows" nori, paryškinti:

  1. registro redaktoriuje raskite ir spustelėkite šį registro raktą: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parametrai
  2. Dukart spustelėkite "DisabledComponents"pakeiskite "DisabledComponents" įrašą.Pastaba: jei neįtrauktas "DisabledComponents" įrašas, turite jį sukurti. Norėdami tai padaryti, atlikite šiuos veiksmus:
    1. Meniu Redagavimas pasirinkite Naujas, tada spustelėkite DWORD( 32 bitų) reikšmė.
    2. tipas DisabledComponents, tada paspauskite ENTER.
    3. Dukart spustelėkite "DisabledComponents".
  3. Įrašykite bet kurią iš šių reikšmių lauke Reikšmės duomenys: konfigūruokite IPv6 protokolą norima būsena, tada spustelėkite Gerai:
    • tipas 0, kad įjungtumėte visas "IPv6" komponentes.(Numatytasis Windows nustatymas)
    • Tipas 0xffffffff išjungia visus IPv6 komponentus, išskyrus IPv6 kilpos sąsają.Ši vertė taip pat konfigūruoja "Windows", norėdama naudoti IPv4 protokolą( IPv4) per IPv6, pakeisdama prefiksų politikos lentelės įrašus. Norėdami gauti daugiau informacijos, žr. Šaltinio ir paskirties adreso parinkimas.
    • tipas 0x20, norint pasirinkti IPv4 per IPv6, modifikuojant įrašus prefiksų politikos lentelėje.
    • tipas 0x10, kad išjungtumėte IPv6 visose netikslumų sąsajose( tiek LAN, tiek tarptinklinio ryšio( PPP) sąsajose).
    • Tipas 0x01, kad išjungtumėte IPv6 visose tunelio sąsajose. Tai yra automatinio tunelių adresavimo protokolas( ISATAP), 6to4 ir Teredo.
    • tipas 0x11, kad išjungtumėte visas IPv6 sąsajas, išskyrus IPv6 kilpos sąsają.
  4. Iš naujo paleiskite kompiuterį, kad šis nustatymas įsigaliotų.

Kas yra šios prefikso politikos lentelė?

netsh sąsaja ipv6 rodo prefixpolicies( arba prefixpolicy ankstesnėse versijose)

Precedento etiketės prefiksas ---------- ----- -------------------------------- 50 0: : 1/128 45 13 fc00: : / 7 40 1: : / 0 10 4: : ffff: 0: 0/96 7 14 2002: :/ 16 5 5 2001: : / 32 1 11 fec0: : / 10 1 12 3ffe: : / 16 1 10: : / 96

Ši lentelė sprendžia, kokie prefiksai turi pirmenybę prieš kitus prefiksus DNS metu.

Ah, taigi, naudojant tą KB, galėtume pridėti įrašų čia, kad būtų nurodyta, kad IPv4 turi aukštesnę pirmenybę nei IPv6.

Pastaba: Nėra pagrindo ignoruoti šią elgseną, nebent susidūrėte su problemomis. Pakeitus šį nustatymą mūsų "Windows Server" sugedo mūsų pašto serveris, todėl su ja turėtų būti elgiamasi atsargiai. ..

Nėra nieko, ko norėtume daugiau, nei kruopštus ir informatyvus atsakymas, kurį galima susieti su susietomis paramos dokumentais. Akivaizdu, kad vietinio ir vietinio IP adresai yra skirtingi subjektai, jie naudojami skirtingiems tikslams ir dabar mes visi žinome, kodėl.

Ar ką nors įtraukti į paaiškinimą?Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų?Patikrinkite visą diskusijų temą čia.