我们正在尝试在我们的系统中实现nftables。默认情况下,我们希望删除所有并接受定义的规则。我们有一些源ip和端口的excel工作表,我从中生成规则表。但似乎定义多个删除表会覆盖其他表。这是正确的还是我遗漏了什么?
示例:
table inet dev {
chain input_dev {
type filter hook input priority filter; policy drop;
iifname "lo" accept
ct state { established, related } accept
tcp dport 22 accept
ip protocol icmp accept
}
chain output_dev {
type filter hook output priority filter; policy drop;
oifname "lo" accept
tcp sport 22 accept
ip protocol icmp accept
}
}
table inet speficic_table {
chain input {
type filter hook input priority filter; policy drop;
ip6 saddr <some_specific_ip> udp sport 42999 udp dport 42544 ip6 daddr ff14::1:0 accept
#more rules from excel
}
chain output {
type filter hook output priority filter; policy drop;
ip6 saddr <some_specific_ip> udp sport 42999 udp dport 42564 ip6 daddr ff14::1:0 accept
}
}
即使我在其他表上接受ssh,speficic_table是否也会丢弃ssh?我是否应该将所有ssh保留在同一个表中?有些表也有一些ipv4规则,因此更改表族对我没有帮助。
我希望,我可以创建多个表来分组我的规则,而不覆盖其他规则。我还试图改变优先级,它似乎没有工作,即使它的工作对我没有用。
1条答案
按热度按时间3mpgtkmj1#
如果“inet dev”表中有SSH的接受规则,则将接受与该规则匹配的数据包,并且不会根据“inet specficic_table”表中的规则进行评估。
如果希望多个表具有不同的规则,则应给予它们不同的优先级。例如,可以将“inet dev”表设置为优先级0,将“inet specficic_table”设置为优先级1。