Jika Anda melakukan banyak jaringan mengutak-atik, mengkonfigurasi aplikasi berbasis LAN dan alat server, atau hanya ingin tahu, Anda mungkin memperhatikan bahwa ada perbedaan antara localhost alamat IP lokal. Baca terus untuk mempelajari perbedaannya.
Sesi Tanya & Jawab hari ini hadir untuk memberi kami hak milik SuperUser-sub divisi Stack Exchange, pengelompokan situs web Q & A berbasis komunitas.
Pembaca SuperUser Diogo ingin tahu mengapa perintah ping memperlakukan localhost dan alamat IP lokal secara berbeda ketika, di permukaan, mereka tampaknya menjadi hal yang sama:
Menggunakan cmd dan ping pada Windows memberi saya hasil berikut:
Ping "localhost":
Ping "192.168.0.10" (alamat IP lokal):
Bukankah kedua situasi itu sama persis?
Maksud saya, saya melakukan ping ke antarmuka yang sama, mesin yang sama dan alamat yang sama. Mengapa saya mendapatkan hasil yang berbeda?
Jelas ada perbedaan dari beberapa macam, tetapi apa sebenarnya yang terjadi ketika Anda beralih di antara keduanya?
Kontributor SuperUser Tom Wijsman menawarkan wawasan berikut ke perbedaan halus antara keduanya:
Anda tidak melakukan ping ke antarmuka yang sama, tanpa antarmuka fisik, Anda masih memiliki "host lokal".
Anda
localhost
digunakan untuk merujuk ke komputer Anda dari IP "internal", bukan dari "eksternal" IP komputer Anda. Jadi, paket ping tidak melewati antarmuka jaringan fisik apa pun; hanya melalui antarmuka back loop virtual yang langsung mengirimkan paket-paket dari port ke port tanpa hop fisik.Anda mungkin masih bertanya-tanya mengapa
localhost
sedang memutuskan untuk::1
, sementara secara tradisional kami mengharapkannya untuk menyelesaikan ke alamat IPv4127.0.0.1
. Perhatikan itu.localhost
secara tradisional TLD (lihat RFC 2606) yang menunjuk kembali ke alamat IP loop kembali (untuk IPv4, lihat RFC 3330, terutama 127.0.0.0/8).Mencari
localhost
menggunakannslookup
memberi kita:
nslookup localhost
… Nama: alamat localhost: :: 1 127.0.0.1
Jadi Windows lebih suka menggunakan alamat IP kembali IPv6 loop
::1
(lihat RFC 2373) seperti yang terdaftar pertama.Oke, dari mana asalnya, mari kita lihat file host.
ketik% WINDIR% \ System32 \ Drivers \ Etc \ Hosts
… # Resolusi nama hostest ditangani dalam DNS itu sendiri. # 127.0.0.1 localhost # :: 1 localhost…
Hmm, kita harus melihat pengaturan DNS Windows.
Artikel KB ini memberi tahu kami tentang pengaturan yang memengaruhi apa yang disukai Windows, ditekankan dalam huruf tebal:
- Di Peninjau Suntingan Registri, temukan dan kemudian klik subkunci registri berikut:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters
- Klik dua kali DisabledComponents untuk memodifikasi entri DisabledComponents. Catatan: Jika entri DisabledComponents tidak tersedia, Anda harus membuatnya. Untuk melakukan ini, ikuti langkah-langkah berikut:
- Di menu Edit, arahkan ke Baru, lalu klik Nilai DWORD (32-bit).
- Ketik DisabledComponents, dan kemudian tekan ENTER.
- Klik dua kali DisabledComponents.
- Ketik salah satu dari nilai berikut di bidang Data Nilai: untuk mengonfigurasi protokol IPv6 ke status yang diinginkan, dan kemudian klik OK:
- Mengetik
0
untuk mengaktifkan semua komponen IPv6. (Pengaturan standar Windows)- Mengetik
0xffffffff
untuk menonaktifkan semua komponen IPv6, kecuali antarmuka loopback IPv6. Nilai ini juga mengkonfigurasi Windows agar lebih suka menggunakan Internet Protocol versi 4 (IPv4) melalui IPv6 dengan memodifikasi entri dalam tabel kebijakan awalan. Untuk informasi lebih lanjut, lihat Sumber dan Pilihan Alamat Tujuan.- Mengetik
0x20
untuk lebih memilih IPv4 daripada IPv6 dengan memodifikasi entri di tabel kebijakan awalan.- Mengetik
0x10
untuk menonaktifkan IPv6 pada semua antarmuka nontunnel (pada antarmuka LAN dan Point-to-Point Protocol [PPP]).- Mengetik
0x01
untuk menonaktifkan IPv6 pada semua antarmuka terowongan. Ini termasuk Intra-Site Automatic Tunnel Addressing Protocol (ISATAP), 6to4, dan Teredo.- Mengetik
0x11
untuk menonaktifkan semua antarmuka IPv6 kecuali antarmuka loopback IPv6.- Restart komputer agar pengaturan ini diterapkan.
Apakah tabel kebijakan prefiks ini?
netsh interface ipv6 menunjukkan prefixpolicies
(atauprefixpolicy
pada versi sebelumnya)Presedensi Label Awalan ---------- ----- -------------------------------- 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
Tabel ini memutuskan prefiks apa yang didahulukan daripada prefiks lain selama DNS diselesaikan.
Ah, jadi dengan menggunakan KB itu kita dapat menambahkan entri di sini yang menunjukkan bahwa IPv4 memiliki prioritas yang lebih tinggi daripada IPv6.
catatan: Tidak ada alasan untuk mengesampingkan perilaku ini, kecuali Anda mengalami masalah yang sama. Mengubah pengaturan ini pada Windows Server kami merusak server email kami, jadi itu harus ditangani dengan hati-hati ...
Tidak ada yang lebih kami sukai selain jawaban yang menyeluruh dan informatif dengan dokumen pendukung yang terhubung. Jelas localhost dan alamat IP lokal adalah entitas yang berbeda, melayani tujuan yang berbeda, dan sekarang kita semua tahu mengapa.
Memiliki sesuatu untuk ditambahkan ke penjelasan? Bicaralah di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi lainnya? Lihat diskusi lengkap di sini.