自宅からのVPN経由サーバリモート操作に不具合があり、いろいろ試した結果PCのMTU調整により解消したため共有。また、同問題で通信が遅いサイトも動作が改善された。
環境情報
- Client
- Server
- Cisco ASA VPN経由
- Windows Server 2012 R2
- Linux全般
リモート操作不具合
リモートデスクトップ接続(RDP)
接続され認証が完了した後、「接続しています: 接続品質の評価中...」のまま進まずRDP接続できない。
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 (応答なし)
ORA-03113
Oracle DBへの接続エラーとなる。
ORA-03113 end-of-file on communication channel
原因
パケットキャプチャ・ログ解析ができておらず詳細動作は不明だが、私の環境ではMTU値の影響で通信不可となっていたと思われる。Cisco AnyConnectインタフェースのMTU値が小さくなるよう、NICのMTU値を小さく調整することにより、RDP、SSHとも問題なく動作可能となった。
MTU調整
最適MTU値確認
http://www.speedguide.net/analyzer.php SG TCP/IP Analyzer - SpeedGuide.net などを使用して、環境の最適なMTU値を確認する。ちなみに、Softbank光IPv4 over IPv6では1460byteだった。一般的なPPPoEの1454byteから変わっている。
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
イーサネット 2 がCisco AnyConnect VPN。
netsh interface ipv4 set interface <Idx> mtu=<MTU>
でインタフェースのMTU値を変更する。
PS C:\WINDOWS\system32> netsh interface ipv4 set interface 21 mtu=1454 OK
VPN使用時は再接続することにより再計算され反映される。
PS C:\WINDOWS\system32> netsh interface ipv4 show interface Idx Met MTU 状態 名前 --- ---------- ---------- ------------ --------------------------- 21 35 1454 connected Wi-Fi 22 1 1374 connected イーサネット 2
問題解消
これにより、上記のRDP、SSHとも問題なく動作可能となった。また、一部の通信が遅いサイトも動作が改善された。
参考情報
iPhoneテザリングは問題なし
iPhoneテザリング(Softbank回線)で接続した際は、MTU調整の必要なく(1500のままで)通常動作可能だった。ちなみに最適MTUは1450。
Cisco AnyConnect MTU境界
私の環境では、以下の通りAnyConnectのMTUが変わった。
NIC | AnyConnect |
---|---|
1500 | 1406 |
... | ... |
1472 | 1406 |
1471 | 1390 |
... | ... |
1456 | 1390 |
1455 | 1374 |