Last-modified: 2016-09-18 (日) 01:20:39
SoftEther/インストール

概要

SoftEtherをインストールします。
なおSoftEtherは、この記事を書いた2016/09/04時点では、IKEv2に対応していません。
IKEv2で接続したい場合は、WindowsならRRAS, LinuxならStrongSwanなどで構築する必要があります。

手順 (Windowsの場合)

  1. 公式サイトから、SoftEther VPN Serverをダウンロードし、インストール
    beta版ではなく、RTM版を選びます。

手順(Linuxの場合)

  1. 公式サイトで、SoftEther VPN Serverのダウンロードパスを確認して、ダウンロードし、インストール
    beta版ではなく、RTM版を選びます。
    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
      5
      6
      7
    
    -
    !
     
     
     
    -
    !
    
    # 例
    cd /opt
    wget http://jp.softether-download.com/files/softether/v4.20-9608-rtm-2016.04.17-tree/Linux/SoftEther_VPN_Server/32bit_-_ARM_EABI/softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-arm_eabi-32bit.tar.gz
    tar softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-arm_eabi-32bit.tar.gz
    cd vpnserver
    # ライセンス契約の同意などの質問事項にこたえる
    make
  2. アクセス権限を狭める
    Everything is expanded.Everything is shortened.
      1
      2
    
     
     
    
    chmod -R 600 *
    chmod 700 vpncmd vpnserver
  3. /etc/init.d/vpnserver を作成
    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
    
    -
    !
    -
    |
    !
    -
    |
    |
    |
    |
    |
    |
    |
    |
    |
    !
     
     
     
     
     
    -
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    
    #!/bin/sh
     
    # chkconfig: 2345 99 01
    # description: SoftetherVPN 4.0
     
    ### BEGIN INIT INFO
    # Provides:          vpnserver
    # Required-Start:
    # Required-Stop:
    # X-Stop-After:
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: SoftetherVPN 4.0
    # Description:
    ### END INIT INFO
     
    DAEMON=/opt/vpnserver/vpnserver
    LOCK=/var/lock/vpnserver
     
    test -x $DAEMON || exit 0
     
    case "$1" in
    start)
            $DAEMON start
            touch $LOCK
            ;;
    stop)
            $DAEMON stop
            rm $LOCK
            ;;
    restart)
            $DAEMON stop
            sleep 3
            $DAEMON start
            ;;
    *)
            echo "Usage: $0 {start|stop|restart}"
            exit 1
    esac
     
    exit 0
  4. 登録して起動
    Everything is expanded.Everything is shortened.
      1
      2
      3
    
     
     
     
    
    chmod 755 /etc/init.d/vpnserver 
    update-rc.d vpnserver defaults
    service vpnserver start

設定(Windows/Linux共通)

一般的には、SoftEther VPN Server Manager経由で、遠隔管理します。
初回接続時には、ウィザード形式のセットアップが始まります(あとから同じ設定画面を開けるので、ここですべてを設定しなくても構いません)
Windowsかつ標準のファイアウォールを使用している場合は、SoftEtherのインストーラーが設定を変更してるので、ファイアーウォールの設定は不要です。
Linuxの場合は、自分でiptablesの設定を変更します。
あとはルーターのNAT設定で、外からVPN Serverへ到達する為のポート変換ルールを追加するだけです。

ローカルブリッジ設定

[ローカルブリッジ設定]
仮想HUBと物理NIC間でレイヤー2ブリッジを構成するかどうかを選択します。
クライアントがVPN接続した際に、VPNServerが接続しているLANリソースへアクセスするためには、ローカルブリッジSecureNATを構成する必要があります。
なお、ローカルブリッジを有効にするためには、NICのプロミスキャスモードが有効になっていないといけません。
無線LANや仮想マシンのNICの場合、大抵プロミスキャスモードが無効になっているため、ローカルブリッジは構成できません(構成は可能ですが、正常に動作しません)

000005.png

SecureNAT設定

<仮想HUBを選択>-[仮想HUBの管理]-[仮想NATおよび仮想DHCPサーバー機能]
VPNServer内に仮想ルーターを設置したイメージです。クライアントのデフォルトゲートウェイは仮想ルーターになり、仮想ルーター内で独自のIP体系を構築できます。
NAT機能とDHCPサーバー機能は個別に有効/無効を切り替えることが可能です。

000007.png

ユーザー設定

<仮想HUBを選択>-[仮想HUBの管理]-[ユーザーの管理]
ユーザーの作成を行います。
認証方式には、パスワード, 固有証明書, 署名済み証明書, RADIUS, NTドメイン, ADによる認証が選択できます。
説明用に、パスワード認証と署名済み証明書認証のユーザーを用意しています。

000002.png

PrivateCAによる署名済み証明書認証をするためには、以下の準備が必要です。

ログ設定

<仮想HUBを選択>-[仮想HUBの管理]-[ログ保存設定]
必要に応じて調整します。

000006.png

管理用ポートの設定

[リスナーの管理]
VPN Server Managerによる接続を待ち受けるかどうかという設定ではなく、プロセスとして待ち受けるかという設定です。
ですので例えば443を停止すると、443で待ち受けているSSTPも繋がらなくなります。

暗号化と通信関係の設定

[暗号化と通信関係の設定]
[使用する暗号化アルゴリズム]は、SSL-VPN(SSTP, OpenVPN, SoftEtherVPN)で使用するTLS暗号スイートの設定です。選択可能な最大強度(AES256-SHA)を選択します。
[サーバー証明書]は、SSL-VPN(SSTP, OpenVPN, SoftEtherVPN)で提示するサーバー証明書の設定です。
SoftEtherのダイナミックDNS機能をつかうのであれば、デフォルトの証明書でよかったような気もしますが、
独自ドメインで接続する場合、証明書のCNが一致しないので、SSTPなどで接続エラーになります。
ユーザー設定の項で作成した、PrivateCAでサーバー証明書を作成し、インポートしておきます。

000004.png

具体的なプロトコル別手順

SoftEtherでのL2TP/IPsec, SSTP接続は、以下のリンクで解説しています。
OpenVPNは興味がなかったので試していませんが、同じ感覚で(クライアントを入れる必要はありますが)簡単にできるはずです。
プロトコルとしてのSoftEther VPNを使う場合は、SSTPと同様に443ポートを使うので接続可能性が高く、専用クライアントにより簡単に接続できます。

  • L2TP/IPsec
  • SSTP

検証時の環境

参考