第31章 ネットワーク
SNMP 応答がタイムアウトしなくなる
以前は、SNMPv3 メッセージに続くすべての Simple Network Management Protocol バージョン 1 (SNMPv1)および SNMPv2c 応答が、最後に記録された SNMPv3 max message size プロパティーに対してチェックされていました。これにより、最大 メッセージサイズ が小さい SNMPv3 要求により、SNMPv1 および SNMPv2c の一括要求がタイムアウトになる可能性がありました。今回の更新で、SNMPv3 要求でのみセッションの最大メッセージサイズが確認され、SNMPv1 および SNMPv2c の応答のタイムアウトがなくなりました。(BZ#1324306)
ICMP リダイレクトでカーネルがクラッシュしなくなる
以前は、ソケットがユーザー空間と Internet Control Message Protocol (ICMP) リダイレクトパケットのプロセスとの間でロックされず、競合状態が発生していました。その結果、カーネルが予期せず終了しました。このバグは、ソケットがユーザー空間でロックされているときに ICMP リダイレクトパケットのプロセスをスキップすることで修正され、上述の問題は発生しなくなりました。(BZ#1387485)
net.ipv4.ip_nonlocal_bind カーネルパラメーターは名前空間で設定されます。
以前は、ネットワーク名前空間内でフローティング IP アドレスを使用すると、次のエラーメッセージが表示されて失敗する場合がありました。
bind: Cannot assign requested address.
今回の更新で、カーネルは名前空間での net.ipv4.ip_nonlocal_bind パラメーターの設定を
1
に尊重し、フローティング IP アドレスが期待どおりに割り当てられるようになりました。(BZ#1363661)
netfilter REJECT
ルールが SCTP パケットで動作するようになりました。
以前は、
conntrack
ツールは Stream Control Transmission Protocol (SCTP)パケットの CRC32c
値を確認しませんでした。そのため、netfilter REJECT
ルールは SCTP パケットで期待どおりに適用されませんでした。このバグは、有効な CRC32c
を持つ SCTP パケットに CHECKSUM_UNNECESSARY
を設定して修正されています。その結果、netfilter REJECT
は Internet Control Message Protocol (ICMP)応答を生成できます。(BZ#1353218)
NetworkManager
が設定済みの DHCP_HOSTNAMEとの接続を複製しなくなりました。
以前は、
NetworkManager
サービスの再起動後に、設定済みの DHCP_HOSTNAME プロパティーとの接続が重複していました。したがって、DHCP リースの有効期限が切れたときに、常に更新されるとは限りませんでした。この更新により、接続が複製されなくなり、このシナリオで DHCP リースが正しく更新されます。
この修正では、一致するプロセスで設定済みのホスト名プロパティーが無視されることに注意してください。発生する可能性のある問題を回避するには、誤った
ipv4.dhcp-hostname
で未使用の接続をすべて削除します。詳細は、https://access.redhat.com/articles/2948041 を参照してください。(BZ#1393997)
改善された SCTP congestion_window
管理
以前のバージョンでは、小さなデータチャンクにより、ゼロウインドウからのリカバリー時に Stream Control Transmission Protocol (SCTP)の値が
receiver_window
(rwnd)の値を誤って考慮していました。そのため、ウィンドウの更新はピアに送信されず、rwnd
が人為的に増加するとパケットドロップが発生する可能性がありました。今回の更新で、このような小さなデータチャンクが適切に考慮され、ウィンドウを再度開くときに rwnd
pressure 値は無視されます。その結果、ウィンドウの更新が送信されるようになり、アナウンスされた rwnd
は、受信バッファーの実際の状態をより適切に反映するようになりました。(BZ#1084802)
DCTCP alpha
の値は 0 にドロップし、cwnd
は 137 を超える値に残ります。
以前は、データセンター TCP (DCTCP)の
alpha
値は減算前にシフトしていたため、精度が低下していました。その結果、実際の alpha
値は 15 未満ではなく、最終的には congestion_window
(cwnd
)値にドロップされました。このバグは、alpha
が少ない場合にシフト操作をキャンセルすることで修正されました。その結果、alpha
は 0 にドロップし、cwnd
は明らかなフローの 137 を超える値に残ります。(BZ#1370638)
ss
が cwnd を正しく表示
以前は、
ss
ユーティリティーは、カーネルからの Transmission Control Protocol congestion window (TCP cwnd)値を表示し、未署名から署名済みの 32 ビット整数にキャストを実行していました。結果として、一部の値はオーバーフローし、負の値として解釈される可能性があります。今回の更新で、ss
コードが修正され、ユーティリティーに負の cwnd 値が表示されなくなりました。(BZ#1375215)
cwnd
の値が DCTCP を使用して増加しなくなりました。
以前は、パケットロス後に
congestion_window
(cwnd
)が予想外に増加していました。その結果、データセンターの TCP (DCTCP) 輻輳制御モジュールは、同じフローで繰り返し問題が発生したため、輻輳の回避には効果がなくなりました。今回の更新で、cwnd
値は損失時に保存され、古い値はリカバリーで復元されます。その結果、cwnd
は安定した状態を維持します。(BZ#1386923)
負の範囲の一致が修正されました。
以前では、否定一致の値の範囲を使用しても、true と評価されることはありませんでした。今回の更新で、このような一致が期待どおりに機能するようになりました。以下に例を示します。
# nft add rule ip ip_table filter_chain_input ip length != 100-200 drop
100
バイトよりも小さいパケット、または 200
バイトより大きいパケットを正しく破棄するようになりました。(BZ#1418967)
nmcli connection show コマンドが、empty
と NULL
の両方の値に正しい出力を表示するようになりました。
以前は、nmcli connection show コマンドの出力は、異なるプロパティー間で
empty
および NULL
の値を一貫して表示しませんでした。その結果、空
の値は --
または値なしで表示されました。今回の更新で、nmcli connection show コマンドの出力に、normal
モードまたは pretty
モードの 空
の値と NULL
値の両方に --
が表示されます。
snmpd
が AgentX サブエージェントからの大きなパケットを拒否しなくなりました。
以前では、SNMP デーモン (snmpd) により、AgentX サブエージェントから送信されるパケットのサイズが 1472 バイトに制限されていました。これにより、
snmpd
が AgentX サブエージェントからの大きなパケットを拒否していました。パケットサイズの制限が 65535 バイトに引き上げられました。その結果、snmpd
は AgentX サブエージェントからの大きなパケットを拒否しなくなりました。(BZ#1286693)
macvlan
を正しく登録解除できるようになりました。
以前は、
Macvlan
ドライバーの登録を解除しようとすると、別の名前空間のデバイスとの間の sysfs
リンクが破損して失敗していました。今回の更新で、Macvlan
が修正され、このバグが修正されました。(BZ#1412898)