แแแ แแแแก แแแแ แฃแแ แฃแแแแแงแแคแก แแฎแแแแ แแแแแ แแ แแขแแแแแแกแแแ แแแแแฃแแแแแแแ แแแขแแ แคแแแกแก, แ แแแแแแช แฃแแ แฃแแแแแงแแคแก แซแแ แแแแ แคแฃแแฅแชแแแแก แแแแแขแแแแแแ แแแแแชแแแแแแก แแแแกแแฆแแแแ, แแแแแชแแแแ แแแแ แแชแแแแแก แจแแกแแกแ แฃแแแแแแ แแ แแแแแแแก แแแแขแ แแแแกแแแแก. แคแแแขแ แแชแแแก แฌแแกแแแ แแ แแ แแขแแแแแแก แกแแแชแแคแแแฃแ แ แแแแแฃแจแแแแแแแแ แจแแแแแแแแแ แแแแฎแแแ แแแแแก แกแแแ แชแแจแ แแแแขแแแแแจแ, แ แแก แจแแแแแแแช แแก แแแแขแ แแขแแแ แแแแ แแแ แแแจแ Netlink แแแขแแ แคแแแกแแก แแแแแงแแแแแแ แแ แจแแกแ แฃแแแแฃแแแ แแแ แแแจแ แกแแแชแแแแฃแ แแแ แขแฃแแแฃแ แแแแฅแแแแจแ, แ แแแแแแช แแแแแแแแแแแก BPF-แก (Berkeley Packet Filters). แแก แแแแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแจแแแแแแแแแ แจแแแแชแแ แแ แแแ แแแแก แแแแแแ แแแจแแแแฃแแ แคแแแขแ แแชแแแก แแแแแก แแแแ แแ แแแแแแขแแแแ แแ แแขแแแแแแแแแ แแฃแจแแแแแก แฌแแกแแแแกแ แแ แแแแแแแก แงแแแแ แคแฃแแฅแชแแ แแแแฎแแแ แแแแแก แกแแแ แชแแจแ.
แซแแ แแแแแ แแแแแแชแแแแ:
- แแแแแแแแแแแแก แแฎแแ แแแญแแ แ แแแแจแแ แแแจแ (แจแแแ แแแแ, แแแกแแแแ แแแแแก แแแ แแแแฃแแ แแแแ แแแ แแ แแแ แขแแแ, แ แแแแแแแช แแแแ แขแแแแแก แจแแแแ แแแแก). แแแแแแแแแ, แแแแ แแแแกแแแแก "แแแแ แ แกแแ", แ แแแแแก แแแแแแแขแแแแช แแ แแก แแแแแ แแ, "แแแขแแ แแแแแก" แแ แแจแแก แแแแแแแแ แแแฃแแแแแแก, แ แแ แแแแ แแแ แจแแแซแแแแ แจแแแชแแแแแก แแแแแแแแแแแก แแแแแ แแจแ (แแแแแ แแแกแแแแก "ipv4_addr . ipv4_addr . inet_service" แแแ แ แจแแกแแซแแแแแแ แแงแ แแฃแกแขแ แฉแแแแแแแ แแแแฎแแแแ แคแแ แแแก "192.168.10.35. 192.68.11.123" แแ แแฎแแ แจแแแแซแแแแ แแแฃแแแแแ แแแกแแแแ แแแแแก แฏแแฃแคแแแ "80-192.168.10.35-192.168.10.40"):
แแแแแแ ip foo {
แแแแ แ แกแแแก แแแงแแแแแ {
แแแ แแคแแ ipv4_addr. ipv4_addr. inet_service
แแ แแจแแแแก แแแขแแ แแแแ
แแแแแแแขแแแ = {192.168.10.35-192.168.10.40. 192.68.11.123-192.168.11.125. 80}
}แฏแแญแแแก แแแแ {
แขแแแแก filter hook prerouting แแ แแแ แแขแแขแฃแแ แคแแแขแ แ; แแแแแขแแแแก แแแ แแแ;
ip sadr. ip daddr. tcp dport @whitelist แแแฆแแแ
}
} - แแแแแแแฅแขแแแจแ แแ แ แฃแฅแแแแก แกแแแแจแ แจแแกแแซแแแแแแแ แแแแแแงแแแแ แแแ แแฅแขแแแ "typeof", แ แแแแแแช แแแแกแแแฆแแ แแแก แแแแแแแขแแก แคแแ แแแขแก แแแแแฎแแแแแกแแก.
แแแแแแแแแ:แแแแแแ ip foo {
แแแแ แ แกแแแก แแแงแแแแแ {
IP แขแแแแก Saddr
แแแแแแแขแแแ = {192.168.10.35, 192.168.10.101, 192.168.10.135 }
}แฏแแญแแแก แแแแ {
แขแแแแก filter hook prerouting แแ แแแ แแขแแขแฃแแ แคแแแขแ แ; แแแแแขแแแแก แแแ แแแ;
ip daddr @whitelist แแแฆแแแ
}
}แแแแแแ ip foo {
แ แฃแแ adr2mark {
IP saddr-แแก แขแแแ: แแแขแ แแแจแแแ
แแแแแแแขแแแ = {192.168.10.35: 0x00000001, 192.168.10.135: 0x00000002 }
}
} - แแแแแขแแแฃแแแ แจแแแ แแแแแก แแแแแงแแแแแแก แจแแกแแซแแแแแแแ NAT แแแแจแแ แแแจแ, แ แแช แกแแจแฃแแแแแแก แแแซแแแแ แแแฃแแแแแ แแแกแแแแ แแ แแ แแแ แขแ NAT แขแ แแแกแคแแ แแแชแแแแแก แแแแกแแแฆแแ แแกแแก แ แฃแฅแแแแก แกแแแแแ แแ แแแกแแฎแแแแแฃแ แแแแแแแฅแขแแแแ แแแงแ แแแแแแ:
nft แแแแแแขแแ แฌแแกแ ip nat pre dnat ip addr. แแแ แขแ ip-แแ saddr แ แฃแแ {1.1.1.1: 2.2.2.2. แแชแแแแแ}
nft แแแแแแขแแ แ แฃแแ ip nat แแแแแ แแฃแแแแแแ { แแแ แแคแแ ipv4_addr . inet_service: ipv4_addr. inet_service \\; }
nft แแแแแแขแแ แฌแแกแ ip nat pre dnat ip addr. แแแ แขแ ip saddr-แแ. tcp dport แ แฃแแ @destinations - แขแแฅแแแแแก แแฉแฅแแ แแแแก แแฎแแ แแแญแแ แ แฅแกแแแแก แแแ แแแแก แแแแ แแแแฎแแ แชแแแแแแฃแแ แแแแแแ แแ แคแแแขแ แแชแแแก แแแแ แแชแแแ. แแฉแฅแแ แแแ แฉแแ แแฃแแแ ethtool แฃแขแแแแขแแก แกแแจแฃแแแแแแ (โethtool -K eth0 hw-tc-offload แฉแแ แแฃแแแโ), แ แแก แจแแแแแแแช แแก แแแแฅแขแแฃแ แแแฃแแแ nftables-แจแ แซแแ แแแแแ แฏแแญแแแกแแแแก โoffloadโ แแ แแจแแก แแแแแงแแแแแแ. Linux kernel 5.6-แแก แแแแแงแแแแแแกแแก, แขแแฅแแแแแก แแฉแฅแแ แแแ แแฎแแ แแแญแแ แแแแ แกแแแแฃแ แแก แแแแแก แจแแกแแขแงแแแกแแ แแ แจแแแแแแแแแ แแแขแแ แคแแแกแแก แจแแแแฌแแแแแกแแแแก แแแแแขแแแแก แแแฆแแแแกแแแ, แแแฃแฅแแแแแกแแแ, แแฃแแแแ แแแแกแแแ (dup) แแ แแแแแแแแแแแกแแแ (fwd) แแแแแแแแชแแแจแ. แฅแแแแแ แแแชแแแฃแ แแแแแแแแจแ, 192.168.30.20 แแแกแแแแ แแแแแ แแแแแแแแ แ แแแแแขแแแแก แฉแแแแแแแแแก แแแแ แแชแแแแ แจแแกแ แฃแแแแฃแแแ แฅแกแแแแก แแแ แแแแก แแแแแแ, แแแแแขแแแแก แแแ แแแจแ แแแแแชแแแแก แแแ แแจแ:
# cat file.nft
แแแแแแ netdev x {
แฏแแญแแ y {
แขแแแแก แคแแแขแ แแก แแแฃแญแแก แจแแกแแกแแแแแ แแแฌแงแแแแแแแ eth0 แแ แแแ แแขแแขแ 10; แแ แแจแแแแก แแแแแแขแแแ แแแ;
ip saddr 192.168.30.20 แฉแแแแแแแแก
}
}
# nft -f แคแแแแ.nft - แแแฃแแฏแแแแกแแแฃแแ แแแคแแ แแแชแแ แฌแแกแแแจแ แจแแชแแแแแก แแแแแแแแแแแ แแแแแก แจแแกแแฎแแ.
# nft แฌแแจแแแก แฌแแกแ ip yz แกแแฎแแแฃแ แ 7
แจแแชแแแแ: แฌแแกแแก แแแแฃแจแแแแแ แแแ แแแฎแแ แฎแแ: แแกแแแ แคแแแแ แแ แแแ แแฅแขแแ แแ แแ แแ แแก
แฌแแจแแแ แฌแแกแ ip yz แกแแฎแแแฃแ แ 7
^# nft แฌแแจแแแก แฌแแกแ ip xx แกแแฎแแแฃแ แ 7
แจแแชแแแแ: แฌแแกแแก แแแแฃแจแแแแแ แแแ แแแฎแแ แฎแแ: แแกแแแ แคแแแแ แแ แแแ แแฅแขแแ แแ แแ แแ แแก
แฌแแจแแแ แฌแแกแ ip xx handle 7
^# nft แฌแแจแแแ แชแฎแ แแแ twst
แจแแชแแแแ: แแกแแแ แคแแแแ แแ แแแ แแฅแขแแ แแ แแ แแ แแก; แชแฎแ แแแแก แขแแกแขแก แแฃแแแกแฎแแแ แแฏแแฎแแก IP-แจแ?
แชแฎแ แแแแก แฌแแจแแ twst
^^^^แแแ แแแแ แแแแแแแแ แแแแฉแแแแแแก, แ แแ แชแฎแ แแแ โyโ แแ แแ แแก แกแแกแขแแแแจแ, แแแแ แ, แ แแ แแแแแ โ7โ แแแแแฃแจแแแแแแแ แแ แแแกแแแ, แ แแ แชแฎแ แแแแก แกแแฎแแแแก แแแ แแคแแกแแก แแแฉแแแแแแแ typo prompt.
- แแแแแขแแแฃแแแ แแฎแแ แแแญแแ แ slave แแแขแแ แคแแแกแแก แจแแกแแแแฌแแแแแแ "meta sdif" แแ "meta sdifname" แแแแแแแแแ:
... meta sdifname vrf1 ...
- แแแแแขแแแฃแแแ แแฎแแ แแแญแแ แ แแแ แฏแแแแ แแ แแแ แชแฎแแแ แชแแแแก แแแแ แแชแแแแแกแแแแก. แแแแแแแแแ, แแ แกแแแฃแแ แแแแแขแแก แแแ แแแงแแก แแแแแขแแแ 1 แแแขแแ แแแ แชแฎแแแ แแ แแชแแ แ แแแขแแก แแแงแแแแแ 1-แแ:
โฆ แแแขแ แแแจแแแก แแแแ แแแ แแแขแ แแแจแแแก lshift 1 แแ 0x1โฆ
- แแแแฎแแ แชแแแแแแฃแแ "-V" แแคแชแแ แแแคแแ แแแแแฃแแ แแแ แกแแแก แแแคแแ แแแชแแแก แกแแฉแแแแแแแแ.
# nft -V
nftables v0.9.4 (Jive at Five)
cli: readline
json: แแแแฎ
minigmp: แแ แ
libxtables: แแแแฎ - แแ แซแแแแแแก แฎแแแแก แแแ แแแแขแ แแแ แแฎแแ แฃแแแ แแงแแก แแแแแแแแฃแแ แแ แซแแแแแแแแก แฌแแ. แแแแแแแแแ, แแฅแแแ แฃแแแ แแแฃแแแแแ โnft -a list rulesetโ แแ แแแจแแแแ โnft list ruleset -aโ แแแแแแฌแแแแก แจแแชแแแแแก.
แฌแงแแ แ: opennet.ru