Konten
Pengantar
nftlb bergantung pada tumpukan jaringan linux netfilter / nftables. Dengan tumpukan baru ini disediakan konsep dan kemampuan baru yang kami butuhkan agar sesuai dengan desain penyeimbangan beban saat ini.
Artikel ini bertujuan untuk memberikan pemahaman umum tentang bagaimana jalur data penyeimbang beban nftables dan jalur kontrol dirancang.
Kait Jalur Data
Ini adalah kait Netfilter yang digunakan nftlb, mengambil keuntungan dari rantai yang dapat dikonfigurasi. Konsep-konsep baru seperti koneksi pelepasan koneksi perlu dimasukkan untuk mempercepat koneksi penerusan ke backend.
------------ | DNSBL | ------------ | queue ingress | prerouting forward postrouting ------------ ------------- -------------- ------------ ------- -------------- ------- | filter | filter | filter | | filter | nat | | filter | | nat | | 0 | 50-99 | 100 | | -150 | 0 | | 0 | | 100 | --> | | | Sec Policies |-( Conntrack )-> | Sec Limits | |-( Routing )-> | | --> | | | Clustering | Flow tables | DSR | VS{} | Helpers | dNAT | VS{} | Flow offload | | sNAT | | | | stless dNAT | | Marks | | -------------- ------- ------------ ------------- -------------- ------------ -------
masuk
(0) filter: Dicadangkan untuk manajemen pengelompokan. Belum termasuk dalam nftlb.
(50-99) filter: Dicadangkan untuk akselerasi tabel aliran. Belum termasuk dalam nftlb.
(100) filter: Dicadangkan, secara berurutan, untuk: Kebijakan Keamanan (daftar hitam dan daftar putih), Pengembalian Server Langsung dan topologi dNAT Tanpa Kewarganegaraan.
prerouting
(-150) filter: Dicadangkan untuk Batas Keamanan per layanan virtual atau per backend seperti: jumlah maksimum koneksi yang dibuat, batas TCP RST per detik, batas TCP SYN per detik, penurunan koneksi TCP yang tidak ketat, antrian ke layanan DNSBL, layanan virtual dan tanda backend , penggunaan pembantu, pencatatan koneksi input per layanan virtual.
(0) nat: Dicadangkan untuk tujuan NAT mangling.
meneruskan
(0) filter: Dicadangkan untuk aliran offload. Belum termasuk dalam nftlb.
postrouting
(100) nat: Dicadangkan untuk tujuan NAT mangling.
Jalur Kontrol
Jalur kontrol nftlb dirancang sebagai daemon yang menyediakan server http sederhana dengan API, atau biner mandiri yang menerima file konfigurasi dalam format JSON.
------------- traduction ------------- -------- JSON API | | objs to nft | | netlink | | ------------> | http server | --------------> | libnftables | --------> | kernel | | | | | | | | ------------- | ------------- -------- | netlink | ---------------------------------------