네트워킹

nftables는 기본 네트워크 패킷 필터링 프레임워크로서 iptables로 교체합니다

nftables 프레임워크는 패킷 분류 기능을 제공하고 이는 iptables, ip6tables, arptables`과 `ebtables 도구로 지정된 후계자입니다. 이전 패킷 필터링 도구를 통해 편의성, 기능과 성능이 크게 향상되었으며, 특히 다음과 같이 주목:

  • 선형 처리 대신에 테이블 조회.

  • IPv4와 IPv6 통신규약 모두를 위한 단일 프레임워크.

  • 전체 규칙세트를 가져오고, 최신화하고, 저장하는 대신에 모든 규칙이 지극히 작게 적용됩니다.

  • 규칙세트(nftrace)와 추적 사건 관리(nft 도구)에서 디버깅과 추적을 위한 지원.

  • 더 일관되고 간결한 구문, 통신규약-상세한 확장이 없음.

  • 타사 응용프로그램을 위한 Netlink API.

iptables`와 유사하게, `nftables`은 저장된 사슬(체인)을 위해 테이블을 사용합니다. 사슬(체인)에는 작업 수행을 위해 개별 규칙이 포함됩니다. `nft 도구는 이전 패킷-필터링 프레임워크에서 모든 도구를 대체합니다. libnftables 라이브러리는 libmnl 라이브러리를 통해 nftables Netlink API와 저-수준의 상호 작용을 위해 사용 될 수 있습니다.

iptables, ip6tables, ebtablesarptables 도구는 동일한 이름과 함께 nftables-기반의 드롭-인 교체에 의해 대체되었습니다. 외부 행위는 이들 레거시 대응과 동일하지만, 내부적으로는 필요한 경우 호환성 연결장치를 통해 레거시 netfilter 커널 모듈과 함께 `nftables`을 사용합니다.

nftables 규칙세트에서 모듈의 효과는 nft list ruleset 명령을 사용하여 관찰 될 수 있습니다. 이들 도구는 nftables 규칙세트에 테이블, 체인과 규칙을 추가한 이후에, nft flush ruleset 명령과 같은 nftables 규칙-세트 동작을 인식하고, 이전의 별도의 레거시 명령을 사용하여 설치된 규칙 세트에 영향을 미칠 수 있습니다.

도구의 변형이 있는지 빠르게 식별하려면, 버전 정보는 백-엔드 이름을 포함하도록 최신화되었습니다. 페도라 32에서, nftables-기반 iptables 도구는 다음 버전 문자열을 인쇄합니다:

$ iptables --version
iptables v1.8.4 (nf_tables)

비교를 위해, 만약 레거시 iptables 도구가 있는 경우에 다음 버전 정보가 인쇄됩니다:

$ iptables --version
iptables v1.8.4 (legacy)

더 많은 정보를 위하여, iptables nft 기본값/Legacy xtables 도구를 참고하세요.