我正在尝试编写一些如下规则:
chain forward { # handle 3
type filter hook forward priority filter; policy accept;
ether daddr 3c:22:fb:73:0b:7d jump forward-daddr-3c-22-fb-73-0b-7d # handle 31
ether saddr 5c:87:9c:d8:fa:9a jump forward-saddr-5c-87-9c-d8-fa-9a # handle 32
ether daddr 5c:87:9c:d8:fa:9a counter packets 0 bytes 0 jump forward-daddr-5c-87-9c-d8-fa-9a # handle 33
ether saddr 64:80:99:c6:64:ed jump forward-saddr-64-80-99-c6-64-ed # handle 34
ether daddr 64:80:99:c6:64:ed jump forward-daddr-64-80-99-c6-64-ed # handle 35
ether saddr a8:bd:27:cc:a5:b8 jump forward-saddr-a8-bd-27-cc-a5-b8 # handle 36
ether daddr a8:bd:27:cc:a5:b8 jump forward-daddr-a8-bd-27-cc-a5-b8 # handle 37
ether saddr f4:be:ec:c0:ab:a7 jump forward-saddr-f4-be-ec-c0-ab-a7 # handle 38
ether daddr f4:be:ec:c0:ab:a7 jump forward-daddr-f4-be-ec-c0-ab-a7 # handle 39
ip daddr 172.16.30.101 counter packets 26 bytes 1664 jump forward-daddr-5c-87-9c-d8-fa-9a # handle 56 }
但是,我没有看到任何基于目标 MAC 地址的匹配,即使它们是有效的。转发链是否可以看到目标 MAC 地址或者我做错了什么?
编辑:我想添加纯粹基于 mac 地址的转发规则。假设我有一个设备 A(mac 地址 mA)在 tcp 端口 80 上访问设备 B(mac 地址 mB)。这两个设备都连接到我的路由设备,并且它们无法直接相互通信。
我想添加一条规则,即设备 A 应仅与端口 80 上的设备 B 通信,其余流量应被丢弃。同样,设备 B 应该能够接收来自设备 A 的数据包,并且其余流量应被丢弃。设备 B 可能还具有从设备 C 接收数据包的规则(可以为其配置附加规则)。