이 규칙
-A INPUT -i eth0 -p tcp -s 10.0.0.6/24 -m state --state NEW,ESTABLISHED --dport 17828 -j ACCEPT
이전에는 iptables에서 제대로 작동했지만 이제는 다음 메시지와 함께 실패하는 것 같습니다.
iptables-restore v1.8.2 (nf_tables): Couldn't load match `state':No such file or directory
시스템 업데이트로 인한 것일 수 있나요? 여기서는 문제를 파악할 수 없습니다. 감사해요!
답변1
예, 이는 시스템 업데이트 때문일 수 있습니다. iptables가 nftables로 대체되고 있으며 iptables-restore
실행 중인 버전이 nftables를 사용하고 있습니다. 너는 달려야 해iptables-레거시-복원대신에.
장기적으로는 iptables가 더 이상 사용되지 않고 어느 시점에 배포판에서 제거될 것이기 때문에 nftables로 마이그레이션하는 것이 좋습니다. 한번 시도해 보십시오 iptables-translate
. 대부분의 전환에 도움이 될 수 있습니다.
답변2
state
더 이상 사용되지 않습니다.
-m conntrack --ctstate ESTABLISHED,RELATED
바꾸다
-m state --state ESTABLISHED,RELATED
답변3
나는 이 문제를 로 해결했다 sudo modprobe ipt_owner
.
답변4
커널 모듈을 블랙리스트에 추가한 후에도 x_tables
여전히 을 사용하고 있습니다 . 커널 모듈만 필요하다고 iptables-nft
생각했지만 일치하는 이름(예: ) 을 식별하는 데 에도 의존하는 것 같습니다 . 블랙리스트에 등록되지 않은 경우 :iptables-nft
nf_tables
x_tables
-m state
-m limit
lsmod
Module Size Used by
x_tables 53248 4 xt_conntrack,nft_compat,xt_state,ip_tables
x_tables
따라서 예를 들어 파일 중 하나에 커널 모듈이 블랙리스트에 포함되어 있지 않은지 확인하십시오 ./etc/modprobe.d/
반대로 블랙리스트에 올라도 문제가 없습니다 ip_tables
.
버전: 데비안 11.5, 리눅스 5.10.149-2, iptables 1.8.7-1, nftables 0.9.8-3.1+deb11u1.