- nftables는 통합된 IPv4/IPv6 처리를 통해 iptables에 대한 보다 간단하고 효율적인 대안을 제공합니다.
- nftables의 규칙 추적 및 다중 작업 규칙과 같은 기능은 네트워크 관리를 향상시킵니다.
- nftables로 전환하면 iptables-translate와 같은 도구가 지원하는 더 나은 성능과 단순성을 제공합니다.
리눅스 네트워크 패킷 필터링 및 방화벽 관리의 지속적인 발전은 특히 iptables와 nftables 논쟁에서 강조되고 있으며, 네트워크 보안의 중추적인 변화를 나타냅니다. iptables와 nftables는 모두 네트워크 트래픽을 제어하고 보호하는 고유한 접근 방식을 제공합니다. 이 블로그 게시물에서는 다양한 네트워크 환경에서의 특징, 차이점, 실제 적용 사례를 중심으로 iptables와 nftables에 대해 자세히 살펴봅니다.
기본 사항 이해
1990년대 후반에 도입된 이래로 iptables 은 리눅스 방화벽 솔루션의 핵심 구성 요소였습니다. Linux 방화벽 솔루션의 핵심 구성 요소로 네트워크 트래픽에 대한 유연성과 강력한 제어 기능을 제공합니다. 그러나 복잡한 구문은 부담스러울 수 있습니다. 반면 nftables은 2014년 Linux 커널 3.13과 함께 도입되었으며, iptables의 일부 한계를 해결하기 위해 설계되었습니다. iptables와 nftables를 비교해보면, nftables는 패킷 필터링 및 분류를 간소화하여 사용자 친화적인 구문, 향상된 성능, 최신 네트워크 프로토콜에 대한 더 나은 지원을 제공한다는 것을 알 수 있습니다.
부적절하게 구성된 규칙은 취약점을 유발할 수 있으므로 사용성 개선 외에도 Linux 방화벽 구성의 보안은 Linux 강화의 중요한 측면입니다. nftables로 방화벽 정책을 강화하면 효율적인 네트워크 트래픽 제어를 유지하면서 공격 표면을 최소화하여 시스템 보안을 강화할 수 있습니다.
IP테이블과 NFT테이블
복잡하고 장황한 것으로 알려진 iptables의 구문과 사용성은 특히 초보자에게는 가파른 학습 곡선을 그리는 경우가 많습니다. 특정 위치에서는 iptables 옵션의 구문이 매우 취약할 수 있습니다. 어떤 경우에는 쉼표 뒤에 공백을 넣을 수 있지만, 어떤 경우에는 공백을 넣을 수 없습니다. 때로는 두 옵션을 문제 없이 교체할 수 있지만 다른 경우에는 오류가 발생할 수 있습니다. 이러한 복잡성은 스크립트에서 규칙을 생성할 때 특히 테스트를 복잡하게 만듭니다.
Nftables는 규칙 작성을 간소화하고 오류 발생 가능성을 줄여 관리 효율성을 높이는 사용자 친화적인 구문으로 이 문제를 해결합니다.
예를 들어 일반적인 iptables 규칙은 다음과 같습니다:
iptables -A 입력 -p tcp --dport 22 -j 수락
이 규칙은 포트 22에서 들어오는 SSH 트래픽을 허용합니다.
이와 대조적으로, nftables는 다음과 같은 nftables 규칙에서 볼 수 있듯이 보다 간단한 구문을 제공합니다:
NFT 추가 규칙 IP 필터 입력 TCP DPORT 22 수락
아이피테이블과 엔피테이블에 대한 논의의 또 다른 요점은 IPv4 및 IPv6 처리입니다. 서버에서 이중 스택 구성이 널리 사용됨에 따라 관리자는 종종 두 개의 서로 다른 구성 파일에 규칙을 복제해야 합니다. nftables는 IPv4와 같은 기능을 통합하여 이 문제를 해결합니다, IPv6, arp, inet과 같은 기능을 단일 프레임워크에 통합하여 성능을 향상하고 중복성을 제거합니다.
또한 nftables를 사용하면 단일 규칙으로 여러 작업을 수행할 수 있습니다. 예를 들어, 10.10.1.0/24와 같은 특정 네트워크의 패킷을 동시에 로깅하고 차단하여 규칙 구성을 간소화하고 규칙 처리 속도를 높일 수 있습니다.
nftables의 규칙 추적
네트워크 관리의 일반적인 문제는 어떤 규칙이 예기치 않게 트래픽을 차단하고 있는지 파악하는 것입니다. nftables는 iptables에는 없는 추적 기능을 내장하여 이 문제를 해결합니다. 예를 들어 10.10.1.0/24와 같은 범위에서 SSH 트래픽을 차단하는 규칙이 있는 경우입니다:
sudo nft 삽입 규칙 인넷 필터 입력 ip saddr 10.10.1.0/24 tcp dport 22 드롭
10.10.1.15에서 차단된 연결 문제를 해결하는 경우 이 IP에 대한 추적을 활성화하면 문제가 있는 규칙을 정확히 찾아낼 수 있습니다:
$ sudo nft 삽입 규칙 인넷 필터 입력 ip saddr 10.10.1.15 tcp dport 22 메타 nftrace set 1
nft 모니터 추적을 실행하면 차단을 유발하는 정확한 규칙을 확인할 수 있습니다.
nftables에 이 추적 기능을 도입하면 복잡한 규칙 집합을 디버깅하는 기능이 크게 향상되어 네트워크 관리자에게 네트워크 트래픽을 관리하고 문제를 해결할 수 있는 강력한 도구를 제공할 수 있습니다.
아이피테이블에서 엔피테이블로 전환하기
iptables에서 nftables로 전환하면 보다 효율적인 네트워크 관리로 전환할 수 있습니다. iptables-translate와 같은 도구를 사용하면 iptables 규칙을 nftables 형식으로 변환하여 성능 향상 및 단순성 등의 이점을 얻을 수 있습니다. 예를 들어, 웹 서버의 방화벽 규칙을 iptables에서 nftables로 전환하려면 HTTP 및 HTTPS 트래픽을 허용하는 iptables 규칙을 변환해야 할 수 있습니다:
iptables -P 입력 드롭 iptables -P FORWARD DROP iptables -P 출력 수락 iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
를 nftables 규칙에 추가합니다:
NFT 추가 규칙 IP 필터 입력 TCP DPORT 80 CT 상태 신규, 설정됨 수락 NFT 추가 규칙 IP 필터 입력 TCP DPORT 443 CT 상태 신규,설정됨 수락
모든 규칙을 변환한 후 새로운 nftables 구성은 이전 iptables 설정과 동일한 수준의 보안 및 트래픽 관리를 보장하지만 nftables의 효율성과 단순성이라는 추가 이점이 있습니다.
올바른 도구 선택
iptables는 오랫동안 신뢰할 수 있는 도구로 사용되어 왔지만, nftables는 보다 효율적이고 미래 지향적인 솔루션으로 부상하고 있습니다. 기존 구성이 있는 시스템에서는 여전히 iptables가 선호될 수 있지만, 새로운 배포에서는 성능과 확장성 때문에 nftables가 선호되는 경우가 많습니다.
두 시나리오 모두에서 통합 TuxCare의 Linux 보안 솔루션을 통합하면 방화벽 솔루션이 안전하고 지원되며 규정을 준수하는 Linux 커널에서 실행되도록 보장할 수 있습니다.

