在我的 Windows PC 上,安装了scapy
用于将数据包从我的系统发送到使用 VLAN 连接到我的机器的树莓派板的工具。
在我的树莓派板上,防火墙规则已经配置好了,其中一条规则如下
Chain VARIABLE_IN
0 0 ACCEPT udp -- eth0.61 * 229.255.41.90 160.48.249.97 udp spt:1125 dpts:3490:1125
使用 scapy,执行以下命令发送数据包
p=Ether(dst="ff:ff:ff:ff:ff:ff")/Dot1Q(vlan=61)/IP(src='229.255.41.90',dst='160.48.249.97')/UDP(sport=1125, dport=1125)/"hello123"
sendp(p,iface='Ethernet')
执行上述命令后,防火墙规则中的数据包未更新。
但是在防火墙规则中,如果源 IP 更改为 160.48.249.90,如下所示
Chain VARIABLE_IN
0 0 ACCEPT udp -- eth0.61 * 160.48.249.90 160.48.249.97 udp spt:1125 dpts:3490:1125
和 scapy 命令如下
p=Ether(dst="ff:ff:ff:ff:ff:ff")/Dot1Q(vlan=61)/IP(src='160.48.249.90',dst='160.48.249.97')/UDP(sport=1125, dport=1125)/"hello123"
sendp(p,iface='Ethernet')
现在数据包已更新。VLAN eth0.61 和源 IP 地址之间有什么联系?如果我检查ipconfig
我的主板,则显示如下:
eth0.61: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 metric 1
inet 160.48.219.91 netmask 255.255.255.128 broadcast 160.48.249.127
inet6 fd80::212:22jf:ff33:4565 prefixlen 64 scopeid 0x20<link>
那么从 160 系列开始的 IP 地址范围仅受 eth0.68 支持?