LoginSignup
31
27

More than 5 years have passed since last update.

OpenVPNに接続したときに、接続が不安定になる問題を解消する

Last updated at Posted at 2016-08-25

OpenVPNに接続したときに、接続が不安定になる問題を解消する(かもしれない)方法

OpenVPNのVPNに接続するとなぜか接続が不安定になるときがありますよね。その原因の一つにMTUやMSSが影響している場合があります。

間違ったMTUの症状

  • 通信速度が遅い
    • ブラウザがずっとぐるぐるで進まない
  • HTTP経由のリソースがちゃんとダウンロードされない
    • CSSやJSが部分的にしか読み込まれない

正しいMTUを特定する

正しいMTUを発見するのは簡単で、下記のpingコマンドを使います。

MacOS

ping -D -v -s 1500 -c 1 www.example.com

Windows

ping -n 1 -l 1500 -f www.example.com

Linux

ping -M do -s 1500 -c 1 www.example.com

pingが成功するまで1500を10ずつ減らしてください。

ping失敗例

packet lossに100%なります。

❯ ping -D -v -s 1500 -c 1 www.example.com

PING www.example.com (93.184.216.34): 1500 data bytes
ping: sendto: Message too long
^C
--- www.example.com ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
❯ ping -D -v -s 1450 -c 1 www.example.com

PING www.example.com (93.184.216.34): 1450 data bytes
556 bytes from ntt.setup (192.168.1.1): frag needed and DF set (MTU 1454)
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 c605 dc0f   0 0000  40  01 61a1 192.168.1.3  93.184.216.34

^C
--- www.example.com ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss

ping成功例

packet lossが0%になります。

❯ ping -D -v -s 1420 -c 1 www.example.com

PING www.example.com (93.184.216.34): 1420 data bytes
1428 bytes from 93.184.216.34: icmp_seq=0 ttl=57 time=112.735 ms

--- www.example.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 112.735/112.735/112.735/0.000 ms

OpenVPNのMSSの設定を修正する

OpenVPNでは、MSSと呼ばれる値を設定する必要があります。MSSは、MTUから40を引いた値です。

たとえば、MTUが1340の場合、MSSは1300です。

MSS = MTU  - 40
MSS = 1340 - 40
MSS = 1300

.ovpnファイルを開き、最後の行に下記設定を一行追加する。

mssfix 1300

で設定を再読み込みしてVPNに接続すると安定する(かもしれない)

31
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
27