背景
Synology NAS用のOpenVPNパッケージの喜びはすぐに消えてしまいました。 小規模オフィス用のネットワークをセットアップする試みは、ほとんど開始することなく終了しました。 パッケージを構成するためのインターフェースには、このパッケージ自体のすべての魅力がありませんでした(ログインとパスワードによる認証のみが利用可能です)。
最近、私は記事に出くわしました:
「証明書認証を使用してトラフィックをOpenVPNトンネルにルーティングするようにNAS Synologyに教えます。
必要なもののようです。 しかし!
判明したように、ファームウェアの腸へのそのような「実際の」介入でも、TAPインターフェースを介した接続を上げることはできません。
じゃあ 途中で停止しないでください...
問題の本質
上記の記事で示されているように、TAPアダプターのタイプのみですべてを実行すると、次の効果が得られます。
1. VPN接続を選択し、接続をクリックします。
2. SSHセッションでは、トンネルが上昇し、サーバーが応答し、データが到着していることがわかります。 しかし、Synologyインターフェースは「接続」があることを教えてくれます。
3. 15〜20秒後、インターフェイスは接続に失敗したことを丁寧に通知し、動作中の接続を閉じます。
何が起こっているかを詳細に調査した結果、デバイスのすべてのスクリプトで、OpenVPN接続のステータスを決定するアルゴリズムが規定されており、TUNにしかなれないという事実に基づいています。
これは、スクリプト内のすべてのコメントでも証明されています。
問題解決
この記事の執筆時点では、DMS 5.0-4493 Update 1がデバイスにインストールされています。
したがって、ここで説明するすべては
彼女に関連しています。
スクリプトの管理の利便性のために、管理ネットワーク共有にすべてを保存することが決定されました。
その上にOpenVPNフォルダーを作成します。これには、クライアントが機能するために必要なすべてが含まれます。
1. OpenVPN構成ファイル「tap.conf」:
dev tap proto udp remote ServerIP 444 client tls-client ns-cert-type server ca key/ca.crt cert key/Client1.crt key key/Client1.key comp-lzo yes tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ping-restart 12 ping 3 status log/openvpn-status.log log log/openvpn.log script-security 2 float
2.証明書フォルダー:「キー」
3.ログのあるフォルダー:「log」
4.スクリプトがVPNを開始/停止します。
Start.sh(トンネルスタート):
nf_conntrack_ipv4.ko nf_nat.ko iptable_nat.ko ipt_REDIRECT.ko xt_multiport.ko xt_tcpudp.ko xt_state.ko ipt_MASQUERADE.ko tun.ko"
Stop.sh(トンネル停止):
OnLine.sh(サーバーが利用できない場合、トンネルを再起動します):
一般に、これで十分です。
テストが示すように、インターネットまたはリモートサーバーが切断されると、VPNは自動的に正常に再起動します。 OnLineスクリプトは、NASとともにVPNを自動的に開始するために作成されました。 しかし、フルタイムスケジューラを使用すると、スクリプトの実行を「1時間ごと」に追加できるため、可用性チェックを追加しました。
この実装では、NASファームウェアはトンネルについてはわかりませんが(それは良いことです)、同時にリモートネットワークのすべてのリソースが利用可能です(VPNからIPへのネットワークバックアップは正常に機能します)。