노트:이것은 패킷의 일부(예: )를 수정하기 위해 동사를 사용하기 위해 a에서 연결( .
) 을 사용하는 것에 관한 것입니다 . 구체적인 명칭은 발견되지 않은 것 같습니다.set
set
ip 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
이런 식으로 연결을 사용할 수 있습니까? 감사해요