4.6. ネットワーク
nft ユーティリティーが、nftables ルールに含まれる状態をリセットできるようになりました
この機能拡張により、nft reset コマンドを使用して、nftables ルールに含まれる状態をリセットできるようになりました。たとえば、この機能を使用して、カウンターとクォータステートメントの値をリセットします。
Jira:RHEL-5980[1]
Marvell Octeon PCIe Endpoint Network Interface Controller ドライバーが利用可能になる
この機能拡張により、octeon_ep ドライバーが追加されました。Marvell の Octeon PCIe Endpoint ネットワークインターフェイスカードのネットワークに使用できます。ホストドライバーは、PCI Express (PCIe) エンドポイントネットワークインターフェイス (NIC) として機能し、24 N2 コアのインフラストラクチャープロセッサーファミリーである Marvell OCTEON TX2 CN106XX をサポートします。OCTEON TX2 ドライバーを PCIe NIC として使用することで、セキュリティーファイアウォール、5G Open Radio Access Network (ORAN) と Virtual RAN (VRAN) アプリケーション、データ処理オフロードアプリケーションなど、さまざまな製品の PCIe エンドポイントとして OCTEON TX2 を使用できます。
現在、以下のデバイスでご利用いただけます。
- Network controller: Cavium, Inc.Device b100
- Network controller: Cavium, Inc.Device b200
- Network controller: Cavium, Inc.Device b400
- Network controller: Cavium, Inc.Device b900
- Network controller: Cavium, Inc.Device ba00
- Network controller: Cavium, Inc.Device bc00
- Network controller: Cavium, Inc.Device bd00
Jira:RHEL-9308[1]
NetworkManager は、高度なハードウェアオフロード用の switchdev モードの設定をサポートするようになりました
この機能拡張により、NetworkManager 接続プロファイルで次の新しいプロパティーを設定できるようになります。
-
sriov.eswitch-mode -
sriov.eswitch-inline-mode -
sriov.eswitch-encap-mode
これらのプロパティーを使用して、スマートネットワークインターフェイスコントローラー (Smart NIC) の eSwitch を設定できます。たとえば、高度なハードウェアオフロード機能を使用するには、sriov.eswitch-mode 設定を使用して、モードを legacy SR-IOV から switchdev に変更します。
NetworkManager は ethtool チャネル設定の変更をサポートします
ネットワークインターフェイスには、複数の割り込み要求 (IRQ) と、channels と呼ばれる関連パケットキューを設定できます。この機能拡張により、NetworkManager 接続プロファイルは、接続プロパティー ethtool.channels-rx、ethtool.channels-tx、ethtool.channels-other、および ethtool.channels-combined を使用して、インターフェイスに割り当てるチャネルの数を指定できるようになりました。
Jira:RHEL-1471[1]
Nmstate は設定を元に戻すための YAML ファイルを作成できるようになりました
この機能拡張により、Nmstate は、現在のネットワーク設定と、適用する新しい設定を含む YAML ファイルとの相違点を含む "元に戻すための設定ファイル" を作成できるようになります。YAML ファイルを適用した後、設定が想定どおりに機能しない場合は、元に戻すための設定ファイルを使用して以前の設定を復元できます。
-
適用する設定を含む YAML ファイル (たとえば、
new.yml) を作成します。 new.yml内の意図した設定と現在の状態の相違点を含む、元に戻すための設定ファイルを作成します。nmstatectl gr new.yml > revert.yml
# nmstatectl gr new.yml > revert.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
new.ymlの設定を適用します。 -
以前の状態に戻す場合は、
revert.ymlを適用します。
あるいは、Nmstate API を使用して元に戻す設定を作成する場合は、NetworkState::generate_revert(current) 呼び出しを使用することもできます。
Nmstate API は IPsec 設定に基づいて VPN 接続を設定します
Libreswan ユーティリティーは、VPN を設定するための IPsec の実装です。この更新により、nmstatectl を使用して、設定モード (トンネルとトランスポート) およびネットワークレイアウト (host-to-host、host-to-host、subnet-to-subnet) に加え、IPsec ベースの認証タイプを設定できるようになりました。
nmstate が priority ボンディングプロパティーをサポートするようになりました
この更新では、設定ファイルの ports-config セクションの priority プロパティーを使用して、nmstate フレームワーク内のボンディングポートの優先順位を設定できるようになりました。YAML ファイルの例は次のようになります。
ボンディングされたインターフェイス内のアクティブポートがダウンすると、RHEL カーネルは、すべてのバックアップポートのプールから、priority プロパティーの数値が最も高い次のアクティブポートを選択します。
priority プロパティーは、ボンディングインターフェイスの次のモードに関連します。
-
active-backup -
balance-tlb -
balance-alb
Jira:RHEL-1438[1]
NetworkManager Wi-Fi 接続が新しい MAC アドレスベースのプライバシーオプションをサポートします
この機能拡張により、無作為に生成された MAC アドレスを Wi-Fi ネットワークのサービスセット識別子 (SSID) に関連付けるように NetworkManager を設定できるようになりました。これにより、接続プロファイルを削除して再作成しても、ランダムでありつつ一貫性のある MAC アドレスを Wi-Fi ネットワークで永続的に使用できます。この新機能を使用するには、Wi-Fi 接続プロファイルの 802-11-wireless.cloned-mac-address プロパティーを stable-ssid に設定します。
VLAN インターフェイスの新しい nmstate 属性の導入
今回の nmstate フレームワークの更新により、以下の VLAN 属性が導入されました。
-
registration-protocol: VLAN Registration Protocol。有効な値はgvrp(GARP VLAN Registration Protocol)、mvrp(Multiple VLAN Registration Protocol)、およびnoneです。 -
reorder-headers: 出力パケットヘッダーを並び替えます。有効な値はtrueおよびfalseです。 -
loose-binding: プライマリーデバイスの操作状態に対してインターフェイスを緩やかにバインドします。有効な値はtrueおよびfalseです。
YAML 設定ファイルは以下の例のようになります。
ipv4.dhcp-client-id を none に設定すると、client-identifier が送信されません
NetworkManager で client-identifier オプションが設定されていない場合、実際の値は、使用されている DHCP クライアントのタイプ (NetworkManager の internal DHCP クライアントや dhclient など) によって異なります。通常、DHCP クライアントは client-identifier を送信します。したがって、ほとんどの場合、none オプションを設定する必要はありません。したがって、このオプションは、クライアントが client-identifier を送信しないことを要求する、一部の特殊な DHCP サーバー設定の場合にのみ役立ちます。
nmstate が MACsec インターフェイスの作成をサポートするようになりました
この更新により、nmstate フレームワークのユーザーは、Open Systems Interconnection (OSI) モデルのレイヤー 2 で通信を保護するように、MACsec インターフェイスを設定できるようになりました。そのため、後からレイヤー 7 で個々のサービスを暗号化する必要はありません。また、この機能により、関連する課題 (エンドポイントごとに大量の証明書を管理するなど) がなくなります。
詳細は、nmstatectl を使用した MACsec 接続の設定 を参照してください。
netfilter の更新
RHEL 9 では、kernel パッケージがバージョン 5.14.0-405 にアップグレードされました。その結果、リベースにより、RHEL カーネルの netfilter コンポーネントにおいて複数の機能拡張とバグ修正も行われました。以下は、主な変更点です。
-
nftablesサブシステムは、トンネルパケットのさまざまな内部ヘッダーフィールドにマッチできます。これにより、特にトンネリングプロトコルが使用される環境において、ネットワークトラフィックのより詳細かつ効果的な制御が可能になります。
Jira:RHEL-16630[1]
firewalld が不要なファイアウォールルールのフラッシュを実行しなくなる
firewalld サービスは、以下の条件を両方満たす場合、iptables 設定から既存のルールすべてを削除しません。
-
firewalldがnftablesバックエンドを使用している。 -
--directオプションを使用して作成されたファイアウォールルールが存在しない。
この変更は、不要な操作 (ファイアウォールルールのフラッシュ) を削減し、他のソフトウェアとの統合を改善することを目的としています。
Jira:RHEL-427[1]
ss ユーティリティーが TCP バインドされた非アクティブソケットの可視性を改善する
iproute2 スイートは、TCP/IP ネットワークトラフィックを制御するためのユーティリティーのコレクションを提供します。TCP バインドされた非アクティブソケットは、IP アドレスとポート番号に接続されていますが、両方とも TCP ポートに接続もリッスンもされていません。ソケットサービス (ss) ユーティリティーは、TCP バインドされた非アクティブソケットをダンプするためのカーネルのサポートを追加します。次のコマンドオプションを使用して、これらのソケットを表示できます。
-
ss --all: TCP バインドされた非アクティブソケットを含むすべてのソケットをダンプします。 -
ss --bound-inactive: バインドされた非アクティブソケットのみをダンプします。
Jira:RHEL-21223[1]
Nmstate API が SR-IOV VLAN 802.1ad のタグ付けをサポートするようになりました
この機能拡張により、Nmstate API を使用して、ハードウェアアクセラレーションされた Single-Root I/O Virtualization (SR-IOV) 仮想ローカルエリアネットワーク (VLAN) 802.1ad のタグ付けを有効にできるようになりました。このタグ付けは、ファームウェアでこの機能がサポートされているカードで有効にできます。
TCP Illinois 輻輳アルゴリズムカーネルモジュールが再度有効化されました
TCP Illinois は TCP プロトコルのバリアントです。インターネットサービスプロバイダー (ISP) などのお客様は、TCP Illinois アルゴリズムがないとパフォーマンスが最適に保たれず、Bandwidth and Round-trip propagation time (BBR) アルゴリズムを使用してもネットワークトラフィックが適切にスケーリングされず、結果として待ち時間が長くなります。したがって、TCP Illinois アルゴリズムを使用することで、平均スループットが若干向上し、ネットワークリソースがより公平に割り当てられ、互換性も実現できます。
Jira:RHEL-5736[1]
iptables ユーティリティーがバージョン 1.8.10 にリベース
iptables ユーティリティーは、ファイアウォールを管理するためのパケットフィルタリングのルールを定義します。このユーティリティーはリベースされました。主な変更点は、以下のとおりです。
注目すべき機能:
-
sctpマッチでの新しいチャンクタイプのサポートの追加 -
出力を jc --iptables にパイプするときに役立つよう、
ip6tablesオプトイン列を空の場合にそろえる -
より安定した出力のために、
--numericで数値プロトコル番号を出力する -
*tables-translateユーティリティーの変換の追加と出力フォーマットの改善 - man ページのいくつかの改善
注目すべき修正点:
-
iptables-restoreエラーメッセージが COMMIT 行を誤って指している -
ebtables での
-p Lengthの一致が壊れている -
複数のルールで使用されている場合、マッチ間で壊れた ebtables が
ebtables-restoreによって復元される - すでに存在するチェーンの数に応じてチェーンの名前を変更すると、プログラムがクラッシュする可能性がある
- 重大でないメモリーリーク
- nft-variants への切り替え後、ebtables で broute テーブルのサポートが失われる
- '-c' オプションによる ip6tables ルールカウンター設定が壊れている
- 存在しないチェーンをリストするときに予期しないエラーメッセージが表示される
- among match が使用されている場合、ebtables ルールの比較で誤検出が発生する可能性がある
- チェーンの名前を無効な名前に変更することを禁止する
- 無効なチェーン名を検出するために、iptables-restore 入力の "chain lines" をより厳密にチェックする
- 機能しないビルトインチェーンポリシーカウンター
nftables がバージョン 1.0.9 にリベース
nftables ユーティリティーがバージョン 1.0.9 にアップグレードされ、複数のバグ修正と機能拡張が提供されています。主な変更点は、以下のとおりです。
-
--optimizeコマンドオプションの改善 - Python nftables クラスの拡張
-
iptables-nftによって作成されたルールを処理する際の動作の改善 - vxlan-encapsulated ヘッダーのフィールドへのアクセスに対するサポート
- GRE、Geneve、GRETAP プロトコルの初期サポート
-
ルールカウンター、クォータをリセットするための新しい
reset rule(s)コマンド -
新しい
destroyコマンドは存在するものだけを削除する -
最後にパケットを確認したときに、新しい
lastステートメントを記録する - netdev-family チェーンからデバイスを追加および削除する
-
ebtables の broute 機能をエミュレートする新しい
meta broute式 - さまざまなメモリーリークを修正する
- コーナーケースでのエラーメッセージの間違ったロケーションを修正する
- JSON 出力に set および map ステートメントがない
firewalld がバージョン 1.3 にリベース
firewalld パッケージがバージョン 1.3 にアップグレードされ、複数のバグ修正と機能拡張が提供されます。主な変更点は、以下のとおりです。
-
新しい
reset-to-defaultsCLI オプション:firewalldサービスの設定をデフォルトにリセットします。これにより、ユーザーはfirewalldの設定を消去し、デフォルト設定からやり直すことができます。 -
ingress-zone=ZONEのポリシーに対して--add-masqueradeCLI オプションを有効にします。ここで、ZONEには--add-interfaceCLI オプションで割り当てられたインターフェイスがあります。これにより制限がなくなり、一般的なシナリオで (ソースの代わりに) インターフェイスを使用できるようになります。
これらの機能を導入する理由:
-
ファイアウォールをデフォルト設定にリセットするために
reset-to-defaultsが実装されました。 - インターフェイスを使用すると、ファイアウォールの設定に影響を与えずに IP アドレスを変更できます。
その結果、ユーザーは次のアクションを実行できます。
- 設定をリセットする。
-
ポリシーを使用する際に
--add-maqueradeと--add-interfaceを組み合わせて使用する。