Wat is het verschil tussen het Locahost en het lokale IP-adres?
Als je veel aan het sleutelen bent met het netwerk, LAN-gebaseerde apps en servertools configureert, of gewoon nieuwsgierig bent, heb je waarschijnlijk gemerkt dat er een verschil is tussen de localhost en het lokale IP-adres. Lees verder om de verschillen te leren.
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep van Q & A-websites.
De vraag
SuperUser-lezer Diogo wil weten waarom het ping-commando de localhost en het lokale IP-adres anders behandelt wanneer ze, op het eerste gezicht, hetzelfde lijken:
Het gebruik van cmd en ping op Windows gaf me de volgende resultaten:
Pinging "localhost":
Pingelen "192.168.0.10" (lokaal IP-adres):
Zijn niet beide situaties precies hetzelfde?
Ik bedoel, ik pings dezelfde interface, dezelfde machine en hetzelfde adres. Waarom krijg ik zulke verschillende resultaten??
Het is duidelijk dat er een verschil is, maar wat er precies aan de hand is wanneer je tussen de twee schakelt?
Het antwoord
SuperUser-bijdrager Tom Wijsman biedt het volgende inzicht in de subtiele verschillen tussen de twee:
Je pingt niet dezelfde interface, zonder fysieke interfaces heb je nog steeds een "lokale host".
Jouw
localhost
wordt gebruikt om naar uw computer te verwijzen vanuit zijn "interne" IP, niet vanaf enige "externe" IP's van uw computer. Dus, de ping-pakketten passeren geen fysieke netwerkinterface; alleen via een virtuele loopback-interface die de pakketten rechtstreeks van poort naar poort verzendt zonder enige fysieke hop.Je vraagt je misschien nog steeds af waarom
localhost
is het oplossen van:: 1
, terwijl we van oudsher verwachten dat het zou oplossen naar het IPv4-adres127.0.0.1
. Let daar op.localhost
is traditioneel een TLD (zie RFC 2606) dat verwijst naar het terugloop-IP-adres (voor IPv4, zie RFC 3330, vooral 127.0.0.0/8).Opzoeken
localhost
gebruik makend vannslookup
geeft ons:
nslookup localhost
... Naam: localhost Adressen: :: 1 127.0.0.1
Daarom geeft Windows de voorkeur aan het IPv6-lus-back-IP-adres
:: 1
(zie RFC 2373) zoals het eerst wordt vermeld.Oké, dus waar komt het vandaan, laten we het hosts-bestand bekijken.
type% WINDIR% \ System32 \ Drivers \ Etc \ Hosts
... # localhost name resolution wordt afgehandeld binnen DNS zelf. # 127.0.0.1 localhost # :: 1 localhost ...
Hmm, we moeten naar de DNS-instellingen van Windows kijken.
Dit KB-artikel vertelt ons over een instelling die invloed heeft op wat Windows verkiest, met de nadruk op vet weergegeven:
- Zoek in de Register-editor naar en klik op de volgende registersubsleutel:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters
- Dubbelklik op DisabledComponents om het item DisabledComponents te wijzigen. Opmerking: als het item DisabledComponents niet beschikbaar is, moet u het maken. Hiertoe gaat u als volgt te werk:
- Wijs in het menu Bewerken de optie Nieuw aan en klik op DWORD (32-bits) -waarde.
- Typ DisabledComponents en druk op ENTER.
- Dubbelklik op DisabledComponents.
- Typ een van de volgende waarden in het veld Waardegegevens: om het IPv6-protocol in de gewenste staat te configureren en klik vervolgens op OK:
- Type
0
om alle IPv6-componenten in te schakelen. (Standaardinstelling van Windows)- Type
0xffffffff
om alle IPv6-componenten uit te schakelen, met uitzondering van de IPv6-loopback-interface. Deze waarde configureert Windows ook om de voorkeur te geven aan het gebruik van Internet Protocol versie 4 (IPv4) boven IPv6 door het wijzigen van vermeldingen in de prefix-beleidstabel. Zie Bron- en bestemmingsadres selecteren voor meer informatie.- Type
0x20
de voorkeur geven aan IPv4 boven IPv6 door de vermeldingen in de beleidstabel voor prefix te wijzigen.- Type
0x10
uitschakelen IPv6 op alle niet-tunnelinterfaces (op zowel LAN en Point-to-Point Protocol [PPP] interfaces).- Type
0x01
om IPv6 uit te schakelen op alle tunnelinterfaces. Deze omvatten Intra-Site Automatic Tunnel Addressing Protocol (ISATAP), 6to4 en Teredo.- Type
0x11
om alle IPv6-interfaces uit te schakelen, met uitzondering van de IPv6-loopback-interface.- Start de computer opnieuw op voordat deze instelling van kracht wordt.
Wat is deze voorkiesbeleidstabel?
netsh interface ipv6 tonen prefixpolicies
(ofprefixpolicy
in eerdere versies)Voorvoegsel voorvoegsel ---------- ----- -------------------------------- 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
Deze tabel bepaalt welke voorvoegsels voor DNS-oplossingen voorrang krijgen op andere voorvoegsels.
Ah, dus met die KB kunnen we hier items toevoegen die aangeven dat IPv4 een hogere prioriteit heeft dan IPv6.
Notitie: Er is geen reden om dit gedrag te negeren, tenzij u compatibele problemen ervaart. Het wijzigen van deze instelling op onze Windows Server heeft onze mailserver verbroken, dus het moet met zorg worden behandeld ...
We willen niets liever dan een grondig en informatief antwoord met gekoppelde ondersteunende documenten. Het is duidelijk dat de localhost en het lokale IP-adres afzonderlijke entiteiten zijn, verschillende doelen dienen en nu weten we allemaal waarom.
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread.