[Linux Lite] SoftEther VPN クライアントを自動起動させる設定

Linux Lite に SoftEther VPN クライアントをインストールする方法

ラズパイに SoftEther VPN クライアントをインストールした時に書いた記事と同じ流れで設定できたので、必要であれば こちらの過去記事 を参照してほしい。

1つ違いがあるのは、Linux Lite をインストールしたパソコンが HP の Proliant MicroServer N54 L であること。N54L の CPU は AMD の Turion です。SoftEther VPN クライアントをダウンロードする時 CPU タイプは Intel x64 / AMD64 (64bit) を選びました。

SoftEther VPN クライアントの設定方法

Linux Lite で SoftEther VPN クライアントを設定する方法は、ラズパイでやったとき (過去記事は こちら から) とほとんど同じでできました。

ラズパイのときと違ったところだけ触れていきます。

物理インターフェイスの IP 設定

Linux Lite の物理インターフェイスの設定です。LAN ケーブルでネットワーク接続を行う有線接続です。これに固定プライベート IP を設定しました。

以下のように、羽根マーク –> 設定 –> Advanced Network Configuration をクリックします。

以下「ネットワーク接続」画面が出てくるので Wired connection 1 を選択して、ギザギザ歯車マーク をクリックする。

Wired connection 1 の編集という画面が表示される。IPv4 設定 タブをクリックして固定 IP を設定した。

上記のように、IP は 172.16.1.4/24 でデフォルトゲートウェイは設定していません。デフォゲは SoftEther VPN クライアントの仮想 LAN カードに設定するからです。

それと DNS サーバを 2 つ (1.1.1.1 と 8.8.8.8) 指定しています。

SoftEther VPN クライアントを Linux Lite が起動する時に自動起動させる方法

これも ラズパイの時の過去記事 があります。参考にできる部分は参考にしてください。

【1】スタティックルートを OS 起動時に自動追加する方法

Linux Lite から家庭内ネットワークの 2 つのセグメント宛にスタティックルートを追加します。と同時に SoftEther VPN サーバへのスタティックルートも追加します。

$ pwd
/etc/network/if-up.d
$ ls -l static-routes
-rwxr-xr-x 1 root root 163 6月 19 16:36 static-routes
$ cat static-routes
!#/usr/bin/bash
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
sudo route add -host ww.xx.yy.zz gw 172.16.1.1
$

SoftEther VPN サーバ の IP アドレスだけ ww.xx.yy.zz と隠させていただいたが、グローバル IP アドレスである。

3 つのスタティックルートのネクストホップはすべて同じ 172.16.1.1 (我が家のホームルータ) を指定している。

【2】SoftEther VPN クライアント (vpnclient) が起動したら VPN の接続処理を自動で開始する設定

これは vpncmd コマンドを使って vpnclient に接続後 AccountStartupSet コマンドを使う。詳しくはラズパイの時の記事を見てほしい。

【3】Linux Lite 起動時に vpnclient を自動で起動させる設定

ラズパイの時と同じ要領で実現した。vpnclient.service というファイルを作って systemd に登録する方法だ。

$ pwd
/etc/systemd/system
$ ls -l vpnclient.service
-rw-r--r-- 1 root root 229 6月 18 17:28 vpnclient.service
$ cat vpnclient.service
[Unit]
Description=SoftEther VPN Client
After=network.target

[Service]
ExecStart=/usr/local/vpnclient/vpnclient start
ExecStop=/usr/local/vpnclient/vpnclient stop
Type=forking
Restart=always

[Install]
WantedBy=graphical.target
$

このファイルを作ったら、

$ sudo systemctl enable vpnclient

を実行する。

そして vpnclient.service ファイルが正しく機能することを確認するために、

$ sudo systemctl start vpnserver 
$ sudo systemctl status vpnclient
$ sudo systemctl stop vpnserver

で、「起動させられること」と「停止させられること」を確認する。

【4】仮想 LAN カードの IP 設定

Linux Lite で SoftEther VPN クライアントの仮想 LAN カードに IP を設定する方法、これに少し苦労しました。

netplan を使って設定することを実現しましたが、けっこう時間がかかっちゃいました。

netplan とはなんぞや?というところからはじめましたが、man netplan で man すると、

netplan – YAML network configuration abstraction for various backends

との説明が出てきますがわかるようなわからないような。

具体的にやったことは、/etc/netplan ディレクトリに YAML データ形式のファイルを作って、そこに 仮想 LAN カードの IP 設定を記載したことです。

で、今度は YAML (ヤムル) ってなんやねん?という疑問が湧きましたが、公式サイトによると、

YAML: YAML Ain't Markup Language

What It Is: YAML is a human friendly data serialization
  standard for all programming languages.

とあるので、「YAML はマークアップ言語ではない」ってことと、「人間にも読みやすいデータ形式」くらいの意味に捉えた。

以下の YAML 形式ファイルを作りました。

$ pwd
/etc/netplan
$ ls -l
合計 8
-rw-r--r-- 1 root root 195 1月 20 17:21 01-netcfg.yaml
-rw-r--r-- 1 root root 365 6月 19 16:34 11-vpncfg.yaml
$ cat 11-vpncfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    vpn_myipse_nic:
    dhcp4: false
    addresses:
    - ww.xx.yy.zz/22
    gateway4: ww.xx.yy.1
    nameservers:
    addresses:
    - aa.bb.cc.dd
    - aa.bb.cc.ee
$

グローバル IP のところだけ、ボカサせていただいた。

ファイル名は何でもいいと思うが、11-vpncfg.yaml にした。01-netcfg.yaml はデフォルトで作成されているファイルだ。

11-vpncfg.yaml の作成が終わったら

$ sudo netplan apply

を実施しておく。これで作った設定 (ファイル) が反映されるようである。

11-vpncfg.yaml 内の vpn_myipse_nic は、SoftEther VPN クライアントの仮想 LAN カードである。

vpncmd の NicCreate コマンドでは myipse_nic という名前で仮想 LAN カードを作ったが、Linux の OS 上では vpn_ の 4 文字が付記された名前で管理されるようなので、この YAML ファイルの中でも vpn_myipse_nic と指定している。

仮想 LAN カードの固定 IP が OS 起動時に自動定義されるにはどのようにすればよいのか?を知るまでに時間がかかってしまったが、作った 11-vpncfg.yaml ファイルで動作確認が取れたので良しとしている。

tun とか tap という名前で定義しないといけないのか?と思ったり、vpn と指定しなければいけないのか?などで迷ってしまったわけである。

ここまでできれば Linux Lite を再起動する。再起動したあとに自動的に VPN セッションが張られればオーケーである。

コメントを残す

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

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