nftables는 iptables와 어떻게 다릅니까?

WBOY
풀어 주다: 2023-06-09 21:34:37
앞으로
2440명이 탐색했습니다.

什么是 nftables ? 它与 iptables 的区别是什么?

nftables와 iptables의 차이점은 무엇인가요?

거의 모든 Linux 관리자는 Linux 시스템용 방화벽인 iptables를 사용해 왔습니다. 하지만 여러분은 몇 가지 필요한 업그레이드를 제공하고 iptables를 대체할 수 있는 새로운 방화벽인 nftables에 익숙하지 않을 수도 있습니다.

nftables를 사용하는 이유는 무엇인가요?

Nftables는 현재 iptables를 관리하는 Netfilter 조직에서 개발했습니다. Nftables는 iptables의 성능 및 확장성 문제를 해결하도록 설계되었습니다.

일부 업그레이드 및 변경된 구문을 제외하면 nftables는 iptables와 거의 동일하게 작동합니다. nftables가 도입된 또 다른 이유는 iptables 프레임워크가 약간 복잡해졌기 때문입니다. iptables, ip6tables, arptables 및 ebtables는 모두 다르지만 비슷한 기능을 가지고 있습니다.

예를 들어, iptables에서 IPv4 규칙을 생성하고 ip6tables에서 IPv6 규칙을 생성하고 두 규칙을 동기화하는 것은 매우 비효율적입니다. Nftables는 이 모든 것을 대체하고 중앙화된 솔루션이 되는 것을 목표로 합니다.

nftables는 2014년부터 Linux 커널에 포함되었지만 최근 채택이 확대되면서 인기가 높아지고 있습니다. Linux 세계에서는 변화가 느리며 오래된 유틸리티를 단계적으로 폐기하고 업그레이드된 유틸리티로 교체하는 데 몇 년 이상이 걸리는 경우가 많습니다.

오늘은 nftables와 iptables의 차이점을 간략하게 소개하고, 새로운 nftables 구문으로 방화벽 규칙을 구성하는 예를 보여드리겠습니다.

nftables의 체인 및 규칙

iptables에는 입력, 출력 및 전달의 세 가지 기본 체인이 있습니다. 이 세 개의 "체인"(및 다른 체인)에는 "규칙"이 포함되어 있으며 iptables는 네트워크 트래픽을 체인의 규칙 목록과 일치시켜 작동합니다. 검사 중인 트래픽이 어떤 규칙과도 일치하지 않는 경우 체인의 기본 정책(예: ACCEPT 또는 DROP)이 트래픽에 적용됩니다.

Nftables도 비슷하게 작동하며, "체인"과 "규칙"도 있습니다. 그러나 기본 체인 없이 시작되므로 구성이 더욱 유연해집니다.

iptables의 비효율성 중 한 가지 측면은 트래픽이 어떤 규칙과도 일치하지 않더라도 모든 네트워크 데이터가 위 체인 중 하나 이상을 통과해야 한다는 것입니다. 링크를 구성하지 않더라도 iptables는 계속해서 네트워크 데이터를 검사하고 처리합니다.

Linux에 nftables 설치

nftables는 모든 주요 Linux 배포판에서 사용할 수 있으며 배포판의 패키지 관리자를 사용하여 설치할 수 있습니다.

Ubuntu 또는 Debian 기반 시스템에서는 다음 명령을 사용할 수 있습니다.

sudo apt install nftables
로그인 후 복사

시스템이 다시 시작될 때 nftables가 자동으로 시작되도록 설정하려면 다음 작업을 수행할 수 있습니다.

sudo systemctl enable nftables.service
로그인 후 복사

구문 iptables와 nftables의 차이점

iptables에 비해 nftables의 구문은 더 간단하지만 iptables의 구문을 nftables에서도 사용할 수 있습니다.

iptables 명령을 받아 이를 동등한 nftables 명령으로 변환하는 iptables-translate 도구를 사용할 수 있습니다. 이는 두 구문의 차이점을 쉽게 이해할 수 있는 방법입니다.

다음 명령을 사용하여 Ubuntu 및 Debian 기반 배포판에 iptables-translate를 설치합니다.

sudo apt install iptables-nftables-compat
로그인 후 복사

설치 후 iptables 구문을 iptables-translate 명령에 전달하면 nftables에 해당하는 명령이 반환됩니다.

아래에서 몇 가지 구체적인 문법 예를 살펴보겠습니다.

들어오는 연결 차단

다음 명령은 IP 주소 192.168.2.1에서 들어오는 연결을 차단합니다.

$ iptables-translate -A INPUT -s 192.168.2.1 -j DROPnft add rule ip filter INPUT ip saddr 192.168.2.1 counter drop
로그인 후 복사

들어오는 SSH 연결 허용

Ssh를 놔두세요 연결 권한:

$ iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTnft add rule ip filter INPUT tcp dport 22 ct state new,established counter accept
로그인 후 복사

특정 IP 범위에서 들어오는 SSH 연결 허용

192.168.1.0/24에서 들어오는 SSH 연결만 허용하려는 경우:

$ iptables-translate -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTnft add rule ip filter INPUT ip saddr 192.168.1.0/24 tcp dport 22 ct state new,established counter accept
로그인 후 복사

允许MySQL连接到eth0网络接口

$ iptables-translate -A INPUT -i eth0 -p tcp --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTnft add rule ip filter INPUT iifname eth0 tcp dport 3306ct state new,established counter accept
로그인 후 복사

允许传入HTTP和HTTPS流量

为了允许特定类型的流量,以下是这两个命令的语法:

$ iptables-translate -A INPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTnft add rule ip filter INPUT ip protocol tcp tcp dport { 80,443} ct state new,established counter accept
로그인 후 복사

从这些例子中可以看出,nftables 语法与 iptables 非常相似,但命令更直观一些。

nftables 日志

上述nft命令示例中的“counter”选项告诉nftables统计规则被触碰的次数,就像默认情况下使用的iptables一样。

在nftables中,需要指定:

nft add rule ip filter INPUT ip saddr 192.168.2.1 counter accept
로그인 후 복사

nftables内置了用于导出配置的选项。它目前支持XML和JSON。

nft export xml
로그인 후 복사

위 내용은 nftables는 iptables와 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!