designetwork

ネットワークを軸としたIT技術メモ

RDP「接続品質の評価中」・SSHコマンド応答なしをMTU調整で解決する

f:id:daichi703n:20201018234151p:plain

自宅からのVPN経由サーバリモート操作に不具合があり、いろいろ試した結果PCのMTU調整により解消したため共有。

環境情報

リモート操作不具合

リモートデスクトップ接続(RDP)

接続され認証が完了した後、「接続しています: 接続品質の評価中...」のまま進まなくなる。

f:id:daichi703n:20201018194836p:plain

f:id:daichi703n:20201018194922p:plain

SSH

SSHログインでき、応答の短いコマンドは返ってくるものの、top, cat などのコマンドを入力すると応答がなくなる。切断されるわけでもないので、ターミナルを再起動・再接続しなければならない。

[host] ~ # date
Sun Oct 18 20:07:57 JST 2020
[host] ~ # vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0 252524  74780  43756 278008    0    0     1     6    0    0  6  5 89  1  0
 1  0 252524  74740  43756 278008    0    0     1     0 34353 67951  7  5 88  0  0
[host] ~ # top
(応答なし)

[host] ~ # head /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Pentium(R) Dual  CPU  E2160  @ 1.80GHz
stepping        : 13
cpu MHz         : 1799.930
cache size      : 1024 KB
physical id     : 0
siblings        : 2
[host] ~ # cat /proc/cpuinfo
(応答なし)

原因

パケットキャプチャ・ログ解析ができておらず詳細動作は不明だが、私の環境ではMTU値の影響で通信不可となっていたと思われる。Cisco AnyConnectインタフェースのMTU値が小さくなるよう、NICのMTU値を小さく調整することにより、RDP、SSHとも問題なく動作可能となった。

MTU調整

最適MTU値確認

http://www.speedguide.net/analyzer.php SG TCP/IP Analyzer - SpeedGuide.net などを使用して、環境の最適なMTU値を確認する。ちなみに、SoftbankIPv4 over IPv6では1460byteだった。一般的なPPPoEの1454byteから変わっている。

f:id:daichi703n:20201018204024p:plain

MTU値変更

管理者としてPowershellを起動する。

netsh interface ipv4 show interfaceコマンドで対象インタフェースの番号(Idx)を確認する。ここでは21

PS C:\WINDOWS\system32> netsh interface ipv4 show interface

Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
 21          35        1500  connected     Wi-Fi
 22           1        1406  connected     イーサネット 2

イーサネット 2Cisco AnyConnect VPN

netsh interface ipv4 set interface <Idx> mtu=<MTU>でインタフェースのMTU値を変更する。

PS C:\WINDOWS\system32> netsh interface ipv4 set interface 21 mtu=1460
OK

VPN使用時は再接続することにより再計算され反映される。

PS C:\WINDOWS\system32> netsh interface ipv4 show interface

Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
 21          35        1460  connected     Wi-Fi
 22           1        1390  connected     イーサネット 2

問題解消

これにより、上記のRDP、SSHとも問題なく動作可能となった。


参考情報

iPhoneテザリングは問題なし

iPhoneテザリング(Softbank回線)で接続した際は、MTU調整の必要なく(1500のままで)通常動作可能だった。ちなみに最適MTUは1450。

f:id:daichi703n:20201018210438p:plain

Cisco AnyConnect MTU境界

私の環境では、以下の通りAnyConnectのMTUが変わった。

NIC AnyConnect
1500 1406
... ...
1472 1406
1471 1390
... ...
1456 1390
1455 1374

まとめ - RDP「接続品質の評価中」・SSHコマンド応答なしをMTU調整で解決する

PC NICのMTUを最適値に変更することで、RDP・SSHの通信不具合を解消することができた。