ラズパイでPCのWoLとリモートの環境をサクッと作る

未分類

出先から自宅PCにリモートしたいなーと思った。ただ自宅のネット環境が、マンションタイプ?LAN分配?の要は二重ルーター状態なので、接続がすこぶるめんどくさい。

ちょうど家に余ったラズパイが転がっていたので、これにSoftEther VPNを入れて環境を作ろうと考えたので手順を残しておく。

クライアント→SoftEther VPN Azure→ラズパイ→LAN→ホストPC のイメージ。

Raspberry Piのセットアップ

まずはRaspberry Pi Imagerを使ってMicroSDカードにOSを書き込む。GUIイラネ主義なのでRaspberry Pi OS Liteを入れた。名前長い…。

書き込んだあと、bootパーティションのルートディレクトリにsshという空ファイルを作っておく。これやっとかないとsshできない(やらかした)。

終わったらMicroSDカードをPCから外してラズパイに入れて、ラズパイに電源とLANケーブルをつなぐ。

TPLinkのルータだとDHCPの画面からラズパイのIPアドレスを確認できた。他製品でIPアドレスが確認できなくても、mDNSがあるのでIPアドレスの代わりにraspberrypiと入力してもOKらしい。同一LAN内に複数のラズパイがつながっていたらダメなので、ラズパイを複数台持ちしている変態さんは/etc/hostnameと/etc/hostsを書き換えてね。

cmdを開いてsshをする。Windowsのコマンドプロンプトでsshできるようになるとは良い時代になったものだ。

ssh pi@192.168.11.14

デフォルトのユーザ名はpi、パスワードはraspberry。入ったらとりあえず更新をかけてつつ初期設定。

sudo apt update
sudo apt upgrade -y
sudo raspi-config

ロケールの設定やパスワードの変更など、適当に。どうせルータに守られているので公開鍵認証設定とかpiユーザを消すとかSSHのポートを変えるとかに意味があるかは不明。そんな簡単に侵入できるんだったらVPN AzureじゃなくてL2TP/IPSecでVPN鯖立ててるので…。

SoftEther VPNのインストール

SoftEtherのダウンロードページからファイルを持ってくる。Linux/ARM EABI 32bitでOK。リンクをコピーしたらwgetする。

wget https://jp.softether-download.com/files/softether/v4.34-9745-rtm-2020.04.05-tree/Linux/SoftEther_VPN_Server/32bit_-_ARM_EABI/softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-arm_eabi-32bit.tar.gz
tar xzvf softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-arm_eabi-32bit.tar.gz

公式のマニュアル(https://ja.softether.org/4-docs/1-manual/7/7.3)がとても親切なのでこれに従ってインストールを進める。gccとか色々ライブラリが要るようだが、Raspberry Pi OS Liteには全部入っているようだった。Liteとは…??

「7.3.8 スタートアップスクリプトへの登録」はラズパイでは行わず、/usr/lib/systemd/system/vpnserver.serviceというファイルを作る。内容は以下。

[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

次に以下のコマンドでサービスを有効にする。公式ドキュメントの/etc/init.d以下略のファイルを作っていると、Default Startがどうとかいうエラーが出る。そのときは/etc/init.d以下略のファイルを消してから再度実行する。

sudo systemctl enable vpnserver.service

終わったらsudo reboot。

以降はSoftEther VPN Server Managerを使ってPCから設定する。スクショ撮るのがめんどくさいので省略省略!とりあえず、仮想HUBのローカルブリッジだとうまくいった試しがないので、毎回SecureNATを使っている。適切かは知らん。

設定が終わったら下の記事あたりを参考にシステムをReadonlyにしておくと、カーネルパニック起こしにくくなったり電源ぶち抜きしても耐えるようになったりするらしい。

Raspberry Piのファイルシステムのリードオンリー化[OverlayFS]
Raspberry Piの電源をシャットダウンしないで落としたい場合、ファイルシステムのリードオンリー化という手法が良く用いられます。以前はいろいろと設定が面倒な感じだったのですが、最近はraspi-configでサポートされているようなの...

なおVPN Azureの接続方式はSSTPのみ。Windowsは標準対応なのでよしとして、Androidならこのへん使うとSSTP接続できるよ。

GitHub - kittoku/Open-SSTP-Client: Open SSTP Client for Android
Open SSTP Client for Android. Contribute to kittoku/Open-SSTP-Client development by creating an account on GitHub.

iOSは…そこらへんの有料アプリ買えばいいんじゃないですかね、どうせ無料アプリが全然ない環境に慣れてるからいいっしょ。

コメント