キャンパス外からクラスターにアクセスするために openVPN を使用しています。ただし、VPN トラフィックを通過させるのは少数の ssh クライアント (Putty、WinSCP) のみにしたいです。
いくつかの投稿と wiki を読んで、openVPN には分割トンネルと呼ばれるテクニックがあることがわかりました。具体的には、.ovpn 構成ファイルの「route」コマンドはルーティング テーブルに行を作成し、パターンに一致する IP アドレスのみが VPN トンネルに送信されます。
解決策が見つかったこの投稿からログインノードの1つのIPアドレスを追加しました
route-nopull
route 128.111.123.456 255.255.255.255
そしてそれはうまくいきました。
実際、OpenVPNはホスト名を解析する接続後毎回
route-nopull
allow-pull-fqdn
route xxx.xxx.edu 255.255.255.255
ログ ファイルを確認したところ、基本的には「ルートの追加」であり、ログイン ノードの IP アドレスがルート印刷出力に表示されます。
ここで、VPNトラフィックにサブネットを追加したいのですが(サブネット内には複数のサーバーがあります)、
route-nopull
route 128.111.0.0 255.255.0.0
しかし、ログイン ノードに SSH できません。Putty はエラー メッセージ「サーバーが予期せず接続を閉じました」を表示しました。これは VPN がダウンしている場合と同じです。ログには「route add」コマンドが正常に実行されたことが示され、「route print」コマンドには正しい VPN ゲートウェイで「128.111.0.0」エントリがあることがわかります。
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 20
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
128.111.0.0 255.255.0.0 128.111.61.1 128.111.61.143 30
128.111.61.0 255.255.255.0 On-link 128.111.61.143 286
128.111.61.143 255.255.255.255 On-link 128.111.61.143 286
128.111.61.255 255.255.255.255 On-link 128.111.61.143 286
192.168.1.0 255.255.255.0 On-link 192.168.1.100 276
192.168.1.100 255.255.255.255 On-link 192.168.1.100 276
192.168.1.255 255.255.255.255 On-link 192.168.1.100 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.1.100 276
224.0.0.0 240.0.0.0 On-link 128.111.61.143 286
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.1.100 276
255.255.255.255 255.255.255.255 On-link 128.111.61.143 286
===========================================================================
設定ファイルのどこが間違っているのでしょうか?
ありがとう。
編集
投稿があります同じ問題しかし、その場合、ネットマスクが間違っているため、「route add」コマンドは正常に実行されませんでした。私は同じ間違いを犯しませんでしたが、「route print」ではネットマスク付きのIPアドレスが表示されました。
答え1
エラーメッセージに「サーバーが接続を閉じました」と表示された場合、クライアントが持っていた1つ正常に開きました。これはルーティングが正常であることを意味します(サーバーと双方向に通信できます)が、サーバーのsshd 設定ログインが受け入れられません。