Raspberry PiでVPNサーバ

ラズパイとSoftEtherを使ってVPNサーバを作ってみます。古いMBPをVPNサーバにしてたんですが、サーバ用途にはLinuxの方が使いやすいです。

ベースはRaspberry Pi 2 model Bです。パワーは十分でしょうか。

Raspberry Pi 2 Model B (1)

Raspberry Pi 2 Model B (1)

ヒートシンクは効かないそうなので、ファン付きのケースを使用。ファンは静かでほとんど無音です。どれくらい効果があるか不明ですが。温度をモニターしてみたいですね。

SDカードはラズパイと相性があるようですが、とりあえず以下のは問題ないです。

キーボード、マウス、モニタはなし、iPhoneのACアダプタと余り物のusbケーブルを用意しました。

raspbian jessieをマニュアル通りにインストールして起動する。dhcpでipを取得するので、arpでipの一覧をみて、ラズパイのipを見つける。

arp -a

sshでログインして、初期設定する。sdカードの容量拡大、タイムゾーン、パスワード変更など。

ssh -l pi 192.168.0.xx
raspi-config

raspbianをアップデートして最新版に。

sudo apt-get update
sudo apt-get upgrade

ファームウェアもアップデート。

rpi-update

固定ipはjessieから設定する方法が変わったらしい。/etc/dhcpcd.confを修正する。

RaspberryPi - Raspberry Pi 2 (Raspbian: jessie) でIPアドレスを固定する - Qiita

Raspian側の設定はリンク先の通り。

RaspberryPi - Raspberry Pi 2とSoftEther VPNを使ってVPNサーバーを構築しよう! - Qiita

SoftEtherのインストールはマニュアル通りだが、ローカルブリッジはあらたにtapをつくる。tapとeth0がbr0を通じて通信できるようにすると、VPNからログインしてラズパイにsshしたりできます。クライアントは特別準備しなくてよいようにL2TPを有効にしておきます。DDNSサービスが用意されるのが素晴らしいです。DNSは自前VPNの最後の難関ですから。

ルータのポートフォワードを設定して完了。

最後にsdカードの中身をバックアップしておきましょう。SDカードをMacにさしてddでバックアップ。

dd bs=1m if=/dev/rdisk2 of=raspi.img

追記1

ファイアーウォールufwをいれる。

sudo ufw default DENY
sudo ufw limit 22
sudo ufw allow 8080
sudo ufw allow 500
sudo ufw allow 4500
sudo ufw enable