太棒了;如果另一个表中存在匹配的丢弃(如firewalld的默认规则),则网桥(见下文)将不起作用。
你好,
我正在构建自己的虚拟机库(类似于Quickemu)。
我对桥接的防火墙规则有疑问。我从 iptables-nft 开始,它工作得很好,直到我在 fedora 上测试了我的脚本。无论我做什么,firewalld 都会阻止一切。因此,我使用 nftables 尝试直接绕过firewalld规则,但即使如此,我也无法找到一种方法使其在不删除firewalld规则的情况下工作。
据我了解,优先级仅影响测试规则的顺序,如果有丢弃,即使在最后,数据包也会被丢弃?
有没有办法绕过我不知道的这种行为?我尝试查看标记,但不确定这是正确的解决方案。
这是我用于桥的规则(如果规则集中没有其他表,则效果很好):
#!/usr/bin/nft -f
# vim:set ts=2 sw=2 et:
table ip QEMU
delete table ip QEMU
table ip QEMU {
chain input {
type filter hook input priority filter - 1;
ct state {established,related} iifname "virbr0" counter accept
}
chain forward {
type filter hook forward priority filter - 1;
ct state {established,related} iifname "virbr0" counter accept
}
chain postrouting {
type nat hook postrouting priority srcnat;
iifname "virbr0" counter masquerade
}
}