over the rainbow

いわゆる日記です

ubuntu 20.04にsoftether VPNクライアントをインストール

前にubuntu 18.04からL2TPでVPN接続 - over the rainbowにてsoftetherubuntu版(Linux版)VPN Clientのことを書いたけど、その時は結局Windows10のクライアントインストールは簡単で良い。Android版とiOS版も簡単で良い。しかし、ubuntu 20.04 でクライアントソフトを入れずに純粋なL2TPとしてサーバーへ接続しようとしてもうまく出来ない。
ってことで終わりにしちゃった。

けど、また挑戦してみたくなった。
まずは、softether公式サイトに置いてある tar.gz形式のクライアントをダウンロードしてみた。
https://jp.softether-download.com/files/softether/v4.34-9745-rtm-2020.04.05-tree/Linux/SoftEther_VPN_Client/64bit_-_Intel_x64_or_AMD64/softether-vpnclient-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz
これね。
β版ではなく、RTM版の最新。

で、展開して sudo mekeってやればいいというのをネットでチラ見したので、やろうとしたらmakeが入ってないよというエラーが出たので、
f:id:nij:20210726145635p:plain
makeをインストールした。

その後、sudo make やってみたらエラーで終了。
f:id:nij:20210726145804p:plain
なによ、ranlibって。
sudo apt-get install ranlib しても該当なしだし。

https://ja.softether.org/4-docs/1-manual/7/7.3
は、サーバー版の説明だけど、

もしこの処理の過程でエラーが発生した場合は、vpnserver プログラムの生成処理に失敗しています。そのような場合は、「7.3.1 推奨システム」 および 「7.3.3 必要なソフトウェアおよびライブラリの確認」 をもう一度確認し、必要なライブラリなどが不足していないかどうか確認してください。

って書いてある。というかsoftether公式サイトの説明だとubuntuは動作環境に該当してないみたいだけど。

って、あ! よく見るとgccが入っていないよって書いてあるな。
f:id:nij:20210726150518p:plain
つーこってgccをインストール
そのあとでsudo makeでファイル作成は出来た。あとは更にコピーやchmodなども必要なのか。
f:id:nij:20210726150646p:plain




さて。
ここまでやっといてなんだけど、
https://zenn.dev/nemuki/articles/aa5b93e506f765
によると、sudo apt-add-repository ppa:paskal-07/softethervpn でリポジトリを追加してapt-getでsoftether関連をインストールすれば良いという手段も書いてある。
これでLinux版のクライアントインストールしてみようかなー。と思ったりして。

(上記サイトもserverにしか言及していなくて、ubuntuでclientを使うのはレアケースなのかなーというふうに思える。)


f:id:nij:20210726171250p:plain
上記リポジトリを追加し、
f:id:nij:20210726171324p:plain
apt-getでsoftether VPNのClientをインストール
f:id:nij:20210726171522p:plain
とりあえずコマンドラインの管理画面には入ることが出来た。

f:id:nij:20210726171624p:plain
しかし、仮想LANカードを作ろうとするとエラーが出る。
とりあえず、ここまでにするか。
この状態で、同一LANにあるWindows10からGUIで設定だけでもしちゃえば良さそうな気もする。

最初には書いたけど、やっぱり初心者にはWindows10でやるのが楽でいいね。ubuntuでclient接続は(linuxの基礎知識がないと)難しいわ。
でも勉強になっていい。

追記:

Dockerコンテナ内でSoftEther仮想NICを作る方法 : みからぼ。
を読んでてわかったけど、公式ドキュメントに

ソフトイーサ株式会社では LinuxVPN Client を提供しますが、これが正常動作することについて一切サポートしておりません。
Linux 版の VPN Client を動作させるためには、「Universal TUN/TAP デバイスドライバモジュール」が、カーネルに組み込まれている必要があります。詳しくは、http://vtun.sourceforge.net/tun/ を参照してください。
Linux 版の VPN Client は、ルーティングテーブルの自動書き換えなどの機能はありません。VPN 接続した tap デバイス側をデフォルトゲートウェイにする場合は、VPN サーバーへのスタティックルートを手動で接続する必要がある場合があります。
LinuxVPN Client によって生成される tap デバイスDHCP クライアントデバイスとして使用する場合は、DHCP クライアントデーモンなどを適切に設定する必要があります。

と書いてあって、「Universal TUN/TAP デバイスドライバモジュール」のカーネル組み込みもわからないし、DHCPとかも自動じゃないし、やっぱりまだまだハードルは高そうだ。

まとめ:

繰り返しになるけど、VPN使うならsoftether VPNが便利で無料でおすすめだけど、Linuxで使うならばある程度のネットワークの知識は必須です。Windows10ならば簡単に設定出来るので良いです。