Badai koneksi ulang di kantor cabang: batas penerimaan strongSwan
Satu kantor di belakang satu NAT dapat melampaui batas IKE setengah terbuka strongSwan. Hitung status penerimaan terpisah dari sesi yang sudah terbentuk sebelum menaikkan nilai.
Lihatlah kantor cabang kembali setelah kegagalan tautan dan gateway melihat sesuatu yang tidak pernah muncul pada hari biasa: puluhan laptop datang dari satu alamat publik sekaligus. Masing-masing adalah perangkat sah dan masing-masing memulai pertukaran IKE yang belum selesai. Apakah ledakan itu berhasil bergantung pada batas yang tidak ada hubungannya dengan berapa banyak karyawan yang dapat ditampung server. Ledakan itu singkat, dan justru itulah beban kerja yang menjadi alasan jalur penerimaan dibangun.
Ikuti satu laptop kembali ke jaringan
Klien mengirim permintaan awal dan menunggu, dan sampai pertukaran selesai gateway menyimpan status penerimaan untuk percobaan itu. Perangkat lain di belakang alamat yang sama datang saat yang pertama masih menunggu, dan mereka mengantre di belakang batas yang menghitung alamat, bukan pengguna. Dari luar gejalanya adalah segelintir pengguna yang terhubung dan kelompok yang lebih besar yang kehabisan waktu.
Tidak ada yang salah dalam urutan itu. Jalur penerimaan melakukan apa yang dikonfigurasi untuk dilakukannya.
Hitung pekerjaan setengah terbuka sebagai sumber daya tersendiri
strongSwan memisahkan dua populasi: asosiasi yang sepenuhnya terbentuk, dan percobaan yang masih menghubungkan atau menunggu diproses. Ambang pemblokiran berlaku untuk asosiasi setengah terbuka yang dikaitkan dengan satu alamat peer, dan ambang cookie berlaku secara global dan per alamat. Penghitung itu melindungi daemon dari habis oleh pekerjaan yang tidak terautentikasi, yang persis merupakan bentuk badai koneksi ulang. Tidak ada status itu yang muncul di daftar terowongan yang terbentuk.
Membacanya sebagai batas atas sesi karyawan adalah kesalahan yang membuat semuanya dinaikkan sekaligus. Server yang membawa empat ratus terowongan terbentuk tidak otomatis mampu menyerap empat ratus paket pertama yang bersamaan, karena kedua biaya itu jatuh di tempat berbeda.
Latensi autentikasi menentukan berapa lama setiap percobaan bertahan dalam hitungan setengah terbuka. Backend yang menjawab lambat mengubah ledakan singkat menjadi antrean panjang bahkan ketika laju kedatangan sederhana.
swanctl --stats
swanctl --list-sas | grep -c ESTABLISHED
Baca pengaturan penerimaan sebelum mengubahnya
Temukan nilai yang benar-benar dimuat daemon yang berjalan sebelum membentuk pendapat tentangnya. Konfigurasi sering dibagi antara file utama dan direktori potongan per plugin, sehingga nilai yang Anda tetapkan di satu tempat bisa ditimpa di tempat lain. Pencarian di bawah memperlihatkan setiap file yang menyebut pengaturan ini.
Lalu tentukan angka mana yang terlalu kecil. Jika satu alamat sah mewakili seluruh kantor, ambang pemblokiran per alamat adalah nilai yang harus menampung konsentrasi itu. Ambang cookie global melindungi daemon dari banjir yang lebih luas dan tidak boleh dilonggarkan karena satu situs terhubung ulang. Bandingkan nilai per alamat itu dengan situs terbesar yang benar-benar Anda miliki.
Biarkan mekanisme cookie tetap aktif. Cookie memaksa klien membuktikan bahwa ia dapat menerima di alamat yang diklaimnya sebelum daemon mengeluarkan kerja nyata untuk pertukaran, dan menonaktifkannya bukanlah peningkatan kapasitas yang netral. Naikkan ambang hanya dengan laju kedatangan yang terukur dan anggaran autentikasi yang dinyatakan di belakangnya.
grep -rn -E 'block_threshold|cookie_threshold' /etc/strongswan.conf /etc/strongswan.d/
swanctl --stats | grep -i half
Rencanakan kepulangan, bukan hanya keadaan mantap
Target ketersediaan yang hanya menghitung sesi terbentuk menggambarkan sore yang tenang, bukan pemulihan. Tanyakan sebaliknya bagaimana populasi yang dimaksud kembali setelah peristiwa jaringan bersama, dan apakah jalur penerimaan dapat menyerap bentuk itu.
Menyebar koneksi ulang di seluruh armada terkelola sering lebih murah daripada memperbesar batas, karena menghilangkan ledakan buatan alih-alih membayarnya secara permanen. Pantau status setengah terbuka dan peristiwa penerimaan di samping pembentukan yang berhasil, dan perlakukan hitungan setengah terbuka yang naik dengan keberhasilan yang datar sebagai peringatan dini, bukan keanehan.
Referensi vendor untuk pengaturan ini adalah dokumentasi strongswan.conf, yang menyebutkan penghitung dan rilis yang memperkenalkan ambang cookie per alamat. Bacalah bagian untuk versi yang Anda pasang, bukan halaman terbaru, karena nilai bawaan bergeser antar rilis.