Kami mencoba menginstal produk perangkat lunak pihak ke-3 pada mesin Windows Server 2008 R2 baru dan menemukan bahwa semuanya berfungsi kecuali untuk mengakses layanan lokal melalui alamat loopback seperti localhost
atau nama komputer (mis: VPS-Web
yang memutuskan untuk localhost
). Kami tidak menggunakan IPv6 dan ingin menonaktifkannya sampai perangkat lunaknya kompatibel.
Saya mencoba menggunakan petunjuk ini untuk menonaktifkan IPv6 pada Windows 2008 R2 tetapi tidak menonaktifkan protokol untuk localhost
. Ping localhost
atau VPS-Web
masih akan kembali ::1:
bukan 127.0.0.1
. Saya dapat menggunakan ping localhost -4
untuk mendapatkan alamat yang benar, tetapi IPv6 lebih diutamakan daripada IPv4 sehingga perangkat lunak pihak ke-3 hanya mendapatkan alamat IPv6.
sumber
Jawaban:
Saya awalnya memeriksa file host seperti yang disarankan SilverbackNet, tetapi pada server Windows 2008 R2 ini adalah file default:
#
menunjukkan komentar dalam file host, sehingga semua entri dikomentari, dan baris pertama agak membingungkan. Saya kemudian memperhatikan bahwa ada dua entri untuk localhost yang dikomentari, jadi saya mencoba membatalkan komentar satu IPv4 dan berhasil! Seharusnya saya mencobanya dulu tapi saya terlempar keluar jalur oleh baris pertama. Dengan menggunakan file host di bawah ini, ping nama komputer atau localhost akan selalu mengembalikan alamat IPv4, yang memperbaiki masalah dengan perangkat lunak pihak ke-3!sumber
Pengaturan "DisabledComponents" = 0x20 di bawah
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameter \
akan mengatur mesin itu untuk menggunakan IPv4, bukan IPv6 dalam kebijakan awalan.
Buat kunci registri jika tidak ada.
sumber
Utas ServerFault awal tentang menggunakan nilai
DisabledComponents
registri adalah cara terbaik untuk melakukan ini. Tweak file host tidak perlu diperlukan dalam jaringan yang berfungsi dengan baik. Tweak registri juga jauh lebih mudah untuk digunakan dan dikembalikan melalui kebijakan grup jika Anda memiliki Direktori Aktif.Alasan itu tidak berhasil adalah karena
DisabledComponents
pengaturan registri dibaca sebagai satu set bendera bit dan tidak hanya hidup atau mati. Berikut ini adalah dokumentasi resmi dari Microsoft mengenai hal ini:Cara menonaktifkan IP versi 6 (IPv6) atau komponen spesifiknya di Windows 7, Windows Vista, Windows Server 2008 R2, dan Windows Server 2008
Versi singkatnya adalah untuk sepenuhnya menonaktifkan IPv6 pada Vista / 2008 dan seterusnya, atur nilainya
DisabledComponents
menjadi0xff
. Saya melakukan ini pada setiap mesin yang saya kelola di mana kita tidak secara eksplisit menggunakan IPv6. Ini memiliki efek samping yang bagus dari memperpendek outputipconfig
perintah secara signifikan .sumber
Sudahkah Anda mencoba menghapus entri dari file hosts di% systemroot% \ system32 \ drivers \ etc? Itu harus melakukannya, jika Anda hanya perlu "localhost" untuk selalu menjadi IPv4. Namun, jika didasarkan pada nama server, ini mungkin tidak akan berhasil.
sumber
Anda juga bisa masuk ke properti NIC itu sendiri, dan hapus centang pada kotak IPv6, membiarkan IPv4 diaktifkan. Sebaiknya lakukan triknya.
sumber
Coba tambahkan baris ke file host Anda seperti:
::1 VPW-Web
Ini harus memungkinkan resolver untuk mendapatkan
VPW-Web
sebagai nama untuk IPv6 loopback.sumber