我曾尝试过滤(使用 nftables,但如果使用 iptables 可行,我愿意进行更改)从 IPv4 网络到 IPv6 网络的流量,但不知道如何做到这一点。
假设我有一个具有以下规则的文件:
table inet filter {
chain networkfilter {
type filter hook input priority 0; policy accept;
ip saddr 10.1.0.0/16 ip6 daddr fd00:0:0:1::/64 drop
}
}
当我尝试使用它加载时,nft -f notworking.nftables
它会显示以下消息:
notworking.nftables:4:30-38: Error: conflicting protocols specified: ip vs. ip6
ip saddr 10.1.0.0/16 ip6 daddr fd00:0:0:1::/64 drop
^^^^^^^^^
如何在不同 IP 版本的网络之间进行正确的过滤?
答案1
既不可能也不需要过滤 IPv4 和 IPv6 之间的流量,因为这种流量根本不存在。来自 IPv4 接口的网络数据包无法寻址到 IPv6 目标地址,反之亦然。