Današnja pitanja i odgovori nam se javljaju zahvaljujući SuperUseru - podjele Stack Exchange-a, zajednice-driven grupiranja Q & A web stranica.
Pitanje
SuperUser čitač Diogo želi znati zašto ping naredba tretira localhost i lokalnu IP adresu drugačije kada se na površini čini da su ista stvar:
Using cmd and ping on Windows gave me the following results:
Pinging “localhost”:
I mean, I’m pinging the same interface, the same machine and the same address. Why do I get such different results?
Očito postoji razlika u nekoj vrsti, ali što se točno događa kada se prebacite između dva?
Odgovor
Tomu Wijsmanu Tomu Wijsmanu, SuperUseru, pruža sljedeće uvid u suptilne razlike između dva:
You are not pinging the same interface, without any physical interfaces you still have a “local host”.
Your
localhost
koristi se da se odnosi na vaše računalo iz "internog" IP-a, a ne iz bilo kojeg "vanjskog" IP-a vašeg računala. Dakle, ping paketi ne prolaze kroz bilo koji fizički mrežni sučelje; samo putem sučelja virtualne petlje koja izravno šalje pakete iz luke u luku bez fizičkog hmelja.
Možda se i dalje pitate zašto
localhost
rješava se
::1
dok smo tradicionalno očekivali da se riješi na IPv4 adresu
127.0.0.1
Imajte na umu da
.localhost
je tradicionalno TLD (vidi RFC 2606) koji ukazuje na IP adresu IP adrese (za IPv4, vidi RFC 3330, posebno 127.0.0.0/8).
Gledanje gore
localhost
koristeći
nslookup
daje nam:
nslookup localhost
… Name: localhost Addresses:::1 127.0.0.1
Na taj način Windows preferira IPv6 IP adresu unatrag
::1
(vidi RFC 2373) kao što je na prvom mjestu.
U redu, pa, odakle dolazi, pogledajmo datoteku domaćina.
type %WINDIR%System32DriversEtcHosts
… # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost #::1 localhost …
Hmm, moramo pogledati DNS postavke sustava Windows.
Ovaj članak sa KB-om govori nam o postavci koja utječe na ono što Windows preferira, naglašeno podebljanim:
-
U Registry Editoru pronađite i kliknite sljedeći potključ registra:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip6Parameters
-
Dvaput kliknite DisabledComponents da biste izmijenili unos DisabledComponents.Napomena: Ako unos DisabledComponents nije dostupan, morate je izraditi. Da biste to učinili, slijedite ove korake:
- U izborniku Uređivanje pokažite na Novo, a zatim kliknite DWORD (32-bit) vrijednost.
- Upišite DisabledComponents, a zatim pritisnite tipku ENTER.
- Dvaput kliknite DisabledComponents.
-
U polje Value data (Podaci vrijednosti) upišite jednu od sljedećih vrijednosti za konfiguriranje IPv6 protokola u željeno stanje, a zatim kliknite OK (U redu):
-
Tip
0
omogućiti sve komponente IPv6. (Zadana postavka sustava Windows)
-
Tip
0xffffffff
da biste onemogućili sve IPv6 komponente, osim sučelja IPv6 loopbacka. Ova vrijednost također konfigurira Windows da preferira Internet Protocol verziju 4 (IPv4) preko IPv6 izmjenom unosa u tablici pravila prefiksa. Dodatne informacije potražite u odjeljku Odabir adrese izvora i odredišta.
-
Tip
0x20
preferirati IPv4 preko IPv6 izmjenom unosa u tablici pravila prefiksa.
-
Tip
0x10
onemogućiti IPv6 na svim nontunnel sučeljima (na LAN i Point-to-Point Protocol [PPP] sučelja).
-
Tip
0x01
onemogućiti IPv6 na svim tunelskim sučeljima. To uključuje unutarnji protokol za automatsko prepoznavanje tunela (ISATAP), 6to4 i Teredo.
-
Tip
0x11
onemogućiti sva IPv6 sučelja osim sučelja IPv6 loopbacka.
- Ponovno pokrenite računalo da bi ova postavka postala učinkovita.
Što je to tablica pravila prefiksa?
netsh interface ipv6 show prefixpolicies
(ili
prefixpolicy
na ranijim verzijama)
Precedence Label 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
Ova tablica odlučuje koji prefiksi imaju prednost nad drugim prefiksima tijekom DNS rješavanja.
Ah, tako da pomoću tog KB možemo ovdje dodati stavke koje označavaju da IPv4 ima veću prednost od IPv6.
Bilješka: Nema razloga za poništavanje ovog ponašanja, osim ako niste suočeni s kompatibilnim problemima. Promjena ove postavke na našem sustavu Windows Server razbila je naš poslužitelj e-pošte, stoga ga treba pažljivo rukovati …
Ne postoji ništa što nam se sviđa više od temeljitog i informativnog odgovora s povezanim dokumentima podrške. Jasno je da lokalna i lokalna IP adresa su različiti entiteti, služe različitim namjenama, a sada svi znamo zašto.
Imate li nešto za objašnjenje? Zvuči u komentarima. Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.