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
OSAlmaLinux9.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アドレス」を使います。

管理者権限でコマンドプロンプトを起動

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

余談

IPアドレスを確認する

ipconfig

デフォルトゲートウェイは空欄になっています。

プロファイルの設定で「すべてのトラフィックをVPNにリダイレクト」をオフにするとデフォルトゲートウェイは空欄になります。