第14章 ネットワーク

NetworkManager がバージョン 1.8 にリベース

NetworkManager パッケージがアップストリームバージョン 1.8 にアップグレードされ、1 つ前のバージョンに対して多くのバグ修正および機能拡張が加えられています。主な変更点は以下の通りです。
  • 追加のルーティングオプションのサポートが追加されました。
  • デバイスの移行状態が再起動されるまで永続化されるようになりました。
  • 外部で管理されたデバイスが正しく処理されるようになりました。
  • マルチホームホスト上のネットワークの信頼性が強化されました。
  • ホスト名管理の設定がより柔軟化されました。
  • 802-3 link properties の変更および強制指定のサポートが追加されました。
詳しい情報は https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/NEWS?h=1.8.0 (BZ#1414103) を参照してください。

NetworkManager によるルーティング関連の追加機能のサポート

今回の更新では、NetworkManager は、接続の静的 IPv4 および IPv6 ルーティング向けの source_address (src、IPv4 のみ)、fromtype_of_service (tos)、windowmaximum_transmission_unit (mtu)、congestion_window (cwnd)、initial_congestion_window (initcwnd)、initial_receiver_window (initrwnd) などの詳細オプションが設定できるようになりました (BZ#1373698)。

NetworkManager によるデバイス状態の処理機能の改善

今回の更新では、NetworkManager はサービスの再起動後にデバイスの状態を維持し、再起動時に管理モードに設定されたインターフェースを引き継ぐようになりました。さらに NetworkManager は、「unmanaged」と明示的に設定されていないが、ユーザーまたは別のネットワークサービスにより手動で制御されているデバイスを処理できるようになりました (BZ#1394579)。

NetworkManager による MACsec (IEEE 802.1AE) のサポート

今回の更新では、Media Access Control Security (MACsec) の暗号化を NetworkManager に設定するサポートが追加されました (BZ#1337997)。

NetworkManager による 802-3 link properties の変更および強制指定のサポート

以前のリリースでは、NetworkManager802-3 link properties : 802-3-ethernet.speed802-3 ethernet.duplex802-3-ethernet.auto-negotiate を公開するのみでした。今回の更新では、このプロパティーを変更して強制的に指定できるようになりました。auto-negotiate=yes を使用して自動的に指定することも、auto-negotiate=nospeed=<Mbit/s>duplex=[half,full] を使用して手動で設定することも可能です。
auto-negotiate=no と、speed または duplex が設定されていない場合に、リンクの交渉がスキップされ、auto-negotiate=no, speed=0, duplex=NULL のデフォルト値が維持される点に注意してください。
また auto-negotiate のデフォルト値が yes から no に変更され、後方互換性が確保されている点に注意してください。以前のリリースでは、このプロパティーは無視されていましたが、auto-negotiate の値が yes の場合にはリンク交渉が強制的に有効化できるようになりました。no に設定して speedduplex を設定しない場合には、リンク交渉は無視されます (BZ#1353612)。

NetworkManager によるデバイス名をベースにしたボンドスレーブの順序付けのサポート

以前のリリースでは、スレーブ接続を有効化する既存の順番が原因でマスターインターフェースの MAC アドレスを決定する際に問題が発生する可能性がありました。今回の更新では、デバイス名をベースにより推測可能な順序付けがされるようになりました。新しい順序付けを有効化するには、NetworkManager 設定の slaves-order=name 設定を使用します。
新しい順序付けはデフォルトでは無効になっており、明示的に有効化する必要がある点に注意してください (BZ#1420708)。

NetworkManager による SR-IOV デバイス向けの VF のサポート

今回の更新では NetworkManager システムサービスは、Single Root I/O Virtualization (SR-IOV) PCI デバイス向けに VF (Virtual Function) を作成するサポートが追加されました。VF 数は、NetworkManager 設定ファイルのデバイスセクションにある sriov-num-vfs オプションを使用して指定することができます。VF の作成後に NetworkManager はその VF で接続プロファイルを有効化することができます。
Maximum Transmission Unit (MTU) などの VF インターフェースのプロパティーは、物理インターフェースに設定されたプロパティーと互換性がある値にしか設定できない点に注意してください (BZ#1398934)。

カーネル GRE がバージョン 4.8 にリベース

カーネル Generic Routing Encapsulation (GRE) のトンネリングがアップストリームバージョン 4.8 に更新され、1 つ前のバージョンに対して多くのバグ修正や機能拡張が追加されています。最も顕著な変更は以下のとおりです。
  • IPv4 GRE および IPv6 GRE の送信および受信パスのコードマージ
  • gre (IPv4 GRE) または ip6gre (IPv6 GRE) デバイスを停止させずにリンク層のアドレスを変更する機能の拡張
  • IPv6 GRE トラフィック向けの checksumscatter-gatherhighdmagso または gro などのさまざまなオフロードのサポート
  • ip6gretap デバイスの追加時におけるカーネルモジュールの自動読み込み
  • Linux カーネルバージョン 4.8 に合わせて GRE トンネルに影響を与えるさまざまなトンネリングの修正 (例: エラー処理、MTU 計算、パス MTU の検出) (BZ#1369158)

dnsmasq がバージョン 2.76 にリベース

dnsmasq パッケージはバージョン 2.76 にアップグレードされ、数多くのバグ修正や拡張機能が追加されました。主な変更点には以下が含まれます。
  • dhcp_release6 ユーティリティーがサポートされるようになりました。
  • ra-param オプションが追加されました。
  • DHCPv6 情報要求に対応する RFC-4242 information-refresh-time オプションのサポートが追加されました。
  • RFC-3775 準拠のモバイル IPv6 サポートに ra-advrouter モードが追加されました。
  • script-arp スクリプトが追加され、dhcp-script スクリプトに新たな関数が 2 つ追加されました。
  • DHCPv6 の一時的なアドレス割当に、演算ベースで決定された静的なアドレスではなく、’無作為なアドレスを使用することができるようになりました。
  • 任意の新規 DNS Security Extensions (DNSSEC) サポートが無効になりました。
  • dnsmasq は IPv6 ルーター広告のデフォルト値を変更できるので、デフォルトの優先順位と、dnsmasq が広告したルートの間隔 (時間) を変更には ra-param オプションを使用します。詳しい情報は dnsmasq(1) man ページを参照してください (BZ#1375527、BZ#1398337)。

BIND の URI リソースレコードを処理する方法が変更され URI 後方互換性にも影響を与えるようになった

今回の更新では、BIND スイートは URI リソースレコードを使用することで、余分なバイト数を値のフィールドに追加しなくなりました。つまり、Red Hat Enterprise Linux (RHEL) 7.4 の BIND は RFC 7553: https://tools.ietf.org/html/rfc7553 に記載どおりの形式でのみ通信されるようになりました。
今回の更新により、新規の URI レコードは、以前の RHEL バージョンの BIND を使用して作成したレコードと互換性がなくなります。たとえば、RHEL 7.4 の BIND は以下ができません。
  • 以前の RHEL バージョンの BIND で提供された URI レコードを理解すること
  • 以前の RHEL バージョンの BIND を使用してクライアントに URI レコードにサービスを提供すること
ただし、RHEL 7.4 の BIND は依然として以下を実行できます。
  • 過去のバージョンおよび今後のバージョンの RHEL の BIND からのレコードをキャッシュして受信すること
  • 以前の URI 形式のレコードに不明な DNS リソースレコードとしてサービスを提供すること。詳しくは、RFC 3597 を参照してください (https://tools.ietf.org/html/rfc3597)。
今回の更新後に、DNS ゾーンファイルに変更を加える必要はありません (BZ#1388534)。

BIND アップストリームバージョン 9.11.0 からの DynDB API を Red Hat Enterprise Linux に追加

今回の更新では、bind パッケージのアップストリームバージョン 9.11.0 で導入された dyndb システムプラグインの API がバックポートされました。これにより、Red Hat Enterprise Linux の bind-dyndb-ldap プラグインが新しい API を使用するようになりました。以前の Red Hat Enterprise Linux リリースで使用されていた、ダウンストリームの dynamic_db 機能に対するサポートはなくなりました。
アップストリームの dyndb はダウンストリームの dynamic_db とは異なる設定構文を使用するため、今回の更新で、構文も変更されていますが、設定を手動で変更する必要はありません (BZ#1393886)。

Microsoft Azure クラウド向け DDNS 用の DHCP クライアントフック例を追加

Microsoft Azure クラウド向け DDNS 用の DHCP クライアントフックの例が dhclient パッケージに追加されました。管理者はこのフックを有効にして、Red Hat Enterprise Linux クライアントを容易に DDNS サーバーに登録することができます (BZ#1374119)。

dhcp_release6 による IPv6 アドレスの解放

今回の更新では、dhcp_release6 ユーティリティーは、ローカルの dnsmasq サーバー上の IPv6 アドレス用に Dynamic Host Configuration Protocol バージョン 6 (DHCPv6) リースを解放できるようになりました。dhcp_release6 コマンドに関する詳しい情報は、dhcp_release6(1) man ページを参照してください (BZ#1375569)。

Sendmail が ECDHE をサポート

今回の更新では Red Hat Enterprise Linux 7 Sendmail に楕円曲線ディフィーヘルマン共有 (ECDHE: Elliptic Curve Diffie-Hellman Exchange) サポートが追加されました。ECDHE とは、楕円曲線暗号 (ECC) を使用する Diffie-Hellman プロトコルの派生で、2 者がセキュアでないチャネルで共有鍵を作成可能な匿名の鍵共有プロトコルのことです (BZ#1124827)。

telnet による -6 オプションのサポート

今回の更新では、telnet ユーティリティーは IPv6 接続をテストする -6 オプションをサポートするようになりました (BZ#1367415)。

Unbound に DNS ネガティブ応答をキャッシュする TTL 制限が調節可能になる

今回の更新では、Unbound サービスに cache-max-negative-ttl 設定オプションが追加され、特に DNS ネガティブ応答をキャッシュできるように、最大 TTL を調節できるようになりました。以前のリリースでは、この制限はドメイン SOA レコードにより決定されるか、設定済みの場合には DNS 応答をすべてキャッシュした時の TTL 上限と同じ値に設定されていました。
Unbound が DNS 応答のキャッシュの TTL を決定する場合に、cache-min-ttl オプションの値セットは cache-max-negative-ttl で指定された値よりも優先される点に注意してください (BZ#1382383)。

UDP ソケットのスケーラビリティーの向上

今回の更新では、UDP フォワードメモリーアカウンティングを向上し、UDP のロック競合を減らします。それにより、送信機能に変更を加えることなく、複数のピアからトラフィックを受信する UDP ソケットの全体的な受信処理量が大幅に増加されます (BZ#1388467)。

IP によるカーネルの IP_BIND_ADDRESS_NO_PORT のサポート追加

今回の更新では、IP_BIND_ADDRESS_NO_PORT のソケットオプションが追加されました。これにより、bind() 要求がポート番号 0 に対して使用された場合に、カーネルが L4 タプルを省略できるようになりました。そのため、異なる送信先ホストに対する多くの接続を同時に保持できます (BZ#1374498)。

IPVS Source Hash スケジュールによる L4 スケジュールおよび SH フォールバックのサポートの追加

今回の更新では、IP Virtual Server (IPVD) Source Hash スケジュールアルゴリズムに以下が追加されました。
  • L4 ハッシュ
  • 送信先サーバーの重みが 0 の場合には (つまり送信先サーバーが非アクティブの場合)、次にアクティブなサーバーへの要求に SH がフォールバックする機能
上記が追加された結果、1 つのソース IP アドレスからの要求の負荷をポート番号をベースに分散できるようになりました。非アクティブなサーバーへの要求はタイムアウトしなくなりました (BZ#1365002)。

iproute によるブリッジポートオプションの変更サポート

今回の更新では、stateprioritycost などのブリッジポートオプションの変更機能が iproute パッケージに追加されました。新機能が追加されたことで、iproutebridge-utils パッケージの代わりとして使用できるようになりました (BZ#1373971)。

SCTP のソケット API 拡張 (RFC 6458) の新規オプション実装

今回の更新では SCTP_SNDINFOSCTP_NXTINFOSCTP_NXTINFO および SCTP_DEFAULT_SNDINFO のオプションがストリーム コントロール トランスミッション プロトコル (SCTP: Stream Control Transmission Protocol) のソケット API 拡張に追加されました (RFC 6458)。
SCTP_SNDRCVSCTP_EXTRCV および SCTP_DEFAULT_SEND_PARAM のオプションが非推奨となり、これらの新しいオプションに置き換えられます。非推奨の機能セクションも参照してください (BZ#1339791)。

ss による SCTP ソケットリストのサポート

以前のリリースでは netstat ユーティリティーがストリームコントロールトランスミッションプロトコル (SCTP) ソケットの一覧を提供していましたが、今回の更新では ss ユーティリティーがこの同じ一覧を表示できるようになりました (BZ#1063934)。

wpa_supplicant による MACsec のサポート

今回の更新では wpa_supplicant ユーティリティーは Media Access Control Security (MACsec) の暗号化 802.1AE をサポートするようになりました。これにより、デフォルトで MACsec を設定できるようになりました (BZ#1338005)。

wpa_supplicant がバージョン 2.6 にリベース

wpa_supplicant パッケージがアップストリームバージョン 2.6 にアップグレードされ、数多くのバグ修正や拡張機能が追加されました。詳しい情報は http://w1.fi/cgit/hostap/plain/wpa_supplicant/ChangeLog を参照してください (BZ#1404793)。

Linux カーネルへの switchdev インフラストラクチャーおよび mlxsw の追加

今回の更新では、以下の機能が Linux カーネルにバックポートされました。
  • Ethernet スイッチのデバイスドライバーモデル (switchdev インフラストラクチャー)
今回の更新により、スイッチデバイスはカーネルからフォワーディングデータプレーンをオフロードできるようになりました。
  • mlxsw ドライバー (BZ#1275772、BZ#1414400、BZ#1434587 および BZ#1434591)
mlxsw がサポートするスイッチハードウェア: Mellanox SwitchX-2 (スローパスのみ)、Mellanox SwitchIB および SwitchIB-2、Mellanox Spectrum
mlxsw がサポートする機能: ポート別のジャンボフレーム、速度設定、状態設定、統計、スプリッターケーブルを使用したポート分割、ポートミラーリング、QoS: 802.1p、データセンターブリッジング (DCB)、TC flower オフロードを使用したアクセス制御リスト (ACL) がテクノロジープレビューとして導入されました。
レイヤー 2 機能: VLAN、スパニングツリープロトコル (STP: Spanning Tree Protocol)、チームまたはボンディングオフローディングを使用したリンクアグリゲーション (LAG)、Link Layer Discovery Protocol (LLDP)
レイヤー 3 機能: ユニキャストルーティング
これらの全機能を設定するには、更新済みの iprouteパッケージで提供される標準ツールを使用します (BZ#1297841)。

Linux ブリッジコードがバージョン 4.9 にリベース

Linux ブリッジコードがアップストリームバージョン 4.9 にアップグレードされ、1 つ前のバージョンに対して多くのバグ修正および機能拡張が追加されています。主な変更は以下のとおりです。
  • 802.1ad VLAN フィルタリングおよび Tx VLAN アクセラレーションのサポート
  • 802.11 Proxy アドレス解決プロトコル (ARP: Address Resolution Protocol) のサポート
  • switchdev を使用したオフロードの切り替えサポート
  • ユーザー mdb エントリーの VLAN サポート
  • mdb エントリーの拡張属性サポート
  • 一時ポートルーターのサポート
  • VLAN 別の統計のサポート
  • Internet Group Management Protocol/Multicast Listener Discovery (IGMP/MLD) 統計サポート
  • sysfs を使用して対応していた全設定の netlink でのサポート
  • 不明なマルチキャストフラッドを制御するポート別のポートフラッグの追加 (BZ#1352289)

bind-dyndb-ldap がバージョン 11.1 にリベース

bind-dyndb-ldap パッケージがアップストリームバージョン 11.1 にアップグレードされ、1 つ前のバージョンに対して多くのバグ修正および機能拡張が追加されています。
具体的には /etc/named.conf ファイルは新しい DynDB API を使用するようになりました。bind-dyndb-ldap パッケージを更新すると、自動的にファイルは API スタイルに変換されます (BZ#1393889)。

tboot がバージョン 1.9.5 にリベース

tboot パッケージがアップストリームバージョン 1.9.5 にアップグレードされ、バグ修正および拡張機能が数多く加えられています。主な変更点は以下の通りです。
  • 今回の更新で、Trusted Platform Module (TPM) 2.0 のリンク制御プロトコル (LCP) 作成ユーティリティーの第二世代、および更新された LCP 作成ユーティリティーのユーザーガイドが追加されました。
  • Intel Platform Trust Technology (PTT) および Linux PTT ドライバーが正しく機能するように回避策が実装されました。
  • Linux カーネルの新機能に対応するために Linux カーネルヘッダーの構造体宣言に新しいフィールドが追加されました (BZ#1384210)。

rdma-core バージョン 13にリベースすることによる rdma 関連のパッケージの強化

rdma パッケージに関連するパッケージがアップグレードされ、単一のソースパッケージ、rdma-core バージョン 13 に統合されました。統合されたパッケージは以下のとおりです。
  • rdma
  • iwpmd
  • libibverbs
  • librdmacm
  • ibacm
  • libibumad
  • libocrdma
  • libmlx4
  • libmlx5
  • libhfi1verbs
  • libi40iw
  • srp_daemon (以前は srptools)
  • libmthca
  • libcxgb3
  • libcxgb4
  • libnes
  • libipathverbs
  • librxe
  • rdma-ndd
以前のリリースに含まれていなかった以下のパッケージが、新規パッケージ rdma-core の一部として追加されました。
  • libqedr
  • libhns
  • libvmw_pvrdma
ibverbs ハードウェア固有のプロバーダーライブラリーはすべて libibverbs のサブパッケージに同梱されるようになり、インストールを効率的に行い、発生する可能性のあるバージョンの不一致を避けることができます (BZ#1404035)。

静的 MAC アドレスへの OVN IP アドレス管理サポートの追加

今回の更新では、ユーザーが指定した静的 MAC アドレスを使用して動的 IP アドレスを割り当てるサポートが追加されました。そのため、Open Virtual Network (OVN) ユーザーは静的な MAC アドレスと関連付けられた動的 IP で設定を作成できるようになりました (BZ#1368043)。

マルチホームホスト上のネットワークの信頼性強化

別のインターフェースにすでに存在するルートを持つインターフェースで、NetworkManager ユーティリティーは、RPF (Reverse Path Filtering) メソッドを Strict から Loose に自動的に切り替えます。これにより、マルチホームホスト上のネットワークの信頼性が強化されます (BZ#1394344)。

GENEVE、VXLAN および GRE トンネルのサポート追加

今回の更新では、GENEVE、VXLAN および GRE トンネルのオフロードをサポートするインフラストラクチャーが追加されました。また、GENEVE トンネル実装のさまざまなバグが修正されました (BZ#1326309)。

トンネルトラフィックの LCO のサポート追加

今回の更新では Local Checksum Offloading (LCO) 技術が追加され、特定のネットワークカードがトンネルトラフィックのチェックサムオフロードを使用できるようになりました。今回の機能拡張で VXLAN、GRE、その他のトンネルのパフォーマンスが向上されました (BZ#1326318)。

NIC のトンネルパフォーマンスの向上

今回の更新では、デフォルトでトンネルオフロードをサポートしないネットワークインターフェースカード (NIC) のトンネルパフォーマンスが強化されました。そのため、これらの NIC にある既存のハードウェアのオフロードを利用できるようになりました (BZ#1326353)。

カーネルでの NPT のサポート

今回の更新では RFC 6296 に定義されている IPv6-to-IPv6 Network Prefix Translation (NPTv6) 機能が Netfilter フレームワークに追加されました。そのため、IPv6 プリフィックス間のステートレスな変換に NPT を有効化できるようになりました (BZ#1432897)。

D-Bus API での DNS 設定のSupport

以前のリリースでは外部アプリケーションは、NetworkManager が使用する DNS パラメーターを簡単に取得できませんでした。今回の更新では、D-Bus API 経由での DNS 設定がサポートされたため、名前サーバーやドメインなどの DNS 関連の情報が NetworkManager の D-Bus API 経由でクライアントアプリケーションに提供されるようになりました。このようなアプリケーションの例として、DNS 設定を表示できるようになった nmcli ツールなどが挙げられます (BZ#1404594)。

PPP サポートの別パッケージへの移動

今回の更新では Point-to-Point Protocol (PPP) サポートが別のオプションの NetworkManager-ppp パッケージに移動されました。そのため、NetworkManager の依存関係チェーンが少なくなり、インストールするパッケージの数を減らすことができます。
PPP 設定を設定するには、NetworkManager-ppp パッケージがインストールされていることを確認する必要があります (BZ#1404598)。

tc ユーティリティーによる flower のサポート

tc ユーティリティーがカーネルの flower トラフィック制御分類子を使用するように強化されました。今回の更新では、インターフェースから flower 分類子ルールを追加、変更、削除できるようになりました (BZ#1422629)。

SCTP フォワーディングパスの CRC32c 値の計算に対する修正

以前のリリースでは、カーネルがオフロードをサポートしないインターフェースにパケットを転送した場合に、カーネルは、ストリームコントロールトランスミッションプロトコル (SCTP) パケットの CRC32c 値にオフロードされたチェックサムを含めて誤って計算をしていました。今回の更新ではフォワーディングパスの CRC32c の計算が修正されたため、上記の状況で SCTP パケットが正しく送信されるようになりました (BZ#1072503)。

Red Hat Enterprise Linux 7 への iperf3 の追加

今回の更新では、IP ネットワークで最大獲得可能な帯域幅をアクティブに計測する iperf3 ユーティリティー (バージョン 3.1.7) が追加されました (BZ#913329)。

OVN のインストールによる簡単に設定可能な firewalld ルールのサポート

この機能により Open Virtual Network (OVN) の firewalld 設定ルールが openvswitch パッケージに追加されます。そのため、ユーザーは firewalld を有効化していると、firewalld 設定を手動で作成する必要なしに OVN を簡単にインストールできます (BZ#1390938)。

netlink によるブリッジマスター属性のサポート

今回の更新では、ブリッジ属性が変更されると通知がリスターに送信されるようになりました。これには sysfs、rtnl、ioctl または NetworkManager などのユーザーアプリケーションによる変更を含みます (BZ#950243)。