レ点腫瘍学ノート

日記/2021年/11月10日/Synology NASのDSM 7.0でOpenVPNが繋がらなくなった問題 の履歴ソース(No.1)

#author("2021-11-10T23:14:34+09:00;1970-01-01T18:00:00+09:00","default:tgoto","tgoto")
自宅でSynology NASを使っています。そしてSynologyのアプリでVPN serverを立てて、外出先からファイルにアクセスする場合はVPNで自宅に接続していました。それがDSM 6からDSM 7.0にアップデートしたらどういうわけか自宅のネットワークにアクセスできなくなり復旧に苦労しました。このページはその記録です。

* 環境 [#v6750e70]

- Synology NAS(DSM 7.0)
- 自宅ネットワーク:光回線 IPV6 IPoE(BIGLOBE光)
- ルータ:NEC Aterm WG1200HP4(自宅内MESH)
- OpenVPN

ルータはOpenVPNに必要なポートを開いています。OpenVPNのポートは標準では1194ですが、IPV6 IPoEの場合はプロバイダ側から割り当てられた範囲のポートしか開放できないので、その範囲内のポートを開いています。ちなみに、L2TP/IPsecやPPTPはポート番号が選べないのでIPV6 IPoEで使用するのは大変です。

NEC Aterm WG1200HP4の設定画面から「ポートマッピング設定」を選択し、NATエントリに下記のような設定をしています。ここでは例としてルータのLAN内IPアドレスが192.168.0.XXXであり51194ポートを開放する場合を記載します。

|優先度|LAN側ホスト|プロトコル|変換対象ポート|宛先ポート|
|1|192.168.0.XXX|UDP|51194|1194|
|2|192.168.0.XXX|TCP|51194|1194|

DSM 6時代はSynology DSMからVPN serverを開いてOpenVPNで問題なく接続できていました。しかし、DSM 7.0にアップデートすると突然VPNでLAN内ネットワークに接続ができなくなってしまいました。正確には、VPN接続自体は確立できるので接続自体はできているのですが、LAN内のファイルフォルダにもアクセスできないし自分用に立てている自宅内pukiwikiにもアクセスできません。Synology NASのファイアウォールを一時的にオフにしてみたり、51194以外のポートを試しに開けてみたりしても繋がりません(つまりファイアウォールをオフにしたり、51194以外のポートを開放する必要は全くありません)。Synology NASのファイアウォールは、NASを直接インターネットに接続しない限りは、LAN内ではファイアウォールは初期設定のままで問題ないと思います。redirect-gateway def1をコメントアウトしたり元に戻したり(つまり全通信をVPN経由にしたり)、dhcp-option DNS 192.168.0.XXXをオフにしたりオンにしたり、圧縮をオンにしたりオフにしたり、暗号化形式を変えてみたりしたのは、結局全て無駄でした。

* UDPをTCPにしたら繋がった [#q0f9fd26]

色々試してみても繋がらなかったので、UDPをTCPにしたら接続が安定したという記事を見てついにVPNの接続方式もTCPに変更してみました。UDPがTCPに変わるとOpenVPN設定ファイル(ovpnファイル)も再度エクスポートしてOpenVPNアプリにインポートし直す必要があります。うーむ、つまりDSM 6のときはUDPで接続できていたのにDSM 7.0になることでなぜかUDPでは(VPN接続自体は確立できるが)ファイルアクセスなどは不安定になってしまっていたと・・・。

* UDPでもMssfixオプション値を下げると繋がった [#v07ae739]

しかし犯人がUDPだとわかっても、なぜ今までUDPで問題なくLAN内ファイルサーバーなどにアクセスできていたのに急にそれが不安定になったのかよくわかりません。OpenVPNのチューニングに関するブログを見ながらUDPの中で設定を色々といじってみると、Mssfix値を変えることで通信が安定することがわかりました。

#ogp(https://kt-hiro.hatenablog.com/entry/20171227/1514329162)

これまでUDPではMssfix値は1450に設定していました。しかし、これが高いとUDP通信が不安定となることがわかったのです(ちなみにMssfix値はUDPのみに影響し、TCPには関与しません)。試しに最初は1350に下げてみましたところUDPでも接続しNASファイルサーバーのファイルをダウンロードできるようになったので、少しずつMssfix値を上げてゆき、最終的には1400にしても十分通じました。