24Aug

Jaký je rozdíl mezi adresou Locahost a místní adresou IP?

click fraud protection


Pokud děláte spoustu síťového drotování, konfigurování aplikací založených na LAN a serverových nástrojů nebo jen zvědaví, pravděpodobně jste si všimli, že existuje rozdíl mezi localhost a místní IP adresou. Přečtěte si, abyste zjistili rozdíly.

dnešní otázka &Odpověď na zasedání se k nám dostala s laskavým svolením SuperUser - podřízenou výměnou Stack Exchange, skupině webů Q & A založených na komunitě.

Otázka

Čtečka disků SuperUser Diogo chce vědět, proč příkaz ping zachází s localhost a místní IP adresou jinak, když se na povrchu zdá, že jsou to samé:

Používání příkazů cmd a ping na Windows mi dalo následující výsledky:

Pinging "localhost":

Ping "192.168.0.10"( místní IP adresa):

Nejedná se o obě situace přesně to samé?

Chci říct, že ping na stejné rozhraní, stejný stroj a stejnou adresu. Proč mám tak rozdílné výsledky?

Je zřejmé, že existuje nějaký rozdíl, ale co se přesně děje, když přepnete mezi oběma?

Odpovědník odpovědi

SuperUser Tom Wijsman nabízí následující pohled na jemné rozdíly mezi těmito dvěma způsoby:

instagram viewer

Nejste ping na stejném rozhraní , bez fyzických rozhraní, které stále máte "místního hostitele".

Váš localhost se používá k odkazování na váš počítač z jeho "interní" IP adresy, nikoliv z jakéhokoli "externího" IP adresy vašeho počítače. Takže pakety ping neprocházejí žádné fyzické síťové rozhraní;pouze prostřednictvím rozhraní virtuální smyčky, které přímo odesílá pakety z portu do portu bez fyzického chmele.

Možná byste se ještě divili, proč localhost vyřeší: : 1, zatímco tradičně bychom očekávali, že se vyřeší na adresu IPv4 127.0.0.1.Všimněte si, že. localhost je tradičně TLD( viz RFC 2606), který odkazuje zpět na IP adresu smyčky( pro IPv4 viz RFC 3330, zejména 127.0.0.0/8).

Hledáním localhost pomocí nslookup nám dává:

nslookup localhost

. .. Název: localhost Adresy:: : 1 127.0.0.1

Tak Windows preferuje použití IPv6 smyčky zpět IP adresu: : 1( viz RFC 2373)uvedeno jako první.

Dobře, takže odkud pochází, pojďme se podívat na soubor hostitelů.

typu% WINDIR% \ System32 \ Drivers \ Etc \ Hosts

. .. # localhost rozlišení je zpracováno v rámci DNS samotného.# 127.0.0.1 localhost #: : 1 localhost. ..

Hmm, musíme se podívat na nastavení DNS systému Windows.

Tento článek publikuje informace o nastavení, které ovlivňuje systém Windows, zvýrazněný tučně:

  1. V Editoru registru vyhledejte a klepněte na následující podklíč registru: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters
  2. Poklepejte na položku DisabledComponentsupravte položku DisabledComponents. Note: Pokud není položka DisabledComponents k dispozici, musíte ji vytvořit. Postupujte takto:
    1. V nabídce Úpravy přejděte na příkaz Nový a klepněte na položku Hodnota DWORD( 32 bitů).
    2. typu DisabledComponents a stiskněte klávesu ENTER.
    3. Poklepejte na položku DisabledComponents.
  3. Do pole Údajové hodnoty: zadejte libovolnou z následujících hodnot, chcete-li nakonfigurovat protokol IPv6 na požadovaný stav a potom klepněte na tlačítko OK:
    • Type 0 pro povolení všech komponent IPv6.(Výchozí nastavení systému Windows)
    • Zadejte příkaz 0xffffffff k vypnutí všech komponent IPv6, s výjimkou rozhraní zpětné vazby IPv6.Tato hodnota také konfiguruje systém Windows, který upřednostňuje používání protokolu IP verze 4( IPv4) přes protokol IPv6 úpravou položek v tabulce zásad předpon. Další informace naleznete v tématu Výběr zdroje a cílové adresy.
    • Zadejte 0x20, chcete-li preferovat protokol IPv4 přes protokol IPv6, a to úpravou položek v tabulce zásad předpon.
    • Typ 0x10 zakáže protokol IPv6 na všech rozhraních nontunnel( na rozhraní LAN a Point-to-Point Protocol [PPP]).
    • Zadejte 0x01 pro zakázání protokolu IPv6 na všech tunelových rozhraních. Patří sem Intra-Site Automatické tunel adresování protokolu( ISATAP), 6to4, a Teredo.
    • Zadejte 0x11 pro zakázání všech rozhraní IPv6 s výjimkou rozhraní zpětné vazby IPv6.
  4. Restartujte počítač, aby se toto nastavení projevilo.

Jaká je tato tabulka zásad prefixů?

rozhraní netsh ipv6 zobrazit prefixpolicies( nebo prefixpolicy na dřívějších verzích)

Prefix Prefix ---------- ----- -------------------------------- 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

Tato tabulka určuje, které předpony mají přednost před jinými předpony během řešení DNS.

Ah, takže pomocí této KB jsme mohli přidat položky, které označují, že IPv4 má vyšší prioritu než IPv6.

Poznámka: Není potřeba toto chování potlačit, pokud nenastáváte kompatibilní problémy. Změna tohoto nastavení na našem serveru Windows rozbití náš poštovní server, a proto by se s ním mělo pracovat opatrně. ..

Nič se nám nelíbí víc než důkladná a informativní odpověď s propojenými podpůrnými dokumenty. Je zřejmé, že localhost a místní IP adresa jsou odlišné entity, slouží různým účelům a nyní všichni víme proč.

Musíte něco přidat k vysvětlení?Vypadněte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.