iptables 与ipset
iptables -S -t natiptables -nvL -t natiptables-save -t filter默认是filter 表input output prerouting --- forward --- postroutingraw: conntrack prerouting outputraw之后的conntrackmangle: 可以修改 (五条链都可以挂)nat修改ip除了 forward 没有其余都有但是看iptables 版本有的版本input/forward 没有filterprerouting forward output 所有的链都在表上从hook点进去比如 PREROUTING先遍历raw表然后是mangle表然后是nat表自定义链挂在表上。hook ----自定义链路-j -A 流量先进入 PREROUTING其实是先进去raw 表上的PREROUTING 链路在到mangle表上的PREROUTING 链路在到nat表上的PREROUTING 链路如果是转发的时候依次是到mangle表上的FORWARD 链路到filter表上的FORWARD 链路ACCEPTDROPREJECTRETURNDNATSNATMASQUERADEREDIRECTMARKCONNMARKNOTRACKCTSETLOGNFLOGTRACE当前链剩余规则 ---父链 ----同hook的其他表 ---后续hook父链-j 那条链路-A appendaccept : ---同hook 其他表drop/reject 终止所有hookreturn 返回父链继续下一条链路nat 同hook的其他表所以会执行到filter表。注意不同target 的终结点。ipsetipset list (xxx-name)ipset save (xxx-name)Name: ipset 集合名词Type: hash:ipRevision: ipv4 或者ipv6Header: family inet hashsize 1024 maxelem 65536 timeout 0 示集合中的条目没有超时设置条目将永久保留直到被显式删除。Size in memory:集合在内存中占用的大小为 字节。References: 4 集合引用次数这意味着有 4 个其他规则或者链引用了这个集合。Number of entries: 6 集合中的条目数量是 6即这个集合目前包含了 6 个 IP 地址。Members:ipset create test-set hash:ipipset add test-set 192.168.1.10ipset del test-set 192.168.1.10ipset list test-setipset destroy test-setipset restore -existiptables -I INPUT -m set --match-set blocklist src -j DROP标记链iptables -A INPUT -s 192.168.2.173 -j LOG --log-prefix lily-test-cilium: ----inputiptables -A FORWARD -s 192.168.2.173 -j LOG --log-prefix lily-test-cilium: ----forwoarder