Haruskah saya menggunakan IPv6 saja atau IPv4 dan IPv6 di server web saya?

39

Server web saya (Ubuntu, Nginx) memiliki alamat IPv4 dan IPv6 yang ditetapkan oleh tuan rumah. Untuk situs web saya, haruskah saya mengikatnya hanya ke alamat IPv6? Apakah ini cara yang direkomendasikan standar? Atau, haruskah saya menggunakan alamat IPv4 dan IPv6?

THpubs
sumber
13
Anda mengajukan pertanyaan yang salah (kepada orang yang salah) - Tanyakan pada diri sendiri "Apakah saya harus dapat mengakses situs ini dari klien IPv4, klien IPv6, atau keduanya?". Jawaban untuk itu juga merupakan jawaban untuk apa alamat server web Anda perlu mendengarkan.
voretaq7
6
Biasanya, saya setuju sepenuhnya dengan jawaban "dapatkan spesifikasi Anda" seperti itu, tetapi dalam kasus ini, anehnya, saya tidak; Saya setuju dengan Michael. "Hanya v6" masih, sayangnya, hampir tidak mungkin menjadi persyaratan (meskipun jika ya, komentar ini sepenuhnya salah). Jika tidak, maka kita turun ke "tumpukan campuran" dan "hanya v4". Meskipun semua pengguna Anda mengatakan "hanya v4" benar, pada titik ini, itu salah; mixed-stack adalah cara untuk memeriksa di masa depan, tidak peduli apa yang dikatakan komunitas pengguna saat ini.
MadHatter mendukung Monica
@MadHatter Pada titik ini, kita dapat menghilangkan "v4-only" dengan aman. Batas inheren NAT skala besar membuat v4-satunya tidak dapat dipertahankan bagi operator situs web atau sangat mungkin layanan Internet lainnya. Lebih detail dalam jawaban saya yang diperbarui.
Michael Hampton
@MichaelHampton masih setuju dengan Anda.
MadHatter mendukung Monica

Jawaban:

56

Gunakan IPv4 dan IPv6

Anda harus menggunakan alamat IPv4 dan IPv6.

Hampir setiap orang di Internet saat ini memiliki alamat IPv4, atau berada di belakang semacam NAT, dan dapat mengakses sumber daya IPv4.

Namun, pada saat penulisan hanya sekitar 0,7% 2,3% 3,8% 6,5% 9% 12% 19% 22% 26% dari Internet adalah IPv6 mampu , tetapi jumlah itu terus berkembang sebagai IPv6 mulai bergulir di seluruh dunia.

Di beberapa tempat, ISP menyediakan terutama IPv6 atau hanya IPv6 untuk pelanggan perumahan dan menggunakan NAT skala besar, NAT64 atau solusi lain semacam itu untuk konektivitas IPv4. Jumlah ini diperkirakan akan bertambah karena ruang alamat IPv4 akhirnya habis. Para pengguna ini biasanya akan memiliki kinerja yang lebih baik daripada IPv6.

Ketika ISP telah mengerahkan NAT skala besar untuk mengatasi kelelahan IPv4, pengguna yang terjebak dengan ini akan mengalami penurunan keandalan semua koneksi Internet mereka karena batas koneksi yang melekat pada gateway NAT skala besar. Misalnya, halaman web mungkin hanya memuat sebagian tetapi tidak semua sumber dayanya , meninggalkan ikon yang rusak di mana gambar seharusnya berada, gaya dan skrip yang hilang, dll. Ini mirip dengan kelelahan batas koneksi pada router rumah, tetapi mempengaruhi semua pengguna ISP sebentar-sebentar dan tampaknya acak. Jika Anda ingin situs Anda dapat diandalkan untuk para pengguna ini, Anda harus menyajikannya melalui IPv6 (dan ISP harus telah menggunakan IPv6).

Karena IPv6 adalah tujuan Internet, menjadikan situs web Anda IPv6 diaktifkan sekarang menjadikan Anda unggul dalam permainan dan memungkinkan Anda menyelesaikan masalah jauh sebelum masalah tersebut menjadi serius.

Konfigurasikan nginx

Secara default dengan Linux dan nginx, Anda dapat mengikat IPv4 dan IPv6 secara bersamaan dengan mengubah listenarahan Anda ke:

listen [::]:80;
listen 80;

Atau, untuk situs SSL:

listen [::]:443 ssl;
listen 443 ssl;
Michael Hampton
sumber
Ok terima kasih ... satu pertanyaan lagi .. Sekarang saya telah menyiapkan server ... Dalam DNS berulang, saya harus meletakkan dua catatan A dan AAAA (dengan nama host @) dan menunjuk ke ips yang relevan?
THpubs
3
Ya, Acatatan untuk alamat IPv4 Anda dan AAAAcatatan untuk alamat IPv6 Anda.
Michael Hampton
Sempurna. Terima kasih banyak untuk penjelasannya :) Saya baru
mengenal
Saya tidak terbiasa dengan nginx, tetapi bukankah seharusnya listen 443;juga memiliki yang sslseperti itu listen [::]:443 ssl;? Jadi, listen 443 ssl;bukannya listen 443;.
CVn
@ aCVn Ya, seharusnya. Terima kasih sudah menangkapnya. Itu akan mengajari saya untuk mengedit hal-hal sambil setengah tertidur.
Michael Hampton
3

Ikat keduanya!

Kami memiliki situs web IIS yang kodenya melakukan referensi internal untuk dirinya sendiri, menggunakan nama DNS yang digunakan klien. Proses ini akan selalu gagal.

Gejala lain adalah bahwa browser yang berjalan secara lokal di server tidak dapat menemukan situs web dengan nama server, hanya dengan alamat IPv4. Artinya, http://192.168.55.139akan bekerja, tetapi http://myhostakan gagal. Menggunakan ping myhostakan, secara default, mengembalikan alamat IPv6 ( ping myhost -4akan mengembalikan alamat IPv4).

Cara mengatasinya adalah dengan membuka IIS dan mengubah Binding situs web untuk mengikat ke alamat IPv6, serta alamat IPv4.

masukkan deskripsi gambar di sini

Glen Little
sumber
6
Tidak perlu mengaburkan alamat pribadi. Namun, Anda juga harus mengikat ke alamat IPv6 global Anda sehingga situs Anda dapat dijangkau secara eksternal melalui IPv6.
Michael Hampton
Kode yang disebutkan adalah Winnovative HTML to PDF Converter.
Glen Little
2
Memiliki layanan yang dapat diakses baik secara internal maupun eksternal lebih mudah bila Anda tidak menggunakan NAT. Dan lebih mudah untuk menghindari NAT, jika Anda menggunakan IPv6. Tetapi menghubungkan secara membabi buta ke nama host yang disediakan oleh klien terdengar seperti cacat desain. Sangat mungkin bagi klien untuk mengirimi Anda Hosttajuk dengan nama domain yang bukan milik Anda.
kasperd