テレワークが提唱されているので、自宅にもVPNサーバを立てることにしました。
これで、息子がマレーシアで完全自宅待機なので、VPN経由で日本の番組をみることが
できるでしょう。
また、外出先からワンコのライブ映像も見ることができます。
さて、VPNサーバをどう立てるかですが、自宅にあるルータ(IOデータ、バッファロー)は
残念ながらPPTPにしか対応していなくて、iPhoneやiPadからつながりません。
L2TPに対応したVPNサーバをたてなければなりません。
ということで、困ったときのRaspberryPiということで、RaspberryPiにSoftEtherを
インストールすることにしました。
RaspberryPiが動いていて、sshが使えるという前提で奨めます
また、固定のIPアドレスを振っておいてください。
SoftEtherの設定はGUIでやるのが便利なのでWindows版の管理マネージャを
使うことにします。
【SoftEtherのダウンロード】
最新版を探すのがべんりなのでパソコンでダウンロードします
https://www.softether-download.com/ja.aspx?product=softether
から次のように選んでダウンロードします。
ソフトウェア:SoftEther VPN
コンポーネント:SoftEther VPN Server
プラットフォーム:Linux
CPU:ARM EABI(32bit)
【SCPなどでRaspberryPiヘ転送】
RaspberryPiでSCPなどを使って転送します。
【RaspberryPiにSoftEtherをインストール】
先ずは展開します
$ tar xf softether-vpnserver-v4.34-9744-beta-2020.03.20-linux-arm_eabi-32bit.tar.gz
【展開したものビルドします】
$ cd vpnserver $ make
【/usr/localへコピーしてパーミッションの変更します】
$ sudo mv vpnserver /usr/local $ cd /usr/local/vpnserver $ chmod 600 * $ chmod 700 vpncomd vpnserver
【インストールできているかの確認(VPN Toolsの実行)をします】
$ /usr/local/vpnserver/vpncmd 1. VPN Server または VPN Bridge の管理 2. VPN Client の管理 3. VPN Tools コマンドの使用 (証明書作成や通信速度測定) 「3.を選びcheckコマンドの実施」 VPN Tools>check VPN Toolsの終了 VPN Tools>quit
【vpnserverの自動起動を設定します】
/etc/systemd/system に vpnserver.serviceを作成します
$ sudo vi /etc/systemd/system/vpnserver.service [Unit] Description=SoftEther VPN Server After=network.target network-online.target [Service] User=root ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop Type=forking RestartSec=3s WorkingDirectory=/usr/local/vpnserver/ ExecStartPre=/sbin/ip link set dev eth0 promisc on [Install] WantedBy=multi-user.target
【サービスの動作確認と停止と自動起動の設定を行います】
$ sudo systemctl start vpnserver $ systemctl status vpnserver.service 「動作している状態が表示されます」 $ sudo systemctl stop vpnserver 「自動起動の設定」 $ sudo systemctl enable vpnserver.service 「再起動後動作確認をしてください」
【Windowsに VPN Server Managerをインストールして設定】
VPN Server Managerのダウンロードをします
https://www.softether-download.com/ja.aspx?product=softether
から次のように選んでダウンロードします。
ソフトウェア:SoftEther VPN
コンポーネント:SoftEther VPN Server Manager for Windows
プラットフォーム:Windows
CPU:Interl(x86 and x64)
【インストールの実行と設定】
インストールするソフトウエアの選択で「SoftEther VPM サーバー管理マネージャ」
を選びます。
SoftEther VPM サーバー管理マネージャを起動し次の設定をします。
新しい接続設定
接続設定名
ホスト名(IPアドレス)
設定した接続情報に接続し次の設定をします。
IPSec/L2TPP設定
L2TPサーバ機能を有効にする
IPSec共有鍵(シークレット)を入力
仮想HUBの管理
ユーザ管理
ユーザの登録をします
仮想NATおよび仮想DHCPサーバ機能
SecureNAT機能を有効にする これをしないとiPhoneで「PPPサーバへの接続を確立
できませんでした~」といわれます
【ルータにポートの転送を書きます(L2TP, IPSec)】
UDP:500,4500
AH:プロトコル番号51
ESC:プロトコル番号50
をSoftEtherを動かすホストに転送設定をします。
【ルータにプロトコル指定での転送機能がないとき】
VPNサーバをDMZに置かざるを得ないですが、このときはsshのアクセスを
外部からできないようにします。
VPNの接続以外は許可しないようにするのが良いと思います。SoftEtherによるIPSecをfirewalldで許可します
sudo firewall-cmd –add-port=500/udp –zone=public –permanent
sudo firewall-cmd –add-port=4500/udp –zone=public –permanent
sudo firewall-cmd –permanent –zone=public –add-service=ipsec
SSL, SSHを外からアクセスできないようにして
sudo firewall-cmd –remove-port=443/tcp –zone=public –permanent
sudo firewall-cmd –remove-port=22/tcp –zone=public –permanent
SSL, SSHを内側からはアクセスできるようにする
sudo firewall-cmd –permanent –zone=public –add-rich-rule=”rule family=”ipv4″ source address=”192.168.101.0/24″ port protocol=”tcp” port=”443″ accept”
sudo firewall-cmd –permanent –zone=public –add-rich-rule=”rule family=”ipv4″ source address=”192.168.101.0/24″ port protocol=”tcp” port=”6022″ accept”
firewalldをリロードします
sudo firewall-cmd –reload
(*)
RaspberryPiにfirewalldがインストールされていない時
sudo apt install firewalld でインストールします
firewalldのコマンドなどについて、インターネット検索で沢山情報が
ありますので、そちらを参考にしてください