「SoftEther VPNの構築」で組み上げたL2ブリッジVPNへ、実際に外出先の端末から接続する側の手順をまとめたページです。接続前後で何が変わるのか、IPアドレスはどうなるのか、接続すると何ができるのか、切断時に何に気をつけるべきかを、図解と実機検証の記録つきで解説します。
本ページの位置づけについて
サーバー構築手順はSoftEther VPNの構築ページを参照してください。本ページはクライアント側(接続する側)の運用記録です。Linuxでの手順は実機で動作確認済みですが、Windowsでの手順はSoftEther公式クライアントの一般的な操作方法に基づく参考手順です。実際に構築・接続する場合は、必ずSoftEther VPN公式サイトの最新情報もあわせて確認してください。
目次
1. 全体像:接続前後で何が変わるか
まず、外出先の端末からVPNサーバーまでの通信経路と、接続前後でクライアント側に何が起きるのかを1枚の図にまとめます。
ポイントは、VPNクライアントに新しく増える仮想LANカードが、自宅LANの機器と全く同じセグメントのIPアドレスをDHCPで取得する点です。これにより、VPN接続後は「自宅に物理的に居るのと同じ状態」で他の機器へアクセスできます。
2. 接続〜切断の状態遷移
「接続」は一瞬で完了するわけではなく、実際には複数の段階を踏みます。特に「VPNセッションは繋がったのに、まだ自宅LANへの通信は安定しない」という中間状態があることを知っておくと、あとの章で説明する「接続直後は少し待つ」という注意点が理解しやすくなります。
③の段階で一時的にpingが失敗するのは正常
IP取得直後(②→③の間)は、自宅ルーター等へのpingが一瞬Destination Host Unreachableになることがあります。ブリッジ側のARP解決がまだ済んでいないためで、10秒ほど待って再度pingすれば通ります。異常ではありません。
3. Windowsから接続する
SoftEther VPN公式サイトから「SoftEther VPN Client」をインストールした状態を前提にします。
接続設定の作成(初回のみ)
- 「SoftEther VPN Client 管理マネージャ」を起動
- 「新しい接続設定の作成」を選択
- 接続設定名(例:
my_vpn)、接続先VPNサーバー(ホスト名と<VPN待受ポート番号>)、仮想HUB名(VPN)、ユーザー認証情報を入力して保存
接続する
作成した接続設定をダブルクリックすると接続が始まります。コマンドで行う場合は次の通りです(vpncmd.exeはSoftEther VPN Clientのインストール先フォルダにあります)。
cd "C:\Program Files\SoftEther VPN Client"
vpncmd.exe localhost /CLIENT /CMD AccountConnect my_vpn
vpncmd.exe localhost /CLIENT /CMD AccountStatusGet my_vpn
接続確認
ipconfig /all
ping 192.168.1.1
「SoftEther VPN Client Adapter」等の名前の仮想アダプタに192.168.1.xのアドレスが付与され、自宅ルーター(192.168.1.1)へのpingが通れば成功です。すぐに失敗する場合は2章の通り10秒ほど待って再試行してください。
切断する
vpncmd.exe localhost /CLIENT /CMD AccountDisconnect my_vpn
4. Linuxから接続する
Ubuntu 24.04でのSoftEther VPN Client(/usr/local/vpnclient、vpnclient.service常駐)を前提にした、実際に検証済みの手順です。
接続する
sudo /usr/local/vpnclient/vpncmd localhost /client /cmd AccountConnect my_vpn
sudo /usr/local/vpnclient/vpncmd localhost /client /cmd AccountStatusGet my_vpn
sudo dhclient vpn_vpn0
ip -4 addr show vpn_vpn0
inet 192.168.1.xxx/24が表示されればIP取得成功です。仮想LANカードはNetworkManagerの管理対象外のため、dhclientでの手動取得が必要です。
接続確認
ping -c 3 192.168.1.1
2章の通り、直後は失敗することがあります。10秒ほど待って再実行してください。
切断する
sudo /usr/local/vpnclient/vpncmd localhost /client /cmd AccountDisconnect my_vpn
sudo dhclient -r vpn_vpn0
sudo ip addr flush dev vpn_vpn0
下2行(IPアドレスの解放)は8章で説明する事故を防ぐために必須です。
5. デスクトップアイコン化(Windows)
毎回コマンドやマネージャー画面を開くのは手間なので、ダブルクリックone発で接続・切断できるアイコンを作ります。
接続用バッチファイルを作成
デスクトップ等にvpn_connect.batという名前でテキストファイルを作成し、以下を貼り付けます。
@echo off
cd /d "C:\Program Files\SoftEther VPN Client"
echo === SoftEther VPN (my_vpn) へ接続 ===
vpncmd.exe localhost /CLIENT /CMD AccountConnect my_vpn
vpncmd.exe localhost /CLIENT /CMD AccountStatusGet my_vpn
echo === 10秒待ってから疎通確認します ===
timeout /t 10 /nobreak
ping 192.168.1.1
pause
切断用バッチファイルを作成
同様にvpn_disconnect.batを作成します。
@echo off
cd /d "C:\Program Files\SoftEther VPN Client"
echo === SoftEther VPN (my_vpn) を切断 ===
vpncmd.exe localhost /CLIENT /CMD AccountDisconnect my_vpn
pause
参考:管理者権限が必要な場合
環境によってはvpncmd.exeの実行に管理者権限が必要になることがあります。その場合はバッチファイルを右クリック→「管理者として実行」するか、ショートカットのプロパティから「管理者として実行」を常時有効にしてください。また、実行時に一瞬表示される黒いコンソール画面が気になる場合は、同じ処理を.vbsファイルで包んで隠す方法もあります(発展的な内容のため本ページでは割愛します)。
6. デスクトップアイコン化(Linux/GNOME、実機検証済み)
Ubuntu(GNOME)で、ダブルクリックすると接続・切断が実行される.desktopアイコンを作成した例です。実際にこの構成で動作確認済みです。
接続スクリプト本体:~/vpn_connect.sh
#!/bin/bash
sudo /usr/local/vpnclient/vpncmd localhost /client /cmd AccountConnect my_vpn
sudo /usr/local/vpnclient/vpncmd localhost /client /cmd AccountStatusGet my_vpn
sleep 2
echo "=== vpn_vpn0 にDHCPでIPを取得 ==="
sudo dhclient vpn_vpn0
echo "---- IPアドレス ----"
ip -4 addr show vpn_vpn0
echo "---- ARP解決待ちのため10秒待ってから疎通確認します ----"
sleep 10
ping -c 3 192.168.1.1
chmod +x ~/vpn_connect.sh
切断スクリプト本体:~/vpn_disconnect.sh
#!/bin/bash
echo "=== SoftEther VPN (my_vpn) を切断 ==="
sudo /usr/local/vpnclient/vpncmd localhost /client /cmd AccountDisconnect my_vpn
sudo /usr/local/vpnclient/vpncmd localhost /client /cmd AccountStatusGet my_vpn
echo "=== vpn_vpn0 のIP/ルートを解放(残骸によるLAN通信障害を防ぐため) ==="
sudo dhclient -r vpn_vpn0 2>&1 || true
sudo ip addr flush dev vpn_vpn0 2>&1 || true
chmod +x ~/vpn_disconnect.sh
切断時にIPアドレスを解放する2行は、8章で説明する事故を防ぐために必須です。
「接続」アイコン本体:~/デスクトップ/SoftEther VPN接続.desktop
[Desktop Entry]
Type=Application
Name=SoftEther VPN接続
Comment=自宅ラボへSoftEther VPN(my_vpn)で接続します
Exec=bash -c "/home/USERNAME/vpn_connect.sh; echo; echo '終了しました。何かキーを押すとウィンドウを閉じます...'; read -n1"
Icon=network-vpn
Terminal=true
Categories=Utility;
「切断」アイコン本体:~/デスクトップ/SoftEther VPN切断.desktop
[Desktop Entry]
Type=Application
Name=SoftEther VPN切断
Comment=SoftEther VPN(my_vpn)を切断します
Exec=bash -c "/home/USERNAME/vpn_disconnect.sh; echo; echo '終了しました。何かキーを押すとウィンドウを閉じます...'; read -n1"
Icon=network-offline
Terminal=true
Categories=Utility;
USERNAMEは実際のログインユーザー名に置き換えてください。作成後は実行権限を付与します。
chmod +x ~/デスクトップ/"SoftEther VPN接続.desktop" ~/デスクトップ/"SoftEther VPN切断.desktop"
初回ダブルクリック時の確認ダイアログ
GNOMEでは初回、「信頼されていない実行可能ファイルです」という確認が出ることがあります。アイコンを右クリック→「起動を許可する」を選べば、以降はダブルクリックだけで実行できます。
7. 接続すると何ができるか
自宅LANの一員として振る舞えるため、以下が特別な設定なしにそのまま行えます。
- 自宅内の他の機器(NAS・プリンター・ルーター管理画面等)へ、普段と同じLAN内IPアドレスで直接ping・アクセスできる
- SMB(ファイル共有)へ、LAN内にいる時と同じ手順・同じアドレスでアクセスできる
- L2(イーサネットフレームそのもの)を橋渡ししているため、ブロードキャストを前提にした機器発見(NASの検出等)もLAN内にいる時と同様に機能する
8. 実機検証で分かった注意点
L2ブリッジ方式は自宅LANと完全に同じセグメントを使う設計であるがゆえに、以下2つの問題が実際に発生することを確認しています。
① 切断し忘れたまま別のネットワークへ移動すると、通常のLAN通信まで壊れる
5・6章のIP解放手順をせずに、例えば自宅WiFi(自宅LANと同じ192.168.1.0/24)へ端末を移動すると、死んだままの仮想LANカードのルートが192.168.1.0/24宛の通信を奪ってしまい、VPNを使っていないはずの通常のping・通信まで失敗するようになります。ネットワークを切り替える前は必ず切断手順の中でIPアドレスを解放してください。
② そもそも自宅LAN内(自宅WiFi等)からはこのVPNへ接続できないことがある
VPNサーバーの接続先ホスト名が自宅ルーターの公開グローバルIPに解決される構成の場合、自宅LAN内から同じホスト名へ接続しようとすると、ルーターの「NATループバック(ヘアピンNAT)」機能が必要になります。これに対応していないルーターでは、LAN内からの接続がNo route to hostで拒否されます。本VPNは外出先(自宅LAN外)から使うことを前提に設計されているため、自宅LAN内にいる間は無理に接続する必要はありません。
①②はいずれも、実際に外部端末(テザリング・自宅WiFi双方)で接続を試みる中で再現・確認済みです。特に②は「昨日まで繋がっていたのに急に繋がらなくなった」という誤解を生みやすいため、まず今どのネットワークに接続しているかを確認することをお勧めします。
9. ゼロトラスト方式との比較
自宅LANでは、認証基盤(IdP・MFA)と組み合わせたゼロトラスト方式(Tailscale/Headscale)のVPNも別途検証しています。同じ「外出先から自宅へ」という目的でも、設計思想が大きく異なります。
| 観点 | L2ブリッジ方式(本ページ) | ゼロトラスト方式 |
|---|---|---|
| 接続後のIPアドレス | 自宅LANと同じセグメント(例: 192.168.1.x)をDHCPで取得 | 専用の仮想IP帯(100.x.x.x)を取得。自宅LAN機器へは別途経路広告で到達 |
| 自宅LANとのIP衝突リスク | あり(同一セグメントであるため。8章参照) | 原理的になし(LANでまず使われない専用帯域のため) |
| ブロードキャスト(機器発見等) | LAN内にいる時と同様に機能する | 基本的に届かない(経路広告された宛先への到達のみ) |
| 認証の仕組み | VPNサーバー単体のユーザー認証 | IdP(authentik等)によるパスワード+多要素認証(MFA/TOTP) |
| 自宅LAN内からの接続 | NATループバック非対応ルーターでは不可のことが多い | 同様の構成であれば同じ制約が起こり得る |
どちらが優れているというより用途が異なります。自宅LANに「物理的に居るのと同じ状態」を素朴に再現したいなら本ページのL2ブリッジ方式、認証基盤と組み合わせて安全性を重視するならゼロトラスト方式(外出先から自宅ネットワークへ安全に接続する(ワンタイムパスワード))が向いています。