Nftables는 지도와 카운터를 결합합니다.

Nftables는 지도와 카운터를 결합합니다.

현재 이주 중입니다.소방서nftables 기반의 라우터 방화벽. 그래도 전체적으로 중복된 부분은 다음과 같이 요약하는 걸 좋아하기 때문에 기능적인 측면에서는 문제가 없습니다.지도그리고세트최대한 얻으려고 노력하고 있어요카운터동일한 "패스"에 추가되었습니다. 이러한 dnat 규칙을 예로 들어 보겠습니다.

table t1 {
        chain c1 {
                type nat hook prerouting priority dstnat;

                # compact form (works)
                dnat to ip daddr map {
                        86.12.22.22 : 192.168.22.22,
                        86.12.22.23 : 192.168.22.23
                }

                # syntactically correct, but counts all dnated traffic
                counter dnat to daddr map {
                        86.12.22.22 : 192.168.22.22,
                        86.12.22.23 : 192.168.22.23
                }

                # Does not work (why?)
                ip daddr dnat to map {
                        192.168.22.22 : 86.12.22.22,
                        192.168.22.23 : 86.12.22.23
                }

                # long form (with counter, works)
                ip daddr 86.12.22.22 counter dnat to 192.168.22.22

        }

}

지도 기반 규칙에서 카운터를 어떻게든 협력하는 방법을 알고 있나요?

답변1

글쎄요, 저는 스스로 답을 찾았습니다. 명명된 매핑을 사용할 수 있습니다.

table t1 {
   map one2one_dnat {
        type ipv4_addr : ipv4_addr
        flags interval
        counter
        comment "1-1 dnat"
        elements = { 
            86.12.22.22 : 192.168.22.22,
            86.12.22.23 : 192.168.22.23
        }
    }
    chain c1 {
        type nat hook prerouting priority dstnat;
        dnat to ip daddr map @one2one_dnat
    }

}

~부터1.0.0"지도에서 상태 표현"을 사용하는 것이 가능해야 합니다. 하지만 이것이 작동하도록 하는 방법을 찾지 못했습니다...

관련 정보