IPv6 berhenti menghantar trafik pada saat OpenVPN dimulakan semula, dan IPv4 terus berfungsi. Antara muka terowong dicipta semula, dan sesuatu yang lain yang menguruskan keadaan IPv6-nya sama ada kehilangan alamat atau kehilangan laluan yang menjadikan prefiks itu boleh dicapai. Terdapat tiga bahagian keadaan yang berasingan, dan setiap satu mempunyai pemilik yang berbeza: prefiks yang diwakilkan oleh penyedia dan jangka hayatnya, alamat yang diberikan kepada klien VPN, dan laluan huluan yang menghantar prefiks klien itu kembali ke pelayan. Kenal pasti pemilik setiap satu sebelum menyentuh mana-mana daemon, kerana memulakan semula yang salah menyembunyikan masalah selama sehari dan mengembalikannya pada sambungan seterusnya.

Tiga bahagian keadaan IPv6, tiga pemilik

StateTypical ownerWhat breaks when it is wrong
Delegated prefix and lifetimeUpstream router or provider via DHCPv6-PDClients keep addresses that the upstream no longer routes
Client addresses inside the tunnelOpenVPN server config or a delegation daemonNo global address, or an address outside the routed prefix
Return route for the client prefixUpstream router, or the server's own routing tableOutbound works, replies never arrive

Alamat dengan skop global di dalam terowong tidak mencukupi dengan sendirinya. Penghala huluan masih perlu menghantar prefiks itu kembali ke pelayan VPN, dan mereka tidak akan melakukannya kerana pelayan kebetulan mempunyai alamat daripadanya.

Itulah sebabnya menyalin /64 awam ke dalam kumpulan terowong juga berisiko. Prefiks yang dihalakan ke pelayan bukan sama dengan prefiks yang dianggap on-link oleh bahagian huluan, dan penemuan jiran tidak akan mengisi jurang itu.

Baca keadaan pelayan sebelum mengubah apa-apa

Tangkap keadaan dua kali, sekali semasa IPv6 berfungsi dan sekali selepas dimulakan semula, kemudian bandingkan. Paparan baca sahaja sudah memadai, dan ia tidak memerlukan kos semasa tetingkap penyelenggaraan:

ip -6 addr show
ip -6 route show table all
ip -6 rule show
sysctl net.ipv6.conf.all.forwarding

Cari tiga perbezaan khusus: laluan yang hilang, alamat yang beralih kepada jangka hayat usang atau tidak sah, dan prefiks yang berubah selepas perwakilan semula sementara konfigurasi VPN masih mengiklankan yang lama.

Jika alamat hilang tetapi prefiks tidak berubah, daemon yang menetapkannya berhenti menguruskan antara muka. Jika prefiks berubah tetapi alamat tidak, konfigurasi klien sudah usang. Kedua-dua kegagalan kelihatan sama dari pelayar dan tidak mempunyai apa-apa persamaan.

Tentukan sama ada dhcpcd patut menguruskan terowong

dhcpcd boleh menemui antara muka dan mewakilkan bahagian prefiks DHCPv6 kepada antara muka hiliran, dan konfigurasinya boleh menamakan sasaran perwakilan secara eksplisit. Tanpa sasaran eksplisit, tingkah laku terdokumentasinya boleh melibatkan antara muka lain, dan begitulah terowong berakhir dengan alamat yang tiada siapa merancang.

Dua syarat patut mendorong anda menyerahkan pengalamatan statik terowong kepada OpenVPN: pelayan menolak alamat tetap dalam konfigurasinya, dan nama terowong berubah semasa sambung semula. Jika kedua-duanya benar, kecualikan terowong daripada daemon perwakilan secara sengaja, dengan komen yang menyatakan sebabnya.

Jika sebaliknya perwakilan ke terowong itu disengajakan, laksanakan pengendalian perubahan prefiks. Itu bermakna bertindak balas apabila prefiks yang diwakilkan atau jangka hayatnya berubah, mengemas kini prefiks klien yang diiklankan pelayan, dan menambah laluan itu semula. Mengecualikan antara muka dalam reka bentuk itu menghapuskan satu-satunya komponen yang mengetahui prefiks baharu.

Memulakan semula dhcpcd mungkin kelihatan membaiki keadaan kerana ia mencipta semula keadaan, tetapi ia juga memperbaharui atau menarik balik konfigurasi untuk antara muka yang anda tidak fikirkan. Pemulihan itu tidak menjadikannya keperluan selepas setiap permulaan semula VPN. Ia juga menetapkan semula pembilang yang anda gunakan sebagai bukti. Utamakan muat semula bersasar bagi antara muka yang benar-benar anda ubah.

Sahkan IPv6 secara berasingan daripada NAT IPv4

Pastikan penghantaran ke hadapan diaktifkan dan laluan huluan menunjuk ke prefiks klien sebenar, kemudian buat sambungan IPv6 baharu yang dibenarkan. Semak juga jadual laluan IPv6 klien itu sendiri, kerana klien yang memaparkan alamat awam tidak membuktikan bahawa permintaannya menggunakan terowong.

Penyamaran IPv4 menyelesaikan masalah lain: laluan pulang untuk sumber peribadi. Ia tidak melakukan apa-apa untuk prefiks IPv6 yang ditarik balik, dan menambahnya tidak akan mengembalikan IPv6.

Tutup dengan rekod pemilikan: komponen mana yang mewakilkan prefiks, yang mana menetapkan alamat klien, yang mana memegang laluan pulang, dan apa yang berlaku kepada setiap satu semasa sambung semula. Empat baris dalam runbook menyelamatkan orang seterusnya daripada memulakan semula tiga daemon untuk mencari yang benar-benar penting.

Artikel berkaitan