Jos teet paljon verkkoyhteyksien tekemistä, määrittelet LAN-pohjaisia sovelluksia ja palvelintyökaluja tai vain uteliaita, olet todennäköisesti huomannut paikallisen IP-osoitteen paikallisen sijainnin eron. Lue oppia eroista.
Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin hyväksi - Stack Exchangein alaosasto, joka on yhteisöllinen Q & A-sivustojen ryhmittely.
SuperUser-lukija Diogo haluaa tietää, miksi ping-komento käsittelee localhostia ja paikallista IP-osoitetta eri tavalla, kun pinnalla ne näyttävät olevan samat:
Cmd: n ja pingin käyttäminen Windowsissa antoi minulle seuraavat tulokset:
Pinging "localhost":
Pinging "192.168.0.10" (paikallinen IP-osoite):
Eivätkö molemmat tilanteet ole täsmälleen samat?
Tarkoitan, että pinging sama käyttöliittymä, sama kone ja sama osoite. Miksi saan tällaisia erilaisia tuloksia?
On selvää, että eroa on erilainen, mutta mitä tapahtuu juuri silloin, kun vaihdat näiden kahden välillä?
SuperUser-avustaja Tom Wijsman tarjoaa seuraavanlaisen käsityksen näiden kahden hienon erotuksen välillä:
Et ole pinging sama käyttöliittymä, ilman fyysisiä rajapintoja sinulla on edelleen "paikallinen isäntä".
teidän
paikallinen isäntä
käytetään viittaamaan tietokoneeseen sen "sisäisestä" IP: stä, ei tietokoneen "ulkoisista" IP-osoitteista. Joten ping-paketit eivät kulje mitään fyysistä verkkoyhteyttä; vain virtuaalisen silmukan takaliitännän kautta, joka lähettää paketit suoraan portista porttiin ilman fyysistä humalaa.Saatat vielä ihmetellä, miksi
paikallinen isäntä
ratkaisee::1
, kun taas perinteisesti odotimme sen ratkaisevan IPv4-osoitteeseen127.0.0.1
. Ota huomioon, että.paikallinen isäntä
on perinteisesti aluetunniste (ks. RFC 2606), joka paluu takaisin IP-osoitteeseen (IPv4, katso RFC 3330, erityisesti 127.0.0.0/8).Seurasi ylös
paikallinen isäntä
käyttämällänslookup
antaa meille:
nslookup localhost
... Nimi: localhost Osoitteet: :: 1 127.0.0.1
Näin Windows haluaa käyttää IPv6-loop-takaisin IP-osoitetta
::1
(katso RFC 2373), koska se on lueteltu ensin.Okei, niin, mistä se tulee, katsotaan isäntätiedostoa.
kirjoita% WINDIR% \ System32 \ Drivers \ Etc \ Hosts
... # localhost-nimen resoluutiota käsitellään itse DNS: ssä. # 127.0.0.1 localhost # :: 1 localhost ...
Hmm, meidän on tarkasteltava Windowsin DNS-asetuksia.
Tämä KB-artikkeli kertoo asetuksesta, joka vaikuttaa Windowsin mieluummin ja korostuu lihavoituna:
- Etsi rekisterieditorista seuraava rekisterin aliavain ja napsauta sen jälkeen:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters
- Kaksoisnapsauta DisabledComponents-toimintoa muokataksesi DisabledComponents-merkintää.Nuori: Jos DisabledComponents-merkintä ei ole käytettävissä, sinun on luotava se. Voit tehdä tämän seuraavasti:
- Valitse Muokkaa-valikosta Uusi ja valitse sitten DWORD (32-bit) -arvo.
- Kirjoita DisabledComponents ja paina sitten ENTER-näppäintä.
- Kaksoisnapsauta DisabledComponents.
- Kirjoita Arvon data: -kenttään jokin seuraavista arvoista määrittääksesi IPv6-protokollan haluamaasi tilaan ja valitse sitten OK:
- Tyyppi
0
jotta kaikki IPv6-komponentit voidaan ottaa käyttöön. (Windowsin oletusasetus)- Tyyppi
0xFFFFFFFF
poistaa kaikki IPv6-komponentit pois käytöstä, paitsi IPv6-silmukan käyttöliittymä. Tämä arvo myös määrittää, että Windows haluaa käyttää Internet Protocol version 4 (IPv4) IPv6: n kautta muuttamalla merkintöjä etuliitepolitiikan taulukossa. Lisätietoja on kohdassa Lähde- ja kohdeosoitteen valinta.- Tyyppi
0x20
IPv4: n valinta IPv6: n sijaan muuttamalla merkinnät etuliitepolitiikan taulukossa.- Tyyppi
0x10
IPv6: n poistaminen käytöstä kaikissa nontunnel-rajapinnoissa (sekä LAN- että Point-to-Point -protokollan (PPP) rajapinnoissa).- Tyyppi
0x01
poistaa IPv6: n käytöstä kaikkiin tunneliyhteyksiin. Näihin kuuluvat sisäinen automaattinen tunnelin osoiteprotokolla (ISATAP), 6to4 ja Teredo.- Tyyppi
0x11
poistaa kaikki IPv6-liitännät pois lukien IPv6-rajapinnan käyttöliittymä.- Käynnistä tietokone uudelleen, jotta tämä asetus tulee voimaan.
Mikä on tämä etuliitepolitiikan taulukko?
netsh-käyttöliittymä ipv6 näyttää esiohjeet
(taiprefixpolicy
aiemmissa versioissa)Etuoikeuden etuliite --------------- -------------------------------- 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
Tämä taulukko päättää, mitä etuliitteitä etusijalla on muihin etuliitteisiin DNS-ratkaisujen aikana.
Ah, joten käyttämällä KB: tä voisimme lisätä täällä olevia merkintöjä, jotka osoittavat, että IPv4: llä on suurempi etusija kuin IPv6.
Huomautus: Ei ole syytä ohittaa tätä käyttäytymistä, ellei sinulla ole ongelmia yhteensopivissa tilanteissa. Tämän asetuksen muuttaminen Windows Serverissa rikkoi sähköpostipalvelimemme, joten sitä tulisi käsitellä huolellisesti ...
Mitään meistä ei pidä enemmän kuin perinpohjainen ja informatiivinen vastaus, jossa linkitetyt tukitiedot säilytetään. Selvästi localhost ja paikallinen IP-osoite ovat erillisiä kokonaisuuksia, palvelevat eri tarkoituksia, ja nyt me kaikki tiedämme miksi.
Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.