Navoaka ny famoahana ny packet filter nftables 1.1.6, mampiray ny fifandraisana amin'ny sivana fonosana ho an'ny IPv4, IPv6, ARP ary tetezana tambajotra (kendrena hanolo ny iptables, ip6table, arptables ary ebtables). Mandritra izany fotoana izany, navoaka ny famoaham-boky mpiara-mitory libnftnl 1.3.1, manome API ambany ho an'ny fifandraisana amin'ny subsystem nf_tables.
Ny fonosana nftables dia misy ireo singa sivana fonosana izay miasa ao amin'ny habaka mpampiasa, raha ny asa amin'ny ambaratonga kernel kosa dia omen'ny subsystem nf_tables, izay anisan'ny 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:
- Fanohanana feno ho an'ny maodely tonelina maivana toy ny vxlan, geneve, ary erspan: table netdev global { tunnel t1 { id 10 ip saddr 192.168.2.10 ip daddr 192.168.2.11 sport 1025 dport 20020 ttl 1 erspan {2 erspan 1} 10 ip saddr 192.168.3.10 ip daddr 192.168.3.11 sport 1025 dport 21021 ttl 1 erspan { version 1 index 2 } } rojo ao amin'ny {type filter hook ingress device veth0 priority 0; anarana tonelina ip saddr sarintany { 10.141.10.12 : "t1", 10.141.10.13 : "t2" } fwd to erspan1 } } Alohan'ny hampidirana ny fitsipika dia tokony hamorona ny erspan1 interface tsara ianao: ip link add dev erspan1 type erspan external
- Fanampiana fanampiny ho an'ny saron-tava amin'ny anaran'ny serasera amin'ny mpampiasa netdev. Ohatra, mba hanampiana rojo fototra amin'ny sivana fifamoivoizana miditra ho an'ny fitaovana vlan rehetra dia azonao atao ny mamaritra: table netdev t { chain c { type filter hook ingress devices = { "vlan*", "veth0" } priority filter; manaiky ny politika; } }
- Amin'ny rafitra misy kernel Linux Ny 6.18+ dia manohana ny fandefasana frame L2 mankany amin'ny interface network bridge ho an'ny fanodinana eo an-toerana. Ohatra, mba hampitana ny frame Ethernet rehetra ho an'ny adiresy MAC de:ad:00:00:be:ef mankany amin'ny IP stack, azonao atao ny mamaritra hoe: table bridge global { chain pre { type filter hook prerouting priority 0; policy accept; ether daddr de:ad:00:00:be:ef meta pkttype set host ether daddr set meta ibrhwaddr accept } }
- Nampiana fotodrafitrasa vaovao ho an'ny fitiliana fuzzing amin'ny fampiasana ny afl++ (amerikana fuzzy lop++) rojom-pitaovana, azo atao amin'ny fotoana fananganana amin'ny alàlan'ny "./configure --with-fuzzer".
Source: opennet.ru
