[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 セッションが張られればオーケーである。