linux 具有多个删除表导致覆盖其他表中的规则

plupiseo  于 2023-03-01  发布在  Linux
关注(0)|答案(1)|浏览(120)

我们正在尝试在我们的系统中实现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规则,因此更改表族对我没有帮助。
我希望,我可以创建多个表来分组我的规则,而不覆盖其他规则。我还试图改变优先级,它似乎没有工作,即使它的工作对我没有用。

3mpgtkmj

3mpgtkmj1#

如果“inet dev”表中有SSH的接受规则,则将接受与该规则匹配的数据包,并且不会根据“inet specficic_table”表中的规则进行评估。
如果希望多个表具有不同的规则,则应给予它们不同的优先级。例如,可以将“inet dev”表设置为优先级0,将“inet specficic_table”设置为优先级1。

相关问题