2016年3月8日火曜日

[RaspberryPi]VPNServerを立てる

VPNサーバーとは
 外部から安全に特定のネットワークへアクセスするサービスを提供するサーバーの事です。

どういう時に導入するの?
 外から自宅のネットワークにアクセスしたい時などは直接複数のポートを開けば良いのだが
セキュリティーホールは開いたポート先のサービス毎に存在することになるので管理が大変だが
VPNサーバーを立てると、外から見えるのはVPNサーバーのポート1つだけになるので
セキュリティーホールはVPNサーバー1つだけとなり、管理がしやすく安全になります。


導入手順
 1.SoftEtherをダウンロードする。


 にアクセスして、

  SoftEhter VPN(Freeware)
   ↓
  SoftEhter VPN Server
   ↓
  Linux
   ↓
  ARM EABI(32bit)

  を選び、最新イメージのダウンロードURLをコピーする。

  $ wget http://jp.softether-download.com/files/softether/v4.19-9605-beta-2016.03.06-tree/Linux/SoftEther_VPN_Server/32bit_-_ARM_EABI/softether-vpnserver-v4.19-9605-beta-2016.03.06-linux-arm_eabi-32bit.tar.gz
    $ tar zxf softether-vpnserver-v4.19-9605-beta-2016.03.06-linux-arm_eabi-32bit.tar.gz
    $ cd vpnserver


 2.コンパイルする。
    $ sudo make

    ~ライセンスについて聞かれるので承諾する。~


 2.起動時に実行するように設定する。
  まずはvpnserverをシステム側に移動させる
    $ cd ..
    $ sudo mv vpnserver /usr/local/
    $ cd /usr/local/vpnserver
    $ sudo chmod 600 *
    $ sudo chmod 700 vpncmd
    $ sudo chmod 700 vpmserver

  次に起動に必要なファイルを作成
    $ sudo vim /etc/init.d/vpnserver
#!/bin/sh
### BEGIN INIT INFO
# Provides:                     vpnserver
# Required-Start:               $local_fs $network
# Required-Stop:                $local_fs $network
# Default-Start:                2 3 4 5
# Default-Stop:                 0 1 6
# Short-Description:            SoftEther VPN 1.0 RC2
# Description:                  Start vpnserver daemon SoftEther VPN 1.0 Server
### END INIT INFO

DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver

. /lib/lsb/init-functions

test -x $DAEMON || exit 0

case "$1" in
start)
sleep 3
log_daemon_msg "Starting SoftEther VPN 1.0 Server" "vpnserver"
$DAEMON start >/dev/null 2>&1
touch $LOCK
log_end_msg 0
sleep 3

;;

stop)
log_daemon_msg "Stopping SoftEther VPN 1.0 Server" "vpnserver"
$DAEMON stop >/dev/null 2>&1
rm $LOCK
log_end_msg 0
sleep 2

;;

restart)
$DAEMON stop
sleep 2

$DAEMON start
sleep 5

;;

status)
    if [ -e $LOCK ]
    then
        echo "vpnserver is running."
    else
        echo "vpnserver is not running."
    fi
;;
*)

echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0


    $ sudo vim /etc/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

[Install]
WantedBy=multi-user.target

    $ sudo chmod +x /etc/init.d/vpnserver
  $ sudo systemctl start vpnserver
  $ sudo systemctl enable vpnserver


 3.ブリッジする
  $ sudo apt-get install bridge-utils
    $ sudo vim /etc/network/interfaces
# loopback
auto lo
iface lo inet loopback

# Ethernet port
auto eth0
iface eth0 inet manual

# Bridge interface
auto br0
iface br0 inet dhcp
bridge_ports eth0

#その他
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp


 4.再起動して自動起動しているか確認する。
    $ sudo reboot
    $ sudo service vpnserver status


 5.外からアクセスできるようルータ側の設定を行う
   SoftEhterは
          TCPの449と2222
          UDPの500と4500
   を使うのでポートを開けておく。


参考URL


コメントを投稿

Androider