Linux Ubuntu クライアント マシンから SSH 経由で Linux Ubuntu サーバーにアクセスしようとします。
クライアントとサーバーが同じネットワーク内にある場合、すべて正常に動作しますが、VPN - openVPN 経由でリモートでサーバーにアクセスしようとすると、mc-midnight commander などの全画面アプリケーションが正しく表示されず、表示された画面の右上隅の文字しか表示されず、キーボード操作が機能しないようです。
また、単純なテキスト ファイルに対して発行された cat コマンドは、出力を表示せずにターミナルをハングさせます。
不思議なことに、Android OpenVPN クライアントと Android SSH クライアントを使用して Android フォンから VPN 経由で同じサーバーにアクセスすると、すべて正常に動作します。
私の Ubuntu クライアント マシンでは、TERM 環境変数は「xterm-256color」に設定されていますが、Android フォンでは「linux」に設定されています。SSH セッションを開始する前に、Ubuntu クライアントで「linux」に設定しようとすると、SSH セッション内ではターミナルが実際には「linux」に設定されていることがわかりますが、効果はありません。
Ubuntu クライアントでも Putty 経由で接続してみましたが、結果は同じでした。
これが起こる理由について何か手がかりはありますか?
前もって感謝します!
答え1
さて、私は最終的に、ここにある OpenVPN マニュアルを読んでこの問題の解決策を見つけました。
https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/
この問題は、パス MTU 検出が正しく機能していないことに関連しているようです。
「--fragment と --mssfix はどちらも、OpenVPN ピア間のネットワーク パスでパス MTU 検出が壊れている場合を回避するように設計されています。
このような障害の一般的な症状は、OpenVPN 接続が正常に開始されるものの、アクティブな使用中に停止することです。--fragment と --mssfix を一緒に使用すると、--mssfix は --fragment max オプションからデフォルトの最大パラメータを取得します。
したがって、次のオプションを使用して、最大 UDP パケット サイズを 1300 に下げることができます (MTU 関連の接続問題を解決するための最初の試みとして適切です)。
--tun-mtu 1500 --fragment 1300 --mssfix "
サーバー側とクライアント側の両方にこれら 2 つのオプションを追加すると、問題は解決しました。
これが役に立つことを願っています。