nftables とは何ですか? iptables との違いは何ですか?

WBOY
リリース: 2023-06-09 21:34:37
転載
2408 人が閲覧しました

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

#nftables とは何ですか? iptables との違いは何ですか?

ほぼすべての Linux 管理者は、Linux システム用のファイアウォールであるiptablesを使用したことがあります。しかし、必要なアップグレードを提供し、iptables を置き換える可能性がある新しいファイアウォールである nftables については馴染みがないかもしれません。

nftable を使用する理由

Nftables は、現在 iptables を保守している Netfilter 組織によって開発されました。 Nftables は、iptables のパフォーマンスとスケーラビリティの問題を解決するように設計されています。

nftables は、一部のアップグレードと構文の変更を除いて、iptables とほぼ同じように機能します。 nftables が導入されたもう 1 つの理由は、iptables フレームワークが少し複雑になったためであり、iptables、ip6tables、arptables、ebtables はすべて異なるものの似た機能を持っています。

たとえば、iptables に IPv4 ルールを作成し、ip6tables に IPv6 ルールを作成し、2 つの同期を維持するのは非常に非効率です。 Nftables は、これらすべてを置き換えて一元化されたソリューションになることを目指しています。

nftables は 2014 年から Linux カーネルに組み込まれていますが、最近では採用が拡大するにつれて人気が高まっています。 Linux の世界では変化が遅く、古いユーティリティが段階的に廃止され、アップグレードされたユーティリティに置き換えられるまでに数年以上かかることがよくあります。

今日は、nftables と iptables の違いを簡単に紹介し、新しい nftables 構文でのファイアウォール ルールの構成例を示します。

nftables のチェーンとルール

iptables には、input 、output、forwarding の 3 つのデフォルト チェーンがあります。これら 3 つの「チェーン」 (および他のチェーン) には「ルール」が含まれており、iptables はネットワーク トラフィックをチェーン内のルールのリストと照合することによって機能します。検査対象のトラフィックがどのルールにも一致しない場合、チェーンのデフォルト ポリシー (ACCEPT や DROP など) がトラフィックに適用されます。

Nftables も「チェーン」と「ルール」を使用して同様に機能します。ただし、基礎となるチェーンなしで開始されるため、構成がより柔軟になります。

iptables の非効率性の 1 つは、トラフィックがどのルールにも一致しない場合でも、すべてのネットワーク データが上記のチェーンの 1 つ以上を通過する必要があることです。リンクを設定しない場合でも、iptables はネットワーク データを検査して処理します。

Linux への nftables のインストール

nftables はすべての主要な Linux ディストリビューションで利用でき、次のディストリビューション バージョンを使用できます。インストールするパッケージマネージャー。

Ubuntu または Debian ベースのシステムでは、次のコマンドを使用できます:

sudo apt install nftables
ログイン後にコピー

システムの再起動時に nftables が自動的に開始されるように設定します。実行可能ファイル 次のように実行します。

sudo systemctl enable nftables.service
ログイン後にコピー

iptables と nftables の構文の違い

nftables の構文と iptables の比較より単純ですが、iptables の構文は nftables でも使用できます。

iptables コマンドを受け入れ、同等の nftables コマンドに変換する iptables-translate ツールを使用すると、2 つの構文の違いを簡単に理解できます。

次のコマンドを使用して、Ubuntu および Debian ベースのディストリビューションに iptables-translate をインストールします:

sudo apt install iptables-nftables-compat
ログイン後にコピー

インストール後、iptables-translate を変換できます。 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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!