iptables, xtables, iptables-nft, xtables-nft, nf_tables, nftables의 관계 또는 차이점은 무엇입니까?

iptables, xtables, iptables-nft, xtables-nft, nf_tables, nftables의 관계 또는 차이점은 무엇입니까?

나는 그것을 한동안 읽고 있었다.

내 이해는 다음과 같습니다

  • nftables는 최신 Linux 커널 패킷 분류 프레임워크입니다. nftables는 iptables의 후속 제품입니다. 이는 기존 iptables, ip6tables, arptables 및 ebtables 프레임워크를 대체합니다.
  • x_tables는 iptables, ip6tables, arptables 및 ebtables에서 사용되는 코드의 공유 부분을 호스팅하는 커널 모듈의 이름이므로 Xtables는 전체 방화벽(v4, v6, arp 및 eb) 아키텍처를 참조하는 데 어느 정도 사용됩니다. 시스템 관리자로서 저는 xtables/x_tables에 대해 걱정할 필요가 없습니다(어떤 사람들은 밑줄을 사용하므로 xtables가 x_tables와 동일한지 확실하지 않습니다). 이것은 실제로 커널의 일부 코드입니다.
  • nftables는 nf_tables를 사용합니다. 여기서 nf_tables는 커널 모듈의 이름입니다. 시스템 관리자로서 nf_tables에 대해 걱정할 필요가 없습니다. 실제로는 커널의 일부 코드입니다.
  • iptables-nft는 iptables처럼 보이지만 nftables처럼 동작합니다. 전체 목적은 iptables에서 nftables로 마이그레이션하는 것입니다.
  • iptables-nft는 xtables-nft를 사용합니다. 여기서 xtables-nft는 커널 모듈의 이름입니다. 시스템 관리자로서 저는 xtables-nft에 대해 걱정할 필요가 없습니다.

위의 설명이 맞는지 틀린지 알려주시기 바랍니다. 틀렸다면 정확한 설명을 부탁드립니다.

답변1

내 요점은 iptables, ip6tables, ebtables 및 arptable이 Netfilter의 프런트 엔드 도구 세트라는 것입니다.

이는 규칙을 형식화하고 컴파일하여 커널에서 실행되는 핵심 Netfilter에 로드하는 데 사용되는 사용자 공간 도구 세트입니다. 모듈 디렉토리에서 커널 모듈로 Netfilter의 모든 커널 부분을 찾을 수 있습니다 ls /lib/modules/$(uname -r)/kernel/net/netfilter/.nf_*, nft_*, xt_*

이러한 도구의 문제점은 규칙 세분성에서 작동하므로 규칙을 조정할 때마다 모든 커널 규칙을 다운로드하고 바이너리 blob을 수정한 다음 다시 커널에 업로드한다는 의미입니다. 규칙이 너무 많으면 프로세스에서 CPU를 많이 사용하게 됩니다.

nftables는 이 도구 제품군을 고유한 도구(모든 것을 지배하기 위해...에헴)로 재작성한 것입니다. 이를 통해 사용하기 쉽고 성능이 향상되지만 여전히 Netfilter의 프런트엔드이지만 주요 차이점은 다음과 같습니다. Netfilter의 모든 부분을 처리하는 원활한 구문을 갖고, 하나씩 다운로드하고 업로드할 필요 없이 Netfilter 내에서 직접 전체 바이너리 규칙 세트를 수정할 수 있다는 것은 엄청난 개선을 의미합니다.

이는 또한 iptables와 nftables를 동시에 사용하여 규칙을 수정할 수 있지만 서로 다른 규칙 간의 우선순위를 볼 수 없거나 우선순위가 원하는 것이 아닐 수 있으므로 권장되지 않습니다.

이제 배포 전략에 따라 새로운 Netfilter 코어 세트 모듈과 함께 사용할 다양한 패키지 세트를 찾을 수 있습니다. xtables-nft를 언급하셨습니다. 이는 {ip|ip6,eb,arp}tables기존 도구와 동일한 방식으로 새로운 Netfilter 코어에서 작동할 수 있는 사용자 공간 도구의 중간 세트(또는 패키지)를 지정하는 지름길일 뿐이므로 이전 도구에서 마이그레이션으로 전환하는 데 도움이 되고 단순화됩니다. nftables에 대한 기존 방식(새로운 방식).

레거시 도구 세트가 새로운 Netfilter 코어와 동일한 방식으로 작동할 수 있도록 하는 iptables-legacy라는 패키지도 있지만 ip{,6}tables규칙을 nftables로 직접 변환할 수 없으므로 방화벽 스크립팅 도구와 같은 도구를 ferm새 설치에 사용할 수 있습니다. 최신 커널에 대한 작업이 계속됩니다.

예를 들어 두 가지를 연결하면 iptables-legacy-save |iptables-nft-restore이전 iptables 규칙 세트를 새로운 nftables 규칙 세트로 직접 변환할 수 있습니다.

xtables-nft는 이전 도구와 마찬가지로 새로운 Netfilter 코어에서 작업할 수 있는 {ip,eb,arp} 테이블로 구성된 사용자 공간 도구의 중간 세트(또는 패키지)를 지정하는 바로 가기이므로 도움이 되고 단순화됩니다. 기존 방식에서 nftables로 마이그레이션(새로운 방식)

인사.

관련 정보