ラズパイでおうちVPN
Kogakuin Univ Advent Calender 2021 の19日目になります。
はじめに
テです、数年前に買ったラズパイが家で死んでいたのでVPNサーバとして動くようにしました。ほんとは、学校でゲームが出来るぞワハハみたいなのを書きたかったのですがプロキシの設定が上手くいきませんでした(そのためだけに学校いきたくないというのが大きい)。
やること
1. ラズパイのIPアドレスを固定
2. ルータの転送ポート設定
3. ラズパイのネットワーク設定
4. softether vpnserver のインストール
5. softether vpnserver managerの設定(こっからwin10)
6. クライアントから接続
1. ラズパイのIPアドレスを固定
初期状態だと、ラズパイを起動するたびにDHCPによってアドレスが振り直されます。なので、VPNサーバの転送先として使用するアドレスに固定する必要があります。
まず、現在の設定をターミナルから確認します。
ifconfigしたところ、eth0(wifiならwlan0)に192.168.0.4 が振られていました。
つぎに、IPアドレスの固定に必要なデフォルトゲートウェイとDNSサーバのアドレスを確認します。同一ネットワークのwinパソコンからipconfig /all したところ、ともに192.168.0.1 が振られていました。
ラズパイのDHCP設定ファイル(etc/network/dhcpcd.conf)を編集します。ふつーに保存できないのでviで開きました。内容は以下。
interface eth0 static ip_address=192.168.0.4/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1
後から思ったんですけど、もっと後ろの数にすればよかったですね。
2. ルータの転送ポート設定
TCP 443, TCP 992, UDP 500, UDP 4500 をさっき設定したIPアドレスに転送するよう設定します。ネットワーク内でブラウザに192.168.11.1 を入れると設定画面に入れます。ログインパスワード初期設定だったはW
ポート開放出来ないルータもあるみたいです、ぼくのBUFFALO WHR-1166DHP4 は出来ました。
3. ラズパイのネットワーク設定
仮想ブリッジにイーサネット(eth0)を繋ぎます。ネットワークインターフェースの設定ファイルはetc/network/interfaces にあります。
参考サイト(↓)に書いてあるやつコピペしてったらそのまま通りました。
Raspberry Pi 2にSoftEtherを入れてVPNサーバーを構築してみる - がちゃのーと。
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
# SoftEther VPN
auto br0
iface br0 inet static
address 192.168.0.4
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
# eh0 bridge setting
bridge_port eth0
11行目のaddressをラズパイのアドレスにします。有線なのでwifi用の記述は省いています。リンク先にはあります。
ところで、ぼくの環境だと編集後の状態で再起動するとネット繋がらなくなるので、初期設定コピーを取っておいて、起動の度に入れ替えています(直せや)。
4. softether vpnserver のインストール
ここからVPNサーバ用のを落として、makeして、/usr/local/に移して、ファイルの実行権限を変更しました。これもコピペ。
$ cd /usr/local/vpnserver
$ chmod 600 *
$ chmod 700 vpncmd
$ chmod 700 vpnserver
スタートと確認
$ service vpnserver start
$ service vpnserver status
顔写ってて一回撮りなおした
5. softether vpnserver managerの設定
こっからwin10。softether vpnserver manager でクライアント接続に必要な設定をします。ホスト名、ユーザ名、パスワード、IPsec共有鍵とかを決めてます。例によって参考サイト(さっきと同じ)の通りに操作して終わりであるので割愛。
6. クライアントから接続
softether vpn client をインストールして、さっき作ったユーザでconnect。
お疲れさまでした。
ところでこれ、softether client 無し(iphoneとかwindowsのVPN設定とか)じゃ繋がらないんですよね。調べたらNATの設定で直るとのことで、vpnserver manager のVirtual NAT and Virtual DHCP Function (SecureNAT) Setting からEnable SecureNATを選択ところ無事繋がりました。
[SoftEther VPN] なぜ SecureNAT を ON にしたらつながるようになったのか? | 僕とガジェット
わーい
さいごに
あれ、、卒研大丈夫?