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
-
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 ファイルの例は次のようになります。
--- interfaces: - name: bond99 type: bond state: up link-aggregation: mode: active-backup ports-config: - name: eth2 priority: 15
ボンディングされたインターフェイス内のアクティブポートがダウンすると、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 設定ファイルは以下の例のようになります。
--- interfaces: - name: eth1.101 type: vlan state: up vlan: base-iface: eth1 id: 101 registration-protocol: mvrp loose-binding: true reorder-headers: true
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-defaults
CLI オプション:firewalld
サービスの設定をデフォルトにリセットします。これにより、ユーザーはfirewalld
の設定を消去し、デフォルト設定からやり直すことができます。 -
ingress-zone=ZONE
のポリシーに対して--add-masquerade
CLI オプションを有効にします。ここで、ZONE
には--add-interface
CLI オプションで割り当てられたインターフェイスがあります。これにより制限がなくなり、一般的なシナリオで (ソースの代わりに) インターフェイスを使用できるようになります。
これらの機能を導入する理由:
-
ファイアウォールをデフォルト設定にリセットするために
reset-to-defaults
が実装されました。 - インターフェイスを使用すると、ファイアウォールの設定に影響を与えずに IP アドレスを変更できます。
その結果、ユーザーは次のアクションを実行できます。
- 設定をリセットする。
-
ポリシーを使用する際に
--add-maquerade
と--add-interface
を組み合わせて使用する。