需求是要搭建一个 zerotier 网络,使得所有其他节点只能与服务器 http 通信,其他节点之间完全无感知,使用 zerotier 的 flow rules 可以方便的实现。
特别需要注意对于 arp 包的规则,只允许广播的 arp 请求和服务器/对服务器的 arp 回答,尝试 macdest ff:ff:ff:ff:ff:ff
并不能正确匹配,必须使用 chr broadcast
,其他都没什么坑。
drop
not ethertype ipv4
and not ethertype arp
and not ethertype ipv6
;
drop not chr ipauth;
accept ethertype arp and chr broadcast;
drop not ztsrc 1111111111 and not ztdest 1111111111;
accept ethertype arp;
accept ipprotocol 1;
accept ztsrc 1111111111 and ipsrc 1.1.1.1/32 and sport 80;
accept ztdest 1111111111 and ipdest 1.1.1.1/32 and dport 80;
drop;