Navoaka ny sivana fonosana nftables 1.0.7. Mampiray ireo interface sivana fonosana ho an'ny IPv4, IPv6, ARP, ary tambajotra (mikendry ny hanolo ny iptables, ip6table, arptables, ary ebtables) izy io. Ny fonosana nftables dia misy singa sivana fonosana ho an'ny mpampiasa, raha ny rafitra nf_tables, izay anisan'ny kernel, kosa dia manome ny fiasa amin'ny ambaratonga kernel. Linux Hatramin'ny famoahana 3.13, interface generic tsy miankina amin'ny protocole ihany no omena amin'ny ambaratonga kernel, izay manome fiasa fototra amin'ny fakana angona avy amin'ny pakety, fanaovana asa angona, ary fanaraha-maso ny fikorianan'ny angona.
Ny fitsipika sivana sy ireo mpitantana manokana ny protocole dia angonina ao anaty bytecode ao amin'ny habaka mpampiasa, aorian'izay dia ampidirina ao amin'ny kernel ity bytecode ity amin'ny alàlan'ny interface Netlink ary tanterahina ao amin'ny kernel amin'ny fomba manokana. milina virtoaly, mampahatsiahy ny BPF (Berkeley Packet Filters). Ity fomba fiasa ity dia ahafahana mampihena be ny haben'ny kaody sivana miasa amin'ny ambaratonga kernel ary mamindra ny fanadihadian'ny fitsipika rehetra sy ny lojika protocole ho any amin'ny habaka mpampiasa.
Fiovana lehibe:
- Ho an'ny rafitra misy kernel Linux Manampy fanohanana ny fampifanarahana ny protocole vxlan, geneve, gre, ary gretap ny 6.2+, ahafahanao mampiasa fomba fiteny tsotra hanamarinana ny lohateny ao anaty fonosana voafono. Ohatra, hanamarinana adiresy IP Ao amin'ny lohatenin'ny fonosana tafiditra avy amin'ny VxLAN, azonao ampiasaina izao ny fitsipika (tsy mila esorina aloha ny lohatenin'ny VxLAN ary ampifandraisina amin'ny interface vxlan0 ny sivana): ... udp dport 4789 vxlan ip protocol udp ... udp dport 4789 vxlan ip saddr 1.2.3.0/24 ... udp dport 4789 vxlan ip saddr . vxlan ip daddr { 1.2.3.4 . 4.3.2.1 }
- Fanohanana ny fampifangaroana automatique ny ambiny aorian'ny famafana ampahany amin'ny singa iray napetraka, izay mamela anao hamafa singa iray na ampahany amin'ny salan'isa amin'ny faritra efa misy (teo aloha, faritra iray ihany no azo voafafa tanteraka). Ohatra, aorian'ny fanesorana ny singa 25 amin'ny lisitra misy ny salan'isa 24-30 sy 40-50, ny lisitra dia hijanona 24, 26-30 ary 40-50. Ny fanamboarana ilaina amin'ny automerging mba hiasa dia hatolotra amin'ny famoahana fikojakojana ny sampana miorina amin'ny kernel 5.10+. # nft list ruleset table ip x {set y {typeof tcp dport flags interval auto-merge elements = { 24-30, 40-50 }} } # nft delete element ip xy { 25 } # nft list ruleset table ip x {set y {karazana tcp dport flags interval auto-merge elements = {24, 26-30, 40-50 }} }
- Mamela ny fampiasana ny fifandraisana sy ny elanelana rehefa manao sari-tany ny fandikana adiresy (NAT). table ip nat { chain prerouting { type nat hook prerouting priority dstnat; manaiky ny politika; dnat to ip daddr. tcp dport map { 10.1.1.136 . 80: 1.1.2.69. 1024, 10.1.1.10-10.1.1.20. 8888-8889: 1.1.2.69. 2048-2049 } maharitra } }
- Nanampy fanohanana ny fanehoana "farany", izay ahafahanao mahita ny fotoana farany nampiasana singa fitsipika na lisitra napetraka. Ity endri-javatra ity dia efa notohanana hatramin'ny fototra. Linux 5.14. latabatra ip x { apetraka y { karazana ip daddr . tcp dport habe 65535 saina mavitrika, fotoana farany 1 ora } rojo vy z { karazana sivana hook output laharam-pahamehana sivana; politika manaiky; fanavaozana @y { ip daddr . tcp dport } } } # lisitra nft apetraka ip xy latabatra ip x { apetraka y { karazana ip daddr . tcp dport habe 65535 saina mavitrika, fotoana farany 1 ora singa = { 172.217.17.14 . 443 nampiasaina farany 1s591ms fotoana farany 1 ora tapitra 59m58s409ms, 172.67.69.19 . 443 nampiasaina farany 4s636ms fe-potoana 1h tapitra 59m55s364ms, 142.250.201.72 . 443 nampiasaina farany 4s748ms fe-potoana 1h tapitra 59m55s252ms, 172.67.70.134 . 443 nampiasaina farany 4s688ms fe-potoana 1h tapitra 59m55s312ms, 35.241.9.150 . 443 nampiasaina farany 5s204ms fe-potoana 1h tapitra 59m54s796ms, 138.201.122.174 . 443 nampiasaina farany 4s537ms fe-potoana 1h tapitra 59m55s463ms, 34.160.144.191 . 443 nampiasaina farany 5s205ms fe-potoana 1h tapitra 59m54s795ms, 130.211.23.194 . 443 nampiasaina farany 4s436ms fe-potoana 1h tapitra 59m55s564ms } } }
- Nampiana ny fahafahana mamaritra quota amin'ny lisitra napetraka. Ohatra, mba hamaritana ny fetran'ny fifamoivoizana isaky ny adiresy IP kendrena dia azonao atao ny mamaritra: table netdev x {set y {typeof ip daddr size 65535 quota over 10000 mbytes } chain y {type filter hook egress device "eth0" priority filter; manaiky ny politika; ip daddr @y mitete } } # nft add element inet xy { 8.8.8.8 } # ping -c 2 8.8.8.8 # nft list ruleset table netdev x {set y {karazana ipv4_addr size 65535 quota mihoatra ny 10000 mbytes singa = {8.8.8.8. 10000 quota mihoatra ny 196 mbytes ampiasaina 0 bytes } } rojo y { karazana filtre hook egress fitaovana "ethXNUMX" laharam-pahamehana sivana; manaiky ny politika; ip daddr @y mitete } }
- Ny fampiasana tsy miova amin'ny lisitra napetraka dia avela. Ohatra, rehefa mampiasa ny adiresy toerana sy ny ID VLAN ho fanalahidin'ny lisitra dia azonao atao ny mamaritra mivantana ny laharana VLAN (daddr . 123): table netdev t {set s {typeof ether saddr . vlan id habe 2048 saina mavitrika, fe-potoana tapitra 1m } rojo c { karazana sivana fanenonana fitaovana eth0 laharam-pahamehana 0; manaiky ny politika; karazana etera != 8021q fanavaozana @s { ether daddr . 123 } counter } }
- Nampiana baiko "destroy" vaovao ho an'ny famafana tsy misy fepetra ny zavatra (tsy tahaka ny baiko delete, tsy mamorona ENOENT izy rehefa miezaka mamafa zavatra tsy hita). Mila farafaharatsiny ny kernel. Linux 6.3-rc. mandrava ny sivana IP latabatra
Source: opennet.ru
