Pembaruan gateway VPN gagal: baca tahapannya sebelum membuka jalur keluar
Pembaruan yang gagal menyebutkan sebuah tahap, bukan port yang hilang. Cocokkan pesannya dengan pemiliknya, baca jalur proksi, lalu tentukan kebijakan pemeliharaan dengan sadar.
Menolak memasang pembaruan keamanan hanya berjarak satu minggu buruk dari menjadi masalah orang lain, dan gateway yang menerima klien adalah tempat termudah untuk menumbuhkan kebiasaan itu. Penyebab biasanya bukan rute yang hilang melainkan keputusan yang hilang: tidak ada yang mengatakan bagaimana host itu sendiri harus menjangkau repositori ketika penerusan klien sengaja dibuat sempit. Keputusan itu harus diambil secara eksplisit, dan cakupannya harus lebih sempit daripada mematikan kebijakan keluar selama satu sore.
Empat tahap, empat pemilik berbeda
Kegagalan pembaruan adalah tahap yang bernama, baik pesannya menyebutkannya maupun tidak, dan setiap tahap dimiliki pihak yang berbeda. Nama yang tidak dapat diselesaikan adalah urusan resolver. Koneksi yang kehabisan waktu adalah urusan transportasi, proksi, atau ujung jauh. Kesalahan identitas TLS adalah urusan kepercayaan, dan metadata arsip yang ditolak adalah urusan tanda tangan. Empat tahap, empat pemilik, dan aturan port hanya pernah menjawab salah satunya.
| The failure text mentions | Which component owns it | What you check first | What you must not change |
|---|---|---|---|
| a name that will not resolve | the resolver policy for this host | which resolver is used, and whether its path is permitted | nothing in the firewall: no repository packet has left yet |
| a connection that times out | routing, proxy or the far end | the destination, port and proxy the manager actually attempts | the egress policy, before you know that destination |
| a TLS identity mismatch | trust configuration and the server's identity | the chain the manager is presented with | verification settings, which only hide the mismatch |
| rejected archive metadata | the repository's signing metadata | whether the source carries valid, trusted metadata | the signature check, which is not a routing question |
Ping dan resolusi nama adalah dua uji yang pertama orang pakai, dan keduanya menjawab pertanyaan yang tidak pernah diajukan. Balasan echo memakai protokol berbeda dari koneksi repositori, dan pencarian yang berhasil berhenti pada resolusi nama tanpa menguji pengambilan. Keduanya bisa lolos sementara transaksi sebenarnya gagal, dan keduanya bisa gagal karena alasan yang tidak berhubungan dengan jalur.
Baca jalur yang sebenarnya ditempuh manajer
Periksa URI sumber yang dikonfigurasi dan pengaturan proksi yang berlaku, bukan mengasumsikan salah satunya. Aturan yang ditulis untuk HTTP biasa bukan perbaikan ketika repositori berbicara HTTPS, dan organisasi yang mewajibkan proksi sudah memilih jalurnya. Manajer paket mematuhi variabel lingkungan dan konfigurasinya sendiri, dan pengaturan khusus host dapat menimpa pengaturan global. Apa yang dilakukan peramban interaktif belum tentu sama dengan yang dilakukan manajer.
apt-get update -o Debug::Acquire::http=true
apt-config dump | grep -i proxy
env | grep -i proxy
Dokumentasi transportasi APT menjelaskan pengaturan mana yang berlaku untuk skema URI mana dan bagaimana pilihan khusus host ditulis. Simpan keluaran perintah bersama tiket, karena itu memisahkan masalah proksi dari rute yang hilang lebih cepat daripada berapa pun hasil ping. Catat tujuan, port, dan protokol persis yang dicoba manajer, dan biarkan perubahan firewall bersandar pada catatan itu alih-alih alamat cermin tebakan yang usang dalam hitungan bulan.
Pilih kebijakan pemeliharaan, bukan pengecualian
Tiga kebijakan dapat dipertahankan: memelihara melalui terowongan, memelihara melalui proksi pembaruan terkelola, atau memelihara melalui rute langsung yang diizinkan secara sempit. Masing-masing menyiratkan pengaturan resolver yang sesuai dengannya. Yang tidak dapat dipertahankan adalah pengecualian yang diam-diam menjadi cadangan tanpa batas setiap kali terowongan mati.
Tuliskan kebijakan yang dipilih beserta pemiliknya, karena operator berikutnya akan menemukan aturannya dan bukan alasan di baliknya. Terapkan izin melalui firewall yang ada dan pemilik jaringan, bukan dengan menghapus aturan atau menambahkan manajer kebijakan kedua untuk satu host. Cakup keluarga alamat dan titik akhir layanan yang dipakai sumber sebenarnya, dan tinjau daftar itu ketika repositori berpindah.
Verifikasi tanpa melemahkan kepercayaan
Keberhasilan transportasi bukan izin untuk melonggarkan verifikasi: autentikasi arsip dan identitas server TLS adalah dua pemeriksaan yang berbeda, dan menonaktifkan salah satunya membuat kesalahan hilang sambil mengubah apa yang akan diterima host. Proksi penyadap adalah keputusan kepercayaan pemilik jaringan, bukan alasan untuk mematikan pemeriksaan secara lokal, dan kredensial repositori tidak boleh ada di diagnostik bersama karena log yang bertele-tele adalah tempat termudah untuk membocorkannya.
Terima perubahan dengan pengambilan metadata terkendali yang diikuti satu transaksi paket yang disetujui, lalu uji apa yang terjadi ketika terowongan putus. Jalur pemeliharaan yang diam-diam melebar selama gangguan lebih buruk daripada jalur yang gagal tertutup, dan hasilnya harus berupa jalur pembaruan dengan pemilik yang bernama dan cakupan yang terbatas.