4.7. ネットワーク
NetworkManager がバージョン 1.42.2 にリベースされました。
NetworkManager
パッケージがアップストリームバージョン 1.42.2 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。
- イーサネットボンドはソースロードバランシングをサポートします。
-
NetworkManager は、
loopback
デバイスで接続を管理できます。 - IPv4 Equal-Cost Multi-Path (ECMP) ルートのサポートが追加されました。
-
仮想ローカルエリアネットワーク (VLAN) 接続での
802.1ad
タグ付けのサポートが追加されました。 -
nmtui
アプリケーションは、Wi-Fi WPA-Enterprise、802.1X 認証を備えたイーサネット、および MACsec 接続プロファイルをサポートします。 - すべてのアドレスが IPv6 重複アドレス検出 (DAD) に失敗した場合、NetworkManager は DHCPv6 リースを拒否します。
主な変更の詳細は、アップストリームのリリースノート を参照してください。
NetworkManager を使用した ECMP ルーティングの weight
プロパティーの導入
この更新により、RHEL 9 は、IPv4 等コストマルチパス (ECMP) ルートを定義する際の新しいプロパティーの weight
をサポートします。NetworkManager を使用してマルチパスルーティングを設定し、ネットワークトラフィックの負荷分散と安定化を行うことができます。これにより、2 つのノード間のデータ送信に複数のパスを使用できるようになり、ネットワーク効率が向上し、リンク障害が発生した場合に冗長性が提供されます。weight
プロパティーを使用するための条件は次のとおりです。
- 有効な値は、1 〜 256 です。
-
weight
プロパティーを使用して、複数のネクストホップルートをシングルホップルートとして定義します。 -
weight
を設定しない場合、NetworkManager はルートを ECMP ルートにマージできません。
NetworkManager の更新により、複数のネットワークにわたる DNS 設定の柔軟性が向上しました。
この更新により、/etc/Networkmanager/NetworkManager.conf
ファイルの既存の [global-dns]
セクションを使用して、[global-dns-domain-*]
セクションで nameserver
の値を指定せずに DNS オプションを設定できるようになります。これにより、実際の DNS 解決のためにネットワーク接続によって提供される DNS サーバーに依存しながら、/etc/resolv.conf
ファイルで DNS オプションを設定できます。その結果、この機能により、異なる DNS サーバーを使用して異なるネットワークに接続する際の DNS 設定の管理がより簡単かつ柔軟になります。特に、/etc/resolv.conf
ファイルを使用して DNS オプションを設定する場合はそうです。
NetworkManager が新しい vlan.protocol
プロパティーをサポートするようになりました。
今回の更新により、vlan
インターフェイスタイプは、新しい protocol
プロパティーを受け入れるようになりました。プロパティータイプは文字列です。受け入れられる値は 802.1Q
(デフォルト) または 802.1ad
のいずれかです。新しいプロパティーは、カプセル化のタグ識別子を制御する VLAN プロトコルを指定します。
NetworkManager で、アンマネージドインターフェイスを介した VLAN 設定が可能になりました。
この機能拡張により、NetworkManager で仮想 LAN (VLAN) を設定するときに、アンマネージドネットワークインターフェイスをベースインターフェイスとして使用できるようになります。その結果、VLAN ベースインターフェイスは、nmcli device set enp1s0 managed true
コマンドまたは NetworkManager の他の API を通じて明示的に変更されないかぎり、そのまま残ります。
NetworkManager を使用したマルチパス TCP の設定が完全にサポートされるようになりました。
今回の更新で、NetworkManager ユーティリティーが Multipath TCP (MPTCP) 機能を提供するようになりました。nmcli
コマンドを使用して MPTCP を制御し、その設定を永続化できます。
詳細は以下を参照してください。
NetworkManager ユーティリティーは、loopback
インターフェイスでの接続のアクティブ化をサポートするようになりました。
管理者は、loopback
インターフェイスを管理して、以下を行うことができます。
-
追加の IP アドレスを
loopback
インターフェイスに追加する - DNS 設定を定義する
- インターフェイスにバインドしない特別なルートを定義する
- インターフェイスに関係しないルートルールを定義する
-
loopback
インターフェイスの最大伝送単位 (MTU) サイズを変更する
balance-slb
ボンディングモードがサポートされるようになりました。
新しい balance-slb
ボンディングモードソースロードバランシングには、スイッチ設定は必要ありません。balance-slb
は、xmit_hash_policy
=vlan+srcmac
を使用して、ソースイーサネットアドレスのトラフィックを分割し、NetworkManager はトラフィックフィルタリングに必要な nftables
ルールを追加します。その結果、NetworkManager を使用して、balance-slb
オプションを有効にして結合プロファイルを作成できるようになりました。
firewalld
がバージョン 1.2 にリベースされました。
firewalld
パッケージがバージョン 1.2 にアップグレードされ、複数の機能強化が提供されています。主な変更点は、以下のとおりです。
- 新しいサービスのサポート (netdata、IPFS など)
-
フェールセーフモードにより、
firewalld
サービスの起動中にエラーが発生した場合でも、システムが保護された状態を維持し、ネットワーク通信が中断されないようにします。 -
一部の
firewalld
ポリシーコマンドのコマンドライン (CLI) でのタブ補完
firewalld
は起動時のフェールセーフメカニズムをサポートするようになりました。
この機能強化により、起動に失敗した場合、firewalld
はフェイルセーフのデフォルトに戻ります。この機能は、無効な設定やその他の起動の問題が発生した場合にホストを保護します。その結果、ユーザー設定が無効であっても、firewalld
を実行しているホストは起動時にフェイルセーフになるようになりました。
conntrack-tools
がバージョン 1.4.7 にリベースされました。
conntrack-tools
パッケージがバージョン 1.4.7 にアップグレードされ、複数のバグ修正と拡張機能が提供されています。主な変更点は、以下のとおりです。
-
IPS_HW_OFFLOAD
フラグを追加。これは、conntrack
エントリーのハードウェアへのオフロードを指定します。 -
clash_resolve
およびchaintoolong
統計カウンターを追加 - IP アドレスファミリーによるイベントのフィルタリングをサポート
-
conntrackd.conf
ファイル内で、yes または no を on または off の同義語として受け入れる -
デーモン起動時のユーザー空間ヘルパーの自動読み込みをサポート。ユーザーは
nfct add helper
コマンドを手動で実行する必要はありません。 -
-o userspace
コマンドオプションを削除し、ユーザー空間でトリガーされたイベントに常にタグ付け - 外部注入の問題を警告のみとしてログに記録
- キャッシュエントリーを検索するときに conntrack ID を無視し、スタックした古いエントリーを置き換えることができるようにする
-
ssdp cthelper
モジュールでの IPv6M-SEARCH
リクエストの解析の破損を修正 -
nfct
ライブラリーでの遅延バインディング手法の必要性を排除 - プロトコル値の解析をサニタイズし、無効な値をキャッチ
nmstate
API が IPv6 リンクローカルアドレスを DNS サーバーとしてサポートするようになりました。
この機能強化により、nmstate
API を使用して、IPv6 link-local アドレスを DNS サーバーとして設定できるようになりました。たとえば、<link-local_address>%<interface>
形式を使用します。
dns-resolver: config: server: - fe80::deef:1%enp1s0
nmstate
API が MPTCP フラグをサポートするようになりました。
この更新では、MultiPath TCP (MPTCP) フラグのサポートにより nmstate
API が強化されています。その結果、nmstate
を使用して、静的または動的 IP アドレスを持つインターフェイスに MPTCP アドレスフラグを設定できます。
すべてのインターフェイスの MTU に min-mtu
および max-mtu
プロパティーが追加されました。
以前は、例外メッセージが明確ではなく、サポートされている MTU 範囲を理解できませんでした。この更新では、すべてのインターフェイスに min-mtu
および max-mtu
プロパティーが導入されます。その結果、必要な MTU が範囲外の場合、nmstate
はサポートされる MTU 範囲を示します。
NetworkManager で、アンマネージドインターフェイスを介した VLAN 設定が可能になりました。
この機能拡張により、NetworkManager で仮想 LAN (VLAN) を設定するときに、アンマネージドネットワークインターフェイスをベースインターフェイスとして使用できるようになります。その結果、VLAN ベースインターフェイスは、nmcli device set enp1s0 managed true
コマンドまたは NetworkManager の他の API を通じて明示的に変更されないかぎり、そのまま残ります。
balance-slb
ボンディングモードがサポートされるようになりました。
新しい balance-slb
ボンディングモードソースロードバランシングには、スイッチ設定は必要ありません。balance-slb
は、xmit_hash_policy
=vlan+srcmac
を使用して、送信元イーサネットアドレス上のトラフィックを分割し、NetworkManager はトラフィックフィルタリングに必要な nftables
ルールを追加します。その結果、NetworkManager を使用して、balance-slb
オプションを有効にして結合プロファイルを作成できるようになりました。
Nmstate の新しい weight
プロパティー
この更新では、Nmstate API およびツールスイートに weight
プロパティーが導入されました。weight
を使用して、Equal Cost Multi-Path (ECMP) ルートグループ内の各パスの相対的な weight を指定できます。weight は 1 - 256 の間の数値です。その結果、Nmstate の weight
プロパティーにより、ECMP グループ内のトラフィック分散に対する柔軟性と制御が向上します。
xdp-tools
がバージョン 1.3.1 にリベースされました。
xdp-tools
パッケージがアップストリームバージョン 1.3.1 にアップグレードされ、以前のバージョンに比べて多くの機能強化とバグ修正が行われました。
次のユーティリティーが追加されました。
-
xdp-bench
: 受信側で XDP ベンチマークを実行します。 -
xdp-monitor
: カーネルトレースポイントを使用して、XDP エラーと統計を監視します。 -
xdp-trafficgen
: XDP ドライバーフックを介してトラフィックを生成および送信します。
-
以下の機能が
libxdp
ライブラリーに追加されました。-
xdp_multiprog__xdp_frags_support()
、xdp_program__set_xdp_frags_support()
、およびxdp_program__xdp_frags_support()
の関数は、XDPfrags
サポート (multibuffer XDP
とも呼ばれる機能) によるプログラムの読み込みをサポートするために追加されました。 -
ライブラリーは、プログラムを
AF_XDP
ソケットに接続するときに適切な参照カウントを実行します。その結果、アプリケーションはソケットを使用するときに XDP プログラムを手動で切り離す必要がなくなりました。libxdp
ライブラリーは、プログラムが使用されなくなったときにプログラムを自動的に切り離すようになりました。 ライブラリーに以下の関数が追加されました。
-
xdp_program__create()
(xdp_program
オブジェクトの作成用) -
xdp_program__clone()
(xdp_program
リファレンスのクローン作成用) -
xdp_program__test_run()
( XDP programs through theBPF_PROG_TEST_RUN
カーネル API の実行用)
-
-
LIBXDP_BPFFS_AUTOMOUNT
環境変数が設定されている場合、libxdp
ライブラリーは、bpffs
仮想ファイルシステムが見つからない場合の自動的なマウントをサポートするようになりました。ライブラリー機能のサブセットは、bpffs
がマウントされていない場合にも機能できるようになりました。
-
このバージョンでは、ネットワークデバイスにロードされている XDP ディスパッチャープログラムのバージョン番号も変更されることに注意してください。これは、libxdp
と xdp-tools
の以前のバージョンと新しいバージョンを同時に使用できないことを意味します。libxdp
1.3 ライブラリーは古いバージョンのディスパッチャーを表示しますが、自動的にアップグレードしません。さらに、libxdp
1.3 でプログラムをロードすると、古いバージョンは新しいバージョンと相互運用できなくなります。
iproute
がバージョン 6.1.0 にリベースされました。
iproute
パッケージがバージョン 6.1.0 にアップグレードされ、複数のバグ修正と拡張機能が提供されています。主な変更点は、以下のとおりです。
vdpa
デバイス統計の読み取りをサポートインデックス 1 の
virtqueue
データ構造の統計読み取りの図:# vdpa dev vstats show vdpa-a qidx 1 vdpa-a: vdpa-a: queue_type tx received_desc 321812 completed_desc 321812
インデックス 16 の
virtqueue
データ構造の統計読み取りの図:# vdpa dev vstats show vdpa-a qidx 16 vdpa-a: queue_type control_vq received_desc 17 completed_desc 17
- 対応する man ページを更新
カーネルは、SYN フラッドメッセージにリスニングアドレスを記録するようになりました。
この機能拡張により、リスニング IP アドレスが SYN フラッドメッセージに追加されます。
Possible SYN flooding on port <ip_address>:<port>.
その結果、多くのプロセスが異なる IP アドレスの同じポートにバインドされている場合、管理者は影響を受けるソケットを明確に特定できるようになりました。
Bugzilla:2143850
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
Jira:RHEL-19142