Firewalld의 풍부한 규칙, 직접 또는 정책 접근 방식을 사용하여 이 nftables 명령을 어떻게 표현합니까?

Firewalld의 풍부한 규칙, 직접 또는 정책 접근 방식을 사용하여 이 nftables 명령을 어떻게 표현합니까?

인터페이스에서 수신 대기 중인 서비스에 액세스하는 데 문제가 있습니다.락식스(172.XX). 요청이 다음을 통해 이루어지기 때문입니다. 이더넷 0, 방화벽이 FWD 필터의 전달을 차단하고 있습니다.

[30772.997987] filter_FWD_external_REJECT: IN=eth0 OUT=lxc24220340d98f MAC=96:00:01:a7:b1:a7:d2:74:7f:6e:37:e3:08:00 SRC=XXX.XXX.XXX DST=172.20.4.140 LEN=60 TOS=0x00 PREC=0x00 TTL=57 ID=43937 DF PROTO=TCP SPT=41302 DPT=443 WINDOW=64240 RES=0x00 SYN URGP=0

이 nftables 명령을 사용하면 문제가 사라집니다.

nft add rule inet firewalld   filter_FWD_external_allow  iifname  "eth0" tcp dport { 80, 443, 25, 587}  accept

그러나 물론 재부팅/방화벽 다시 로드 시에는 사라집니다. Firewall-cmd와 유사한 것을 어떻게 추가할 수 있나요? 풍부한 규칙과 전략을 사용해 보았지만 테이블 정렬이 부족해서인지 확실하지 않지만 거부가 발생하고 있습니다. 직접 규칙을 사용하여 수행하는 작업은 다음과 같습니다.

firewall-cmd --direct   --add-rule ipv4 filter FORWARD   1 -i eth0  -p tcp  --dport  443  -j ACCEPT

이것은 실제로아니요작업할 때 방화벽 테이블의 거부 체인은 이 전달 체인에 도달하기 전에 도착하는 것 같습니다. 정책 접근 방식을 사용하여 이 작업을 수행하는 방법을 알 수 없습니다. 가장 무도회를 허용하는 것만으로는 충분하지 않습니다. 어떻게 바꾸지?filter_FWD_external_allow 방화벽을 통해 변경 사항이 지속됩니까?

관련 정보