nftables設定(動詞)と接続

nftables設定(動詞)と接続

メモ:これは、パケットの一部(たとえば)を変更するために動詞を使用するためにaで接続(.)を使用することに関するものです。具体的な名称は見つからないようです。setsetip daddr set 1.2.3.4マニュアルページ

それ以来働くこれnftables私の構成には次の抜粋があります。

define src_net      = 192.168.1.0
define docker_dhcp  = 172.25.10.5
define WAN_MAC      = [REDACTED]

table netdev filterearly_lan {
    set dhcp_setting {
        typeof vlan id . ip saddr . ip daddr
        flags interval
        elements = {
            5 . $src_net . $docker_dhcp,
        }       
    }
    
    chain ingress {
        type filter hook ingress device eth0 priority -500; policy drop;

        #DHCPDISCOVER
        ether type 0x8100 vlan id . ip saddr 0.0.0.0 ether daddr ff:ff:ff:ff:ff:ff ip daddr 255.255.255.255 udp sport 68 udp dport 67 ether daddr set $WAN_MAC ip saddr set . ip daddr set @dhcp_setting meta pkttype set host ip length <= 590 accept;
    }
}

setしかし、特定のフィールドを試しても機能しないようです。

# nft -f ./dhcp.rules
./dhcp.rules:323:167-167: Error: syntax error, unexpected .
                ether type 0x8100 vlan id . ip saddr 0.0.0.0 ether daddr ff:ff:ff:ff:ff:ff ip daddr 255.255.255.255 udp sport 68 udp dport 67 ether daddr set $WAN_MAC ip saddr set . ip daddr set @dhcp_setting meta pkttype set host ip length <= 590 accept;
                                                                                                                                                                                    ^

このルールは、重複したルールセットを置き換えるように設計されています。

ether type 0x8100 vlan id 5 ip saddr 0.0.0.0 ether daddr ff:ff:ff:ff:ff:ff ip daddr 255.255.255.255 udp sport 68 udp dport 67 ether daddr set $WAN_MAC ip saddr set $src_net ip daddr set $docker_dhcp meta pkttype set host ip length <= 590 accept;
...

バージョン情報:

# nft -v
nftables v1.0.6 (Lester Gooch #5)
# uname -r
6.1.0-11-amd64

このように接続を使用できますか?ありがとう

関連情報