今回は、使用しなくなったRaspberryPi 3B+にVPNサーバーを構築します。
使用するOSは、UbuntuServerを使用します。
今、リモートワークで在宅勤務が急増する中で、VPNサーバーはよく耳にすると思います。
私も会社でVPNサーバーについて触れる機会があったので、今回は使用しなくなったRaspberryPi3B+を使ってサーバー構築の勉強をしたいと思います。
なぜRaspberryPiでサーバー構築
VPNサーバーを構築する時に、本当は使わないPCをサーバーに変身させたいところでしたが、
おそらく入手しやすさと、構築のしやすかからRaspberryPiでサーバー構築しようと思いました。
RaspberryPi model 3B+は、現在だったら新品で5000前後で購入できるので、サーバー構築やVPNを勉強するには、コスパ最強デバイスです。
しかも、Linuxコマンドも勉強できるなんてやってみるしかないですよね。
大きさはクレジットカードサイズで、処理能力は少し前のPCぐらいです。
常時電源入れっぱなしでも、ラズパイは消費電力が少ないので、ほんのわずかな電気代しかかかりません。
ただし、欠点があります。
一人用や勉強用のサーバーとして使用するなら問題ありませんが、
複雑な処理や高負荷の処理を行う場合や、大人数で使用するサーバーには向かないので注意が必要です。
VPNとは
VPNサーバー構築までの流れ
RaspberryPiにUbuntuServerを構築する
起動用ディスクを作成
まず、SDカードにRaspberryPi用のUbuntu Server 18.04.4 LTSをインストールします。
Ubuntu Server 18.04.4 LTS : http://cdimage.ubuntu.com/ubuntu/releases/bionic/release/
Raspberry Pi 3 (64-bit-ARM) preinstalled server imageを選択してインストールしましょう。
今回は64GBのSDカードを使用しました。
SDカードにインストールするイメージを書き込む前に、SDカードをフォーマットしましょう。
以下のサイトからSDフォーマッターをインストールして、SDのフォーマットを実行しましょう。
フォーマットが終了したら、次にインストールしたイメージファイルをSDに書き込みます。
書き込むツールは、「balenaEtcher」を使用します。
balenaEtcherインストールサイト:https://www.balena.io/etcher/
balenaEtcherを使ったイメージファイルの書き込み方
blaenaEtcherを開くと以下の画面が出てきます。
書き込む手順は、以下の3ステップです。
- 「Flash from file」をクリックして、先ほどインストールしたイメージファイルを選択します。
- 「select target」には、SDカードを選択します。
- 「Flash!」をクリックして書き込みを開始します。
書き込みが完了したら、RaspberryPiにSDカードを挿入します。
UbuntuServerの起動
RaspberryPiをHDMIケーブルでディスプレイと接続しましょう。
その後、UbuntuServerの起動用SDをRaspberryPiに挿入し起動します。
すると、起動ログが大量に出てくると思いますが、ログが完全に止まったら、一度Enterキーを押します。
ユーザー名とパスワードの入力を求められます。
一度ログインすると、新しいパスワードを設定するようにメッセージが出てきます。
ここは、好きなユーザー名とパスワードを入力しましょう。
起動後にまずやること:パッケージのアップデート
UbuntuServerだけではないですが、必ずインストール後にパッケージのアップデートしましょう。
sudo apt upgrade
sudo apt update
起動後にまずやること:キーボードの設定
UbuntuServerはデフォルトでキーボードの設定が英語になっているので、以下のコマンドでキーボードの設定をしましょう。
sudo dpkg-reconfigure keyboard-configuration
起動後にまずやること:タイムゾーンの設定
UbuntuServerでタイムゾーンをTokyoに設定します。
sudo dpkg-reconfigure tzdata
起動後にまずやること:ネットワークの固定
デフォルトでは、ネットワークはDHCPですので、IPアドレスの割り当てが変動してしまい何かと不便です。
UbuntuServerでネットワークを固定する方法をまとめました。
sudo nano /etc/netplan/50-cloud-init.yam
次に、50-cloud-init.yamlの内容をいかに記載しました。
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
ethernets:
eth0:
addresses: [192.168.1.10/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
dhcp4: false
match:
macaddress: bb:11:df:19:20:5f
set-name: eth0
変更した内容を適用します。
sudo netplan apply
セットアップできたか、ipコマンド実行します。
ip addr
まとめ
以上でUbuntuServerのセットアップは完了です。
次の記事で、UbuntuServerとRsapberryPi を使ったサーバー構築を実装方法を紹介していきます。
コメント