- Setelah pemadaman listrik, di sisi ISP hanya koneksi IPv4 yang terputus sementara IPv6 tetap hidup. Untuk memulihkan akses ke situs IPv4-only, digunakan Hetzner VPS yang memiliki IPv4/IPv6 serta tunnel WireGuard
- Gangguan tampaknya terjadi di lapisan CG-NAT, di mana paket IPv4 tidak diterjemahkan dengan benar lalu di-drop; layanan yang mendukung IPv6 seperti Google dan Meta tetap bisa diakses
- Dengan menaruh server WireGuard di VPS dan klien memakai alamat IPv6 VPS sebagai endpoint, trafik IPv4 dapat dikirim melalui VPS sehingga browsing web biasa pulih
- VPN kantor dan Docker perlu penanganan terpisah, sehingga dijalankan di dalam network namespace berbasis vopono dengan workaround seperti
unshare dan bind mount /sys
- Gejala sebagian situs tidak mau dimuat ternyata disebabkan MTU WireGuard yang terlalu besar; setelah diturunkan ke 1280, MTU minimum IPv6, masalah langsung teratasi
Gangguan setelah pemadaman listrik: hanya IPv4 yang terputus
- Setelah pemadaman listrik, pemutus arus sudah dipulihkan, tetapi GitHub dan berbagai situs web tidak bisa diakses, sementara Google dan Meta berjalan normal
- Dari mesin lokal dan halaman diagnostik router, pemeriksaan
ping -6 dan traceroute menunjukkan bahwa masalah hanya terjadi pada koneksi ke server IPv4
- ISP mengatakan mungkin perlu kunjungan teknisi dan bisa memakan beberapa hari setelah akhir pekan, sementara akses kerja dan pengerjaan paper membuat sulit untuk menunggu gangguan selesai
- Hetzner VPS yang sudah ada memiliki alamat IPv4 dan IPv6 statis, dan karena situs web Hetzner mendukung IPv6, konsol dapat diakses untuk melakukan konfigurasi
Ketergantungan IPv4 yang dibuat oleh NAT dan CG-NAT
- Alamat IPv4 berukuran 32-bit, dan jika blok cadangan dikecualikan, hanya ada sekitar 3,7 miliar alamat IPv4 publik, sehingga tidak mungkin memberi alamat langsung ke semua perangkat yang terhubung ke internet
- NAT membuat banyak perangkat berbagi satu IP publik
- Router rumah mengubah IP lokal perangkat internal seperti
192.168.1.xxx menjadi IPv4 publik miliknya
- conntrack di Linux menyimpan IP dan port asal asli serta port hasil translasi sebagai pemetaan
- Saat paket respons datang ke port tersebut, conntrack mengembalikan tujuan ke IP dan port internal semula
- Di Linux, pemetaan yang tersimpan dapat dilihat dengan
conntrack -L dari conntrack-tools
- NAT bertindak seperti firewall implisit, sehingga layanan pada perangkat lokal di balik router sulit diakses dari luar tanpa port forwarding eksplisit
- Karena kekurangan IPv4, ISP dapat menerapkan NAT sekali lagi di jaringan internalnya, yang disebut Carrier Grade NAT(CG-NAT)
- Seperti router rumah melakukan NAT untuk banyak perangkat lokal, router ISP melakukan NAT untuk banyak router rumah
- Bergantung pada jumlah alamat IPv4 yang dimiliki ISP dan kebijakan alokasinya, hal ini dapat berulang dalam beberapa lapisan, misalnya per wilayah
- Gangguan kali ini tampak seperti kondisi di mana trafik IPv4 benar-benar terputus karena paket IPv4 tidak di-NAT dengan benar dan di-drop di suatu tempat pada lapisan CG-NAT
- Untuk cara mengatasi NAT traversal, tulisan Tailscale How NAT Traversal Works layak dijadikan rujukan
Mengapa IPv6 tetap berjalan
- Alamat IPv6 berukuran 128-bit dan, bahkan dengan memperhitungkan blok cadangan, menyediakan sekitar 3.4E38 alamat
- Router rumahan sering menerima subnet
/64, yang berarti 1.84E19 alamat
- Dengan IPv6, setiap perangkat dapat memiliki alamat langsung di internet tanpa perlu NAT di router rumah
- Masalah port forwarding berkurang
- Sebagai gantinya, router atau tiap perangkat memerlukan aturan firewall yang tepat untuk memblokir koneksi baru dari luar yang tidak diminta
- Karena CG-NAT tidak diterapkan pada IPv6, gangguan kali ini tidak memengaruhinya
- Masih ada web server seperti GitHub yang belum dapat diakses melalui IPv6, sehingga koneksi IPv6 saja tidak cukup untuk menggunakan seluruh internet secara langsung
Membuat tunnel IPv4 di atas IPv6 dengan WireGuard
- Solusinya adalah memasang WireGuard di VPS dan membuat tunnel dengan klien memakai alamat IPv6 VPS sebagai endpoint
- Setelah tunnel terbentuk, trafik IPv4 berjalan normal melalui VPS
- Latensi bertambah karena lewat VPS
- Cara kerjanya mirip Dual-Stack Lite yang dikonfigurasi sendiri
- Servernya adalah Hetzner VPS yang sebelumnya sudah dipasangi Arch Linux dengan vps2arch, menggunakan image Debian terbaru Hetzner sebagai basis
- Konfigurasi WireGuard didasarkan pada contoh kasus penggunaan khusus: server VPN WireGuard di ArchWiki, dengan tambahan trafik IPv6
- Konfigurasi server mencakup hal berikut
Address = 10.200.200.1/24, fd42:42:42::1/64, 2001:db8:abcd:1234::1/128
- IPv4 diteruskan dengan
MASQUERADE dari iptables
- IPv6 ULA di-NAT dengan
SNAT --to-source dari ip6tables
- Mengaktifkan forwarding IPv4/IPv6
- peer dibagi menjadi contoh
foo yang memakai IPv6 Global Unicast Address secara langsung dan bar yang memakai IPv6 ULA yang di-NAT
- Berbeda dari konfigurasi bergaya
.ini, wg-quick dapat menentukan PostUp dan PostDown beberapa kali, lalu menjalankan tiap perintah secara berurutan
NAT IPv6, SNAT, dan konfigurasi klien
- IPv6 tidak selalu perlu di-NAT, dan jika VPS memiliki blok IPv6
/64 seperti Hetzner, peer dapat diberi Global Unicast Address(GUA) secara langsung
- Untuk memakai metode alamat langsung, ganti Unique Local Address(ULA) milik peer dan interface menjadi alamat IPv6 publik, lalu hapus aturan
ip6tables MASQUERADE
- Tiap peer dapat dialamatkan langsung dari internet melalui alamat IPv6 yang dialokasikan
- Metode ini cocok jika ingin meneruskan layanan sendiri dari beberapa perangkat
- Firewall VPS harus menangani trafik masuk dengan benar
- Jika yakin alamat IP VPS statis dan tidak berubah, SNAT dapat digunakan alih-alih
MASQUERADE
MASQUERADE mencari IP interface saat runtime
SNAT sedikit lebih efisien karena alamat ditentukan langsung
- Pada konfigurasi klien, alamat IPv6 server harus diapit tanda kurung siku seperti
Endpoint = [2001:db8:abcd:1234::1]:51820
- Dengan
AllowedIPs = 0.0.0.0/0, ::/0, seluruh trafik IPv4/IPv6 dikirim ke tunnel
- Setelah dijalankan di kedua sisi, browsing biasa kembali normal, dan server juga bisa diakses langsung lewat SSH menggunakan alamat IPv4 dan IPv6 lokal tunnel
- Di Linux, klien WireGuard juga bisa dipasang dengan mudah di mesin istri
Memisahkan VPN kantor dengan network namespace
- Jika VPN kantor langsung disambungkan di atas koneksi WireGuard, terjadi konflik sehingga tidak bisa digunakan
- vopono digunakan untuk menjalankan VPN kantor dan aplikasi yang diperlukan di dalam network namespace
- Intinya adalah membuat aturan MASQUERADE meneruskan trafik ke interface WireGuard yang sedang berjalan (
foo atau bar), bukan ke interface jaringan fisik
- Trafik di dalam namespace tidak secara langsung menyadari aturan
nftables WireGuard pada host, tetapi pada praktiknya dirutekan melalui tunnel WireGuard
wg-quick lebih memilih nftables daripada iptables saat tersedia, namun menghindari konflik dengan aturan iptables standar Docker
- Contoh menjalankan vopono adalah sebagai berikut
$ vopono -v exec --create-netns-only --provider None --protocol None -i bar bash
$ sudo ip netns exec vo_none_none bash
$ (inside netns) ./vpn.sh
/etc/netns/vo_none_none/ di-mount sebagai /etc oleh ip netns exec, sehingga resolv.conf khusus untuk namespace tersebut dapat ditempatkan di sana
- Jika ingin memprioritaskan resolusi DNS IPv4,
gai.conf juga dapat disesuaikan dengan cara yang sama
- Pengaturan ini digunakan saat men-debug masalah trafik tunnel IPv6
- Contohnya didasarkan pada jawaban AskUbuntu
- Setelah VPN kantor tersambung, jika server DNS internal dimasukkan ke
/etc/netns/vo_none_none/resolv.conf, aplikasi yang kemudian dijalankan di namespace tersebut akan berjalan normal
- Aplikasi seperti Chrome dapat dijalankan di dalam namespace dengan hak pengguna biasa
$ vopono -v exec -i bar --provider None --protocol None google-chrome-stable
Menjalankan Docker di namespace yang sama
- Docker tidak berjalan hanya dengan dijalankan di network namespace seperti aplikasi lain
- Karena socket Docker yang diaktifkan oleh systemd dibuat di luar namespace
- Konektivitas internal tidak tersedia
- Menghentikan Docker eksternal lalu mencoba membuat
dockerd dan socket baru di dalam namespace juga tidak langsung menyelesaikan masalah
ip netns exec membuat mount namespace dan me-mount ulang /sys
- Karena itu,
/sys/fs/cgroup milik host tidak terlihat
- Dalam kondisi ini, kesalahan berikut dapat terjadi
Error: OCI runtime error: runc: runc create failed: no cgroup mount found in mountinfo
- Workaround-nya adalah membuat
/sys sebagai bind mount dengan unshare, lalu melepas mount /sys internal yang dibuat oleh ip netns exec
- Cara ini didasarkan pada post Unix StackExchange
- Setelah itu,
/sys di dalam mount namespace menjadi bind mount dari /sys host
- Contoh perintahnya adalah sebagai berikut
$ sudo systemctl stop docker && sudo systemctl stop docker.socket
$ sudo -E unshare -m sh -c 'mount --bind /sys /sys; exec ip netns exec vo_none_none sudo --user youruser --preserve-env bash'
$ sudo umount /sys
$ sudo dockerd --host=unix:///var/run/docker-netns.sock --data-root=/var/lib/docker-netns
$ DOCKER_OPTS="--dns=YOURDNSHERE" DOCKER_HOST=unix:///var/run/docker-netns.sock sudo --user youruser --preserve-env docker ...
- Jika
dockerd dan perintah Docker dijalankan dalam sesi yang sama, keduanya berbagi network namespace dan mount namespace yang sama
- Pengaturan DNS Docker juga dapat ditempatkan di
/etc/netns/vo_none_none/docker/daemon.json
- Cara ini cukup untuk pekerjaan yang membutuhkan container pendamping dan container yang terhubung melalui jaringan Docker, tetapi mungkin tidak langsung berjalan pada konfigurasi Docker yang lebih kompleks yang memerlukan bridge dan sebagainya
Men-debug masalah MTU WireGuard
- Setelah reboot, koneksi WireGuard tampak tetap hidup, tetapi hanya sebagian halaman yang dimuat dan situs seperti GitHub tidak terbuka
ping, ping -6, dan wg show normal, sehingga penyebabnya sulit ditemukan
- Pemeriksaan dengan ping berukuran berbeda menunjukkan bahwa paket besar gagal
$ ping6 -s 1400 fd42:42:42::1
$ ping6 -s 1200 fd42:42:42::1
$ ping6 -s 800 fd42:42:42::1
- Ukuran
1400 gagal sementara 1200 dan 800 berhasil, sehingga dipastikan penyebabnya adalah pengaturan MTU
- Jika MTU interface WireGuard lokal diturunkan, stack IP kernel tidak akan membuat paket yang lebih besar dari nilai tersebut
- Paket UDP akhir yang sudah ditambah overhead enkapsulasi WireGuard juga tidak akan di-drop pada link dengan MTU kecil di sepanjang jalur
- Setiap router di jalur memiliki MTU sendiri, dan paket yang lebih besar dari MTU terkecil dapat di-drop
- Trafik tunnel mendapat tambahan sekitar 32 byte overhead dari enkapsulasi WireGuard, sehingga masalah MTU bisa makin besar
- Pesan Path MTU Discovery dapat dikirim melalui ICMP oleh router perantara, tetapi firewall sering menjatuhkan ICMP sehingga penyesuaian otomatis bisa tidak terjadi
- MTU minimum dalam spesifikasi IPv6 adalah 1280, sehingga pada tunnel WireGuard di atas IPv6, nilai ini seharusnya selalu bekerja
Opsi operasional yang tersisa setelah pemulihan
- Hasil konfigurasi mencakup hal berikut
- Menyiapkan server VPN WireGuard pada VPS yang memiliki IPv4 dan IPv6
- Mendukung IPv6 langsung dan trafik IPv6 yang di-NAT
- Menjalankan VPN kantor di network namespace
- Menjalankan Docker di dalam network namespace yang sama dengan workaround
unshare
- Men-debug masalah MTU WireGuard
- Dalam kerja jarak jauh, masalah koneksi internet selalu menjadi faktor risiko, dan dalam kasus ini alat-alat Linux memungkinkan bypass tanpa menunggu pemulihan konfigurasi ISP
- Hetzner VPS mendukung tunnel WireGuard dan penggunaan umum yang legal, sementara port scanning, traffic spoofing, dan penambangan cryptocurrency tidak diizinkan
- VPN yang mendukung port forwarding seperti AirVPN, ProtonVPN, dan AzireVPN juga bisa menjadi alternatif untuk meneruskan port home server tanpa bergantung pada ISP
- Jika memakai router OpenWRT, debugging di sisi router bisa dilakukan lebih banyak, dan konfigurasi bypass seperti ini dapat ditangani langsung dengan WireGuard di router tanpa perlu mengaturnya terpisah di tiap perangkat
1 komentar
Komentar Hacker News
Judulnya agak menyesatkan. Lebih tepatnya ini adalah mengakses internet IPv4 lewat tunnel IPv6 melalui VPS, yang biasanya juga disebut 4in6.
Meski begitu tetap menarik. Dari sudut pandang ISP, sifat masalah dukungan saat IPv4 rusak dan saat IPv6 rusak cukup berbeda. Gangguan IPv4 umumnya berupa kondisi “down” yang jelas, sehingga pengguna sangat kesal tetapi kasusnya sederhana. Sebaliknya, gangguan IPv6 muncul dalam bentuk-bentuk aneh seperti gangguan parsial, start yang lambat karena fallback, atau gateway yang mengira IPv6 tersedia.
Namun orang yang routernya hanya dikonfigurasi dengan server DNS IPv4 mengalami gangguan total. Kalau Microsoft sudah membersihkan aset-asetnya yang tidak becus, kekhawatiran terbesar mungkin sekadar mengingat hostname mDNS yang ditempelkan ke router untuk login dan memastikan apakah IPv4 sudah kembali.
Ini masalah yang aneh, dan saya tidak tahu apakah ada solusi yang bagus selain berharap IPv4 suatu hari menghilang. Happy Eyeballs seharusnya menyelesaikan masalah ini, tetapi masalahnya sering muncul jauh di atas lapisan aplikasi, dan karena aplikasi bisa melakukan apa saja, sulit menyelesaikannya dengan protokol umum tanpa abstraksi yang bocor. Secara pribadi saya berkompromi dengan menyalakan IPv6 di jaringan tetapi mematikan DNS IPv6 di semua browser, dan itu cukup tidak memuaskan.
Jika ingin mencoba IPv6 tetapi ISP tidak menyediakannya, Hurricane Electric sudah bertahun-tahun menyediakan layanan tunnel.
https://tunnelbroker.net
https://ipv6.he.net
Ada juga skrip untuk menyalakan perangkat
tundi sistem atau router dan merutekan traffic: https://fedoraproject.org/wiki/IPv6_tunnel_via_Hurricane_Ele..., https://brandonrozek.com/blog/obtaining-ipv6-address-hurrica..., https://wiki.dd-wrt.com/wiki/index.php/IPv6_setup_Hurricane_..., https://forum.mikrotik.com/t/auto-update-script-for-hurrican..., https://docs.rockylinux.org/guides/network/hurricane_electri...Meski begitu, ini berfungsi dengan baik. Walaupun router tidak mendukung tunnel HE, dengan kekuatan RA Anda bisa memberi alamat IPv6 ke semua perangkat di dalam jaringan. Perangkat apa pun yang mengiklankan
/64akan menjadi router IPv6. Tentu saja dengan asumsi router tidak memfilter RA demi keamanan. Ini sangat berguna saat meng-host layanan di dalam jaringan rumah tanpa menyentuh aturan port forwarding.Terlalu banyak situs memasang penghalang atau bahkan menolak berfungsi, sehingga saya harus berhenti memakai IPv6 di sebagian besar jaringan saya.
Konfigurasinya hanya dengan file antarmuka jaringan OpenBSD seperti
/etc/hostname.gif0:tunnel,inet6 128 alias,!route -n add -inet6 default. Koneksi ini saya pakai untuk mengakses klaster VPS di AWS yang sengaja dikonfigurasi tanpa alamat IPv4 publik. Karena orang-orang seperti Jeff Bezos aktif memonetisasi ruang alamat IPv4, jika tidak begitu itu akan menjadi bagian besar dari biaya bulanan.Jika benar-benar membutuhkan koneksi IPv4 dengan cepat di lingkungan khusus IPv6 murni, Anda bisa memakai gateway DNS64+NAT64 publik. Daftarnya ada di https://nat64.net/public-providers
Untuk penggunaan umum, cukup ganti server DNS saja. DNS64 menyintesis record DNS AAAA yang mengarah ke kotak NAT64 untuk target yang tidak memiliki record AAAA:
$ dig +short @2a00:1098:2c::1 AAAA github.com→2a01:4f8:c2c:123f:64:5:141a:9cd7. NAT64 melakukan konversi protokol dan NAT pada trafik yang datang ke sisinya karena DNS64:$ curl --resolve github.com:443:[2a01:4f8:c2c:123f:64:5:141a:9cd7] [https://github.com/](<https://github.com/>)Ternyata pengguna internet khusus IPv6 yang seperti mitos itu benar-benar ada :) Rekayasa jaringan yang hebat
Dulu saya pernah membutuhkan hal serupa untuk tujuan kebalikannya yang lebih umum, yaitu mengerjakan hal-hal terkait IPv6 dari koneksi khusus IPv4. Jika punya kendali penuh atas server, solusi yang lebih terbatas tetapi cepat adalah membuat proxy SOCKS5 dengan
ssh -D 1080 -N myserverlalu mengaturnya di browser. Sepertinya bisa juga diatur untuk seluruh sistem, tetapi saya penasaran apakah koneksi ssh aslinya akan putus dan semuanya runtuh karenanyaSaya juga berada dalam situasi yang sama. Sudah 2 minggu saya hanya mendengar bahwa “tiket sudah dibuka dan teknisi akan segera memeriksanya”, jadi cukup membuat frustrasi
Entah apakah prioritasnya rendah karena IPv6 berfungsi sehingga tidak dianggap gangguan total. Di Jerman ada undang-undang yang menjamin kompensasi konsumen untuk kasus seperti ini, dan saya akan segera memeriksa apakah kasus ini juga termasuk. Solusi di tulisan blog ini punya masalah bahwa beberapa endpoint memblokir seluruh rentang IP data center atau meminta banyak CAPTCHA, dan penyedia VPN umum juga sama. Karena saya ingin memperbaiki seluruh jaringan rumah, ini harus ditangani di router, dan adanya perangkat nonstandar seperti Ubiquiti EdgeRouter membantu untuk pengaturan routing Wireguard dan aturan NAT. Saya tidak tahu bagaimana melakukannya pada perangkat seperti FritzBox. Kekurangannya adalah performa router tidak cukup untuk menangani banyak koneksi, jadi saya harus beralih ke IPSec yang mendukung hardware offloading
Masalah terbesarnya kemungkinan adalah mencari tahu konfigurasi enkripsi IPsec seperti apa yang diharapkan di sisi lawan. Wireguard bisa jauh lebih mudah, tetapi saat itu masalah akselerasi hardware bisa muncul. Jika perlu, Anda juga bisa mencadangkan file konfigurasi FritzBox, mengedit dump untuk mengatur endpoint VPN secara manual, lalu menghitung ulang checksum dan mengimpornya kembali. Di AVM ada banyak pengaturan yang tidak dapat diakses pengguna dan bisa disesuaikan dengan cara ini, tetapi mereka membuat aksesnya agak sulit agar router tidak tidak sengaja menjadi brick
Ini mungkin opsi yang layak ditanyakan ke ISP
Salah satu hal yang saya sukai dari aturan App Store Apple adalah kewajiban bahwa semua app harus berfungsi di jaringan khusus IPv6. Aturan ini sudah ada sejak bertahun-tahun lalu
Sebagai developer, ini agak mengejutkan saat pertama kali menghadapinya, tetapi sebagai pengguna, saya senang aturan itu ada
Jika mengalami hal yang sama, Anda bisa dengan sangat mudah membuat proxy ssh dengan
ssh -D 8080 user@hostnameSetelah koneksi dibuat, cukup atur browser agar memakai
localhost:8080sebagai proxy SOCKSUntuk memakai fitur ini,
AllowTcpForwardingharus diaktifkan disshd_configAda beberapa titik penghambat saat mematikan IPv4: sebagian besar mesin pencari alternatif tampaknya tidak menyediakan koneksi IPv6, dan saat terakhir diperiksa, Github sama sekali tidak punya IPv6
Karena ini Microsoft, jangan berharap hal baik; justru bersiaplah untuk yang terburuk. Baru-baru ini mereka juga merusak noscript/basic (x)html di issues. Saya juga tidak tahu apakah masih bisa membuat akun dengan browser noscript/basic (x)html, email yang dihosting sendiri, dan literal IP(v6) seperti
mailbox@[ipv6:...]. Steam atau game juga belum saya cek akhir-akhir ini, tetapi banyak CDN/server game, atau setidaknya sebagian besar, sepertinya masih hanya IPv4. Banyak server email juga memblokir server email yang dihosting sendiri, dan sering memakai daftar blokir yang ceroboh dan tidak tepat dari perusahaan mencurigakan di Swiss/Andorra seperti Spamhaus. Selain itu, banyak aplikasi jaringan tidak memanfaatkan keunggulan IPv6. Misalnya, aplikasi client-server seperti web semestinya memakai alamat IPv6 yang dibuat acak untuk setiap sesi, asalkan ISP tidak memberikan prefiks yang terlalu kecil. ISP IPv6 seluler tampaknya memberikan alamat IPv6/128 acak di dalam prefiks, tetapi seharusnya menyediakan prefiks yang stabil, mungkin sekitar 96 bit, agar aplikasi di perangkat bisa memilih alamat IPv6 “tetap” untuk panggilan suara/video langsung tanpa resolusi nama online terpusat. Diperlukan juga layanan OS tingkat pengguna baru untuk mengoordinasikan alamat IPv6 antar-aplikasi pengguna. Namun, perlu berhati-hati terhadap kompleksitas bodoh yang mungkin dipaksakan sebagian vendor dan developer untuk mengunci pengguna dan developer aplikasiSangat disayangkan harus melakukan itu hanya karena GitHub. Karena server email, suatu saat mungkin memang akan perlu, tetapi sebagai alasan kenapa saya butuh NAT64 secepat ini, itu buruk sekali. Saya melihatnya sebagai salah satu dari banyak kelemahan orang memakai GitHub sebagai sarana distribusi software
Saya sama sekali tidak tahu penyebabnya. Mesin itu tidak menjalankan apa pun yang bisa mengirim email, dan setahu saya Digital Ocean juga memblokir SMTP, jadi secara harfiah mustahil mesin ini mengirim email. Spamhaus sama sekali tidak membantu penyelesaiannya, begitu juga DO
https://gitlab.com/miyurusankalpa/IPv6-dns-server
Dalam praktiknya, kemungkinan besar kita akan tetap memiliki konektivitas IPv4 dalam bentuk tertentu, hanya saja makin besar kemungkinan koneksi itu lewat CGNAT. Github sangat menyebalkan. Mereka menguji selama beberapa minggu dan semuanya tampak berjalan baik, lalu kembali lagi menjadi IPv4-only. Server email memang masih hidup di dunia 10–20 tahun lalu. Menonaktifkan dukungan SSL 3.0 atau TLS 1.0 di server email pun sulit dilakukan tanpa menanggung masalah deliverability. Dukungan dan filter spam Microsoft Outlook tampaknya bahkan tidak mengenali server email yang mendukung IPv6. Padahal kalau melihat header, secara internal mereka tampaknya sudah lama memakai IPv6. Saya ingin IPv6 lebih banyak dimanfaatkan, tetapi ketakutan bahwa itu mungkin bekerja sedikit lebih buruk untuk segelintir pelanggan tampaknya membekukan semua upaya untuk benar-benar memakai teknologinya. Alasan kita melihat perilaku IP yang aneh di operator seluler kemungkinan besar karena cara IP bekerja di jaringan seluler. Saat Anda menelepon sambil melaju di jalan tol atau duduk di kereta cepat, ponsel terus melakukan handover, dan alamat IP membutuhkan tingkat stabilitas tertentu. Bahkan saat melintasi perbatasan dan berpindah ke jaringan asing, seluruh stack harus mempertahankan koneksi tanpa putus. Di dalam jaringan seluler ada sistem routing khusus, dan sebagian di antaranya memanfaatkan fitur IPv6 dengan sangat baik, tetapi itu membuat penyediaan alamat unicast global statis yang “biasa” untuk ponsel menjadi sulit. Mereka membuatnya terlihat seumum mungkin, tetapi mencapai stabilitas seperti internet rumah kabel tidaklah mudah
Di tempat kerja, kami mengoperasikan beberapa VPN IPv6-only untuk akses infrastruktur internal
Sejauh ini masalah terbesarnya adalah klien Windows dan macOS membutuhkan server DNS IPv6. Jika tidak, mereka bahkan tidak mencoba me-resolve
v6onlyhost.vpn.example.com. Karena klien bisa saja berada di jaringan yang mendukung IPv6 atau tidak, kami harus menjalankan server DNS di dalam VPN dan mendorongnya ke klien; tetapi jika setelah VPN terputus aplikasi Wireguard karena suatu alasan gagal mengembalikan DNS seperti semula, berbagai macam masalah bisa munculSaya sudah tidak ingat detailnya, tetapi saat saya menelusurinya beberapa tahun lalu, macOS bekerja baik seperti itu selama hanya memiliki alamat IPv6. Cukup tambahkan alamat ULA ke host. Tentu saja, ini mengandaikan pengguna tahu caranya. Tergantung aplikasi VPN, bisa juga memasukkan skrip yang menambahkan ULA saat masuk ke jaringan IPv6-only. Namun, jika ULA palsu terus tertinggal, itu bisa menimbulkan masalah saat pengguna berpindah ke jaringan yang mendukung IPv6
Meski sudah selama ini berlalu, aku masih belum melihat alasan yang cukup meyakinkan untuk menghabiskan beberapa hari memusingkan diri mengubah semua mesin dan homelab-ku ke IPv6
Port forwarding dan aturan firewall terasa lebih intuitif daripada menghabiskan berminggu-minggu memecahkan masalah semuanya, mengonfigurasi ulang firewall, dan menomori ulang alamat jaringan. Apa yang kulewatkan?
Untuk jaringan dan ISP-ku, Comcast, cukup menyalakan IPv6 di router, lalu router akan menerima prefix dari ISP dan mengiklankannya secara lokal; setelah itu tinggal menambahkan satu aturan firewall untuk target yang ingin dibuat bisa diakses dari luar
Aku mengelola sekitar 3.500 perangkat, 7 gedung, dua WAN 10 giga dan satu WAN 4 giga, serta menggunakan sekitar 26 alamat IPv4 publik dan NAT. Sampai sekarang pun tidak ada alasan kuat untuk mengadopsi IPv6. Konfigurasi dual stack hanya menambah trafik dan kompleksitas yang tidak perlu tanpa manfaat berarti. Sampai sekarang masih sulit mendapatkan blok alamat IPv6 statis, dan aku sudah mengajukan dua kali tetapi ditolak. Bukan hanya ruang peningkatannya kecil, mendapatkan bloknya sendiri pun masih sulit. Persyaratan kelayakan di https://www.arin.net/resources/guide/ipv6/first_request/ juga seperti memiliki alokasi IPv4, berencana segera melakukan multihoming IPv6, memiliki 13 end site dalam 1 tahun, menggunakan 2.000 alamat IPv6 dalam 1 tahun, dan menggunakan 200 subnet
/64dalam 1 tahunTanda-tanda awalnya sudah ada. AWS dulu hanya mengenakan biaya untuk alamat IPv4 Elastic IP yang tidak digunakan, tetapi sekarang mengenakan biaya terlepas dari digunakan atau tidak. Sejujurnya, cukup siapkan saat nanti meng-upgrade gateway atau router berikutnya; saat ini tidak ada yang benar-benar terlewat. IPv4 dan IPv6 juga bisa digunakan bersamaan. Perangkat yang hanya mendukung IPv4 tetap berjalan baik meski IPv6 dinyalakan di router. Satu hal yang perlu diperhatikan adalah auto-discovery IPv6 dulu sempat cukup berantakan. Ada SLAAC, konfigurasi alamat otomatis IPv6, dan DHCPv6, sementara konfigurasi alamat otomatis awalnya bahkan tidak mendukung penerimaan server DNS. Sekarang ini mulai terkonsolidasi ke arah SLAAC, tetapi ISP akan tetap memakai DHCPv6 untuk waktu yang sangat lama