24Aug
Ak robíte veľa sieťového drotovania, konfiguráciu aplikácií založených na LAN a serverových nástrojov alebo len zvedavých, ste si pravdepodobne všimli, že existuje rozdiel medzi localhost a miestnou IP adresou.Čítajte ďalej, aby ste zistili rozdiely.
dnešná otázka &Odpoveď na zasadnutie nám príde s láskavým dovolením SuperUser - subdivíziu Stack Exchange, komunitne riadeného zoskupenia webových stránok Q & A.
Otázka
Čítačka SuperUser Diogo chce vedieť, prečo príkaz ping zaobchádza s localhost a lokálnou IP adresou inak, keď sa na povrchu zdá, že sú to isté:
Použitie cmd a ping na Windows mi dal nasledovné výsledky:
Pinging "localhost":
Pinging "192.168.0.10"( lokálna IP adresa):
Nie sú obe situácie úplne rovnaké?
Mám na mysli ping na rovnaké rozhranie, rovnaký stroj a rovnakú adresu. Prečo mám takéto odlišné výsledky?
Je zrejmé, že existuje nejaký rozdiel, ale čo presne prebieha, keď prepnete medzi dvoma?
Príspevok odpovede
SuperUser Tom Wijsman ponúka nasledujúci pohľad na jemné rozdiely medzi týmito dvoma:
Nie ste ping na rovnakom rozhraní bez fyzických rozhraní, ktoré stále máte "miestny hostiteľ".
Váš localhost sa používa na označenie vášho počítača z jeho "internej" IP adresy, nie z "externých" IP adries vášho počítača. Ping pakety neprechádzajú cez žiadne fyzické sieťové rozhranie;iba prostredníctvom rozhrania virtuálnej slučky, ktorá priamo odošle pakety z portu do portu bez akéhokoľvek fyzického chmeľu.
Možno by ste sa ešte zaujímali, prečo localhost vyriešil: 1, zatiaľ čo tradične by sme očakávali, že vyrieši adresu IPv4 127.0.0.1.Treba poznamenať, že. localhost je tradične TLD( pozri RFC 2606), ktorý odkazuje späť na IP adresu slučky( pre protokol IPv4 pozri RFC 3330, najmä 127.0.0.0/8).
Vyzerá to localhost pomocou nslookup nám dáva:
nslookup localhost
. .. Názov: localhost Adresy:: : 1 127.0.0.1Preto Windows preferuje použiť IPv6 slučku späť IP adresu: : 1( pozri RFC 2373)uvedené prvé.
Dobre, takže odkiaľ pochádza, poďme sa pozrieť na súbor hostiteľov.
typu% WINDIR% \ System32 \ Drivers \ Etc \ Hosts
. .. # localhost názov rozlíšenie je spracované v rámci DNS sám.# 127.0.0.1 localhost #: : 1 localhost. ..Hmm, musíme sa pozrieť na nastavenia DNS systému Windows.
Tento článok KB nám hovorí o nastavení, ktoré ovplyvňuje to, čo systém Windows preferuje, zvýraznený tučným písmom:
- V Editora databázy Registry vyhľadajte a kliknite na nasledujúci podkľúč databázy Registry: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters
- Dvakrát kliknite na položku DisabledComponentsupravte položku DisabledComponents. Note: Ak je položka DisabledComponents nedostupná, musíte ju vytvoriť.Postupujte nasledovne:
- V ponuke Úpravy ukážte na položku Nové a potom kliknite na položku Hodnota DWORD( 32-bitová).
- typu DisabledComponents a potom stlačte kláves ENTER.
- Dvakrát kliknite na DisabledComponents.
- Zadajte ktorúkoľvek z nasledujúcich hodnôt do poľa Hodnota údajov: nakonfigurujte protokol IPv6 na požadovaný stav a potom kliknite na tlačidlo OK:
- Typ 0 povolí všetky komponenty protokolu IPv6.(Predvolené nastavenie systému Windows)
- Zadajte príkaz 0xffffffff na vypnutie všetkých komponentov protokolu IPv6 okrem rozhrania spätnej väzby protokolu IPv6.Táto hodnota tiež konfiguruje systém Windows, ktorý uprednostňuje používanie protokolu IPv4( IPv4) cez protokol IPv6 úpravou položiek v tabuľke pravidiel prefixu.Ďalšie informácie nájdete v časti Výber zdroja a cieľovej adresy.
- Typ 0x20 uprednostňuje IPv4 cez protokol IPv6 úpravou položiek v tabuľke pravidiel prefixu.
- Typ 0x10 zakáže IPv6 na všetkých nontunnelových rozhraniach( na rozhraní LAN a Point-to-Point Protocol [PPP]).
- Typ 0x01 na zakázanie IPv6 na všetkých tunelových rozhraniach. Patria sem Protokol na automatické tunelovanie v rámci lokality( ISATAP), 6to4 a Teredo.
- Typ 0x11 zakáže všetky rozhrania IPv6 s výnimkou rozhrania IPv6 loopback.
- Reštartujte počítač, aby sa toto nastavenie prejavilo.
Čo je to tabuľka pravidiel prefixu?
rozhranie netsh ipv6 zobrazuje prefixpolicies( alebo prefixpolicy na predchádzajúcich verziách)
predpona pre predpony ---------- ----- -------------------------------- 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: : / 96Táto tabuľka určuje, ktoré predpony majú prednosť pred inými predponami počas rozlíšenia DNS.
Ah, takže pomocou KB sme tu mohli pridať záznamy, ktoré označujú, že IPv4 má vyššiu prioritu ako IPv6.
Poznámka: Nie je žiadny dôvod na prekonanie tohto správania, ak nemáte kompatibilné problémy. Zmena tohto nastavenia na našom serveri Windows zlomila náš poštový server, preto by sa s ním malo zaobchádzať opatrne. ..
Nič sa nám nepáči viac ako dôkladná a informatívna odpoveď s prepojenými podpornými dokumentmi. Samozrejme, localhost a lokálna IP adresa sú odlišné entity, slúžia rôznym účelom a teraz všetci vieme prečo.
Musíte niečo pridať k vysvetleniu? Zvuk vypnúť v komentároch. Chcete si prečítať viac odpovedí od iných používateľov technológie Stack Exchange? Pozrite sa na celý diskusný príspevok tu.