Pengenalan #
nftlb bergantung kepada timbunan jaringan netfilter / nftables linux. Dengan tumpuan baru ini, ia menyediakan konsep dan kebolehan baru yang perlu kita muat dalam reka bentuk pengimbangan beban semasa.
Artikel ini bertujuan untuk memberikan gambaran mengenai bagaimana jalur data balancing load dan path kawalan nftables direka.
Hooks Laluan Data #
Ini adalah cangkuk Netfilter yang menggunakan nftlb, mengambil kesempatan daripada rantai yang boleh dikonfigurasikan. Konsep baru seperti pengambilan pelacakan sambungan perlu disertakan untuk mempercepat sambungan yang diteruskan ke arah belakang.
------------ | DNSBL | ------------ | kemasukan beratur | pra laluan ke hadapan pasca penghalaan ------------ ------------- -------------- -------- ---- ------- -------------- ------- | penapis | penapis | penapis | | penapis | nat | | penapis | | nat | | 0 | 50-99 | 100 | | -150 | 0 | | 0 | | 100 | --> | | | Dasar Sek |-( Conntrack )-> | Had Sek | |-( Penghalaan )-> | | --> | | | Pengelompokan | Jadual aliran | DSR | VS{} | Pembantu | dNAT | VS{} | Pemuatan aliran | | sNAT | | | | dNAT stless | | Markah | | -------------- ------- ------------ ------------- ---- ---------- ------------ -------
kemasukan #
Penapis (0): Ditetapkan untuk pengurusan kluster. Belum termasuk dalam nftlb.
(50-99) penapis: Ditetapkan untuk pecutan jadual alir. Belum termasuk dalam nftlb.
Penapis (100): Tercantum, dalam rangka, untuk: Dasar Keselamatan (senarai hitam dan putih senarai putih), Kembali Pelayan Langsung dan topologi dNAT Stateless.
prerouting #
Penapis (-150): Ditetapkan untuk Had Keselamatan bagi setiap perkhidmatan maya atau setiap backend seperti: bilangan maksimum sambungan yang ditetapkan, had TCP RST sesaat, had TCP SYN sesaat, sambungan TCP yang tidak ketat, beratur kepada perkhidmatan DNSBL, perkhidmatan maya dan tanda backend , penggunaan pembantu, pembalakan sambungan input bagi setiap perkhidmatan maya.
(0) nat: Reserved untuk tujuan NAT mangling.
ke hadapan #
Penapis (0): Dikeluarkan untuk beban aliran. Belum termasuk dalam nftlb.
pasang surut #
(100) nat: Reserved untuk tujuan NAT mangling.
Jalan Kawalan #
Laluan kawalan nftlb direka sebagai daemon yang menyediakan pelayan http mudah dengan API, atau binari mandiri yang menerima fail konfigurasi dalam format JSON.
------------- traduction ------------- -------- API JSON | | objs kepada nft | | netlink | | ------------> | pelayan http | --------------> | libnftables | --------> | kernel | | | | | | | | ------------- | ------------- -------- | netlink | ----------------------------------------------------