Windows向け : vpnux Clientで指定したIPアドレスだけをVPN経由にする / AlmaLinux9.4 on さくらのVPS
篠原 隆司
アフィリエイト広告を利用しています
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です
さくらのVPS 2G にAlmaLinux9.4をインストールした覚書です。
ここまででVPNサーバへの接続までできました。
ただこのままでは、VPNを通る通信はありません。
すべての接続をVPN経由にするか
指定したIPアドレス宛だけをVPN経由にするか
利用目的により
なお本番環境で利用される場合はここにある内容だけを鵜呑みにせずセキュリティ専門家に相談されることをお勧めします。
環境
実施日 | 2024-06-21 |
サーバ | さくらのVPS 2G |
OS | AlmaLinux9.4 |
cat /etc/redhat-release
AlmaLinux release 9.4 (Seafoam Ocelot)
OpenVPNサーバー側の確認
クライアントの設定を進める前に、予備知識としてサーバー側を確認しておきます。
OpenVPNのデフォルトゲートウェイを確認
vi /etc/openvpn/server/server.conf
これまでの手順どおりに行っていれば、下記のような記述が見つかると思います。
server 10.8.0.0 255.255.255.0
この場合は 10.8.0.1 がデフォルトゲートウェイになります。
VPNサーバーがネットワークの最初のアドレスを使用するためです。
次のコマンドからでも 10.8.0.1 であることが確認できます。
ip addr show tun0
すべての通信をVPN経由にする
まずはすべての通信をVPNにして諸々の動作確認を行います。
ここでVPN接続に問題がなければ、サーバ側の設定は正しいということになります。
IPアドレスを指定したり制限を付ける場合には、サーバー側の問題かクライアント側の問題か切り分けるためにすべての接続をVPN経由にできるかどうか確認しておくことをお勧めします。
すべての通信をVPN経由にしたい場合は、プロファイルの編集から簡単に設定できます。
▼「すべてのトラフィックをVPNにリダイレクト」にチェックを入れます。
こちらでVPN接続を行い、確認くんなど接続情報表示サービスにアクセスして確認します。
https://www.ugtop.com/spill.shtml
うまくいっていれば、VPNサーバのIPアドレスが表示されているはずです。
すべての接続をVPN経由にしたい場合はここまででOKです。
IPアドレスを指定してVPN経由にする
接続先を限定して一部だけをVPNアクセスにしたいことがあります。
SSH接続やFTP接続でIPアドレス制限をしている場合に固定IPアドレスが欲しくなる時もあると思います。
プロファイルの確認
プロファイルは次のように設定します。
「一般設定」のほうは Windows向け : vpnux Client でOpenVPNのクライアント設定 / AlmaLinux9.4 on さくらのVPS で設定したとおりです。
VPNのアドレスを知る
まずはVPNに接続します。
▼接続できたら常駐アイコン(Windows右下の時計のところ)からvpnux Clientのアイコンを右クリックし「表示」をクリック
▼下図の「VPNアドレス」を使います。
ここでは説明の都合上「10.8.0.6」が表示されていることとして進めます。
適宜読みかえてください
管理者権限でコマンドプロンプトを起動
Windowsキーを押すかWindowsアイコンをクリック
▼「コマンドプロンプト」で検索
▼「管理者として実行」をクリック
現在の設定を確認
route print
ルートテーブルが表示されます。
▼ IPv4 ルートテーブルに注目します
上記で確認した自分のVPNアドレスが含まれていると思います。
ここでは 10.8.0.6 です。
ということで、10.8.0.x の最初である 10.8.0.1 を見ます。
10.8.0.1 の行の「ゲートウェイ」は 10.8.0.5 です。
ここで見つけた 10.8.0.5 が次のステップで必要になります。
※構成により異なるIPアドレスになっている場合もありますが、見つけ方は同じです。
相手先IPアドレスを指定してVPNに向ける
FTPだけだからとか、WEBだけだから、ではなく、対象のIPアドレス向けはすべて、という設定になります。
# 説明
# -p を付けることで永続化、付けない場合は再起動で消える
route -p add 接続先IPアドレス mask 255.255.255.255 VPNアドレス
変数にセットしておきます。
VPN_ADDRESS=10.8.0.5
(例) 192.168.5.10 への接続をVPN経由にするとき
route -p add 192.168.5.10 mask 255.255.255.255 $VPN_ADDRESS
(例)192.168.5.11 / 192.168.5.12 / 192.168.5.13 の3カ所をVPN経由にするとき
route -p add 192.168.5.11 mask 255.255.255.255 $VPN_ADDRESS
route -p add 192.168.5.12 mask 255.255.255.255 $VPN_ADDRESS
route -p add 192.168.5.13 mask 255.255.255.255 $VPN_ADDRESS
確認くんで試してみる
確認くんという接続情報を表示するサービスがあります。
ここにアクセスして確認してみましょう。
https://www.ugtop.com/spill.shtml
まずはこちらのページのドメインからIPアドレスを調べます。
▼コマンドプロンプトから下記のコマンドを入力してEnter
nslookup www.ugtop.com
※ドメインとIPアドレスの対応は変わることがありますので、毎回毎回IPアドレスの確認をすることをお勧めします。
# -p は付けない = 再起動で元に戻る
route add 219.94.129.26 mask 255.255.255.255 $VPN_ADDRESS
追加したら、ブラウザから確認くんにアクセスして確認してみましょう。
VPNサーバのIPアドレスが出てきたら成功です。
現在の設定を確認
追加した内容が反映されていることを確認
route print
設定を削除する
設定を間違えて書き直す場合は、削除して登録、という手順になります。
route delete 削除したいIPアドレス
たまにインターフェースが意図しないものになることがあります。
その場合は、削除して登録しなおすと解消します。
「IF」をつけてインターフェースを明示する方法もあるのですが、うまく反映できなかったので、削除して登録しなおすが良いです。
余談
IPアドレスを確認する
ipconfig
デフォルトゲートウェイは空欄になっています。
プロファイルの設定で「すべてのトラフィックをVPNにリダイレクト」をオフにするとデフォルトゲートウェイは空欄になります。