[Raspberry Pi] SoftEther VPN クライアントの設定方法

前書き

SoftEther VPN クライアントのインストールが終わったその次に行なうのが、SoftEther VPN クライアントの設定作業です。

「VPN クライアントの設定作業」なので、「VPN サーバに接続するための設定」を VPN クライアント側 = ラズパイで行なっていくわけです。このことを忘れないでください。

「あれ、今何やってるんだっけ?」となったら黄色信号です。しっかり「自分が今何の設定を行なっているのか?」を自問してその答えが明確であればスムーズに進むでしょう。

逆にそのあたりが不明瞭な場合、ちょっとしたことで設定作業がうまく進まない事態に陥ってしまう可能性があります。

ま、つまずかずに進んでいくのが一番良いんですけどね。

ラズパイに SoftEther VPN クライアントがインストール済みであることを前提にしています。これについては [Raspberry Pi] SoftEther VPN クライアントをインストールする方法 に書いておきました。

そもそもの経緯

僕がなんでラズパイに SoftEther VPN クライアントの設定をやろうとしているかというと、趣味の延長でどうしても自宅で固定グローバル IP を使いたくなったからです。

すでに我が家にはプロバイダーのオプションサービスに加入してプロバイダーから付与された固定グローバル IP を 1 個使っています。

しかし今回はもう 1 つ別の固定グローバル IP が欲しくなったというわけです。そのために インターリンクのマイ IP ソフトイーサ版 というサービスに申し込みました。

このサービスは、自分の持っているパソコンに SoftEther VPN クライアントを設定して、インターリンクの構築した SoftEther VPN サーバに VPN 接続をすることで、自分のパソコンに固定グローバル IP を設定するこができる、というものです。

これができると、我が家のラズパイに固定グローバル IP を設定することができ、それを僕は実現させたいわけなのです。

設定作業を始める前に準備するもの

以下のものを事前に用意しておく (決めておく) ことを強くおすすめします。

  • 仮想 LAN カードの名前
  • VPN 接続の名前
  • VPN サーバの IP
  • VPN サーバの tcp ポート番号
  • VPN サーバの仮想 HUB 名
  • VPN サーバに接続するためのユーザ名
  • 上記ユーザ名のパスワード
  • デフォルトゲートウェイ もしくは ゲートウェイ の IP
  • DNS サーバの IP

いくつかは不要になるかもしれませんが、これらをチェックシートにして準備することは設定作業がスムーズにいく秘訣です。

というか、「仮想 LAN カードの名前」などは事前に自分で決めないといけないので用意しなかったら設定作業自体ができないことになります。

VPN クライアントのプロセスを起動させる

VPN クライアントのプロセスを立ち上げてから VPN クライアントの設定を行います。

以上で VPN クライアントプロセスが起動しました。続いて VPN クライアントの設定に入っていきます。

vpncmd コマンドを起動する

VPN クライアントの設定は vpncmd コマンドを使って進めていきます。

プロンプトが VPN Client> となったところから VPN クライアントの設定を始めることができます。

【1】仮想 LAN カードを作る

まずはラズパイの中に仮想 LAN カードを作ります。NicCreate コマンドを使います。

NicCreate コマンドで myipse_nic という名前の仮想 LAN カードを作りました。

NicList コマンドで作った仮想 LAN カードについての情報を見ることができます。

【2】VPN サーバーに接続する設定

続いて VPN サーバの IP アドレスや仮想 HUB 名を使って、VPN サーバに接続するための設定を行ないます。

AccountCreate コマンドを使います。 

見えにくいかもしれませんが、AccountCreate コマンドで指定しているものについて説明しますと、

  • connect_to_interlink : VPN 接続名です。自分で決めた名前です。
  • 緑色塗りつぶし箇所 : VPN サーバの IP アドレスと tcp ポート番号です。IP アドレスと tcp ポート番号をコロンで挟んで IP_Address:tcp_port_num の形式で指定します。
  • 黄色塗りつぶし箇所 : VPN サーバに接続するときに使用するユーザー名です。
  • myipse_nic : さっき作った仮想 LAN カードの名前です。

AccountList コマンドで今作った内容を見ることができます。

【3】VPN パスワードを VPN 接続名にひもづける

次に AccountPasswordSet コマンドで VPN 接続名とパスワードをひもづけます。

connect_to_interlink は VPN 接続名です。

ピンクで塗りつぶしたところにパスワードを指定しています。TYPE のところは /TYPE:standard か radius 認証を使う場合は /TYPE:radius とします。

これで VPN 接続名とパスワードがひもづきました。

ここまで設定してきた内容を確認する!

これまで設定してきた内容を AccountGet コマンドで網羅的に確認することができます。

VPN 接続名、VPN サーバの IP や tcp ポート番号、VPN サーバの仮想 HUB、ラズパイに設定した仮想 LAN カード、ユーザー名等もろもろ確認することができます。

ここで exit コマンドで vpncmd から抜けます。

ここでスカッと頭を切り替える

ここまでは、vpncmd を使って SoftEther VPN クライアントの設定をやってきました。

ここからは、ラズパイの OS まわりの設定、もっと具体的にはネットワーク関連の設定に移っていきます。

設定している対象がガラッと変わりますし、ネットワークのややこしい部分に踏み込んでいきますので、ここで一旦コーヒータイムにして気分を入れ替えるのもおすすめです。

仮想 LAN カードにスタティック IP を設定する

ラズパイのデスクトップ画面右上にある「矢印 2 つマーク」を右クリックして、Wireless & Wired Network Settings をクリックします。

そうすると Network Preferences という画面が立ち上がってくるので以下のように入力します。

ほとんど黒塗りでごめんなさいですが、注目して欲しいところは Interface の右にある vpn_myipse_nic を選択しているところです。

僕が作った仮想 LAN カードの名前は myipse_nic でしたが、ラズパイ (もしくは Linux そのもの) が頭に vpn_ の四文字を付加して管理しているようです。確信はありませんが、vpn_ と勝手についたといってもあまり気にする必要はありません。

Automatically configure empty options のところにチェックが入っていたら外してください。

IPv4 Address のところに、仮想 LAN カードに設定する固定 IP アドレスを記載します。ネットマスクは /24 のように IP アドレスの後に続けて記載します。

Router のところは、デフォルトゲートウェイとなる IP を記載します。

DNS Servers のところには DNS サーバの IP を記載します。複数ある場合は半角スペースで区切ってください。

最後に「適用(A)」をクリックしましょう。

デフォルトゲートウェイ問題

仮想 LAN カードにデフォルトゲートウェイを設定したことにより、もともとラズパイに設定していたデフォルトゲートウェイと干渉する可能性があります。

動作が不安定になったりといった事象が起こったらデフォゲを 2 つ設定したことによるものかもしれません。

僕はこのラズパイがインターネット側と通信するときに、パケットが VPN セッションを経由するようにしようとしています。

言い換えると、インターネットと通信する前に必ずインターリンクの VPN サーバを経由させてから通信させようとしています。

そのためにもともと設定してあったデフォゲを削除します。

eth0 インターフェイスの設定です。Router の箇所を空欄にして「適用(A)」をクリックしました。

これだけでは eth0 からデフォルトゲートウェイが消えないように見受けられたので、以下の route コマンドも実行しました。

$ sudo route del default dev eth0

これで消えました。

我が家のネットワーク内で通信するためのスタティックルート

僕のラズパイは我が家の中では 172.16.1.0/24 というネットワークに属しています。

そして我が家には 10.1.0.0/24 と 192.168.86.0/24 というネットワークもあり、ラズパイはこの 2 つのネットワークと通信できる必要があります。

ラズパイの eth0 からデフォゲを削除したことにより、これら 2 つのネットワークと通信するためにスタティックルートを追加する必要があります。

$ sudo route add -net 10.1.0.0/24 gw 172.16.1.1
$ sudo route add -net 192.168.86.0/24 gw 172.16.1.1

172.16.1.1 はさっきまでデフォゲに設定してあった IP で、我が家のホームルータ (ヤマハの RTX1100) です。デフォゲとしては指定しませんが、我が家内で通信するためにスタティックルートのネクストホップとして設定したわけです。

これでラズパイが引き続き我が家の中で通信できます。

VPN サーバと通信するためのスタティックルート

もう 1 つスタティックルートが必要です。

それは、インターリンクの VPN サーバへのスタティックルートです。

$ sudo route add -host VPN_Server_IP_Addr gw 172.16.1.1

VPN サーバの IP と通信するとき、ラズパイはどこにパケットを投げれば良いかというと、我が家のルータの IP = ヤマハ RTX1100 に設定してある 172.16.1.1 になります。

この設定でラズパイが VPN サーバめがけてパケットを正しい方向に投げることができるようになります。

dhcp プロセス、ネットワークプロセスの再起動

固定 IP を使うのになんで dhcp のプロセスを再起動するのか?と疑問に浮かぶかもしれません。ごもっともです。

理解不足により詳しい説明はできませんが、固定 IP の設定でも挙動的に /etc/dhcpcd.conf という設定ファイルが関わってきます。だから dhcp プロセスの再起動が必要になってきます、くらいしか言えません。ごめんなさい。

本投稿は VPN クライアントの設定を行なうのが趣旨なので「固定 IP 使うんだから dhcp が稼働しないようにしよう」とかは別途余裕があれば考えたいテーマとしておきます。

上記のように sudo systemctl restart dhcpcd コマンドを実行します。

そしてネットワーク設定もいろいろと変更しましたのでネットワークプロセスの再起動もあわせて行なっておきます。

これは sudo systemctl restart networking です。

以上で!ついに!ネットワークまわりの設定も終わりです!

あとはラズパイをインターリンクの VPN サーバと VPN セッションを張らせるだけです!

もう一度 vpncmd する

AccountConnect コマンドで VPN 接続 する

以下のように VPN 接続名を引数にして AccountConnect コマンドを実行する。

接続状況を見るためには AccountStatusGet コマンドを使う。

以上のように表示されれば VPN セッションが確立されている。

無事 VPN セッションが確立されたら確認すべきはグローバル IP だ。

インターネットへの通信はインターリンクに申し込んだ固定グローバル IP が使われているはず。これを確認するには 確認くん というサイトにアクセスする。

あなたの IP アドレス (IPV4) のところに想定どおりのグローバル IP が表示されていればミッションコンプリートである。

AccountDisconnect コマンドで VPN セッションを終了させる

VPN セッションを終了させるときは AccountDisconnect コマンドを使う。

ラズパイ起動時に自動的に VPN 接続する設定

本投稿がながくなったので次の記事で書いていく。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください