目次

21 CentOS5でPacketix VPN Client

ダウンロード

ここからダウンロードしてくる。

https://www.softether.com/jp/download/

コンパイル

# tar zxvf vpnclient-5280-rtm-linux-x64.tar.gz
# cd vpnclient
# make
# mv vpnserver /usr/local
# cd /usr/local/vpnclient
# chmod 600 *
# chmod 700 vpnclient vpncmd

エラーが出る場合(/usr/bin/ld: cannot find ....)

 # yum install readline-devel
 # yum install ncurses-devel

vpnclientを起動(PacketiX を使うには vpnclient を起動しておく必要がある。)

 # ./vpnclient start
 PacketiX VPN Client Service Started.

vpncmd で設定をしていく

 # ./vpncmd
 vpncmd コマンド - PacketiX VPN コマンドライン管理ユーティリティ
 PacketiX VPN コマンドライン管理ユーティリティ (vpncmd コマンド)
 Version 2.20 Build 5280
 Compiled Nov 26 2006 21:30:19 by yagi at ILC308
 Copyright (C) 2004-2006 SoftEther Corporation. All Rights Reserved.
 
 vpncmd プログラムを使って以下のことができます。
 
 1. VPN Server または VPN Bridge の管理
 2. VPN Client の管理
 3. VPN Tools コマンドの使用 (証明書作成や通信速度測定)
 
 1 - 3 を選択: 2
 
 接続先の VPN Client が動作しているコンピュータの IP アドレスまたはホスト名を指定してください。
 何も入力せずに Enter を押すと、localhost (このコンピュータ) に接続します。
 接続先を入力: localhost
 
 VPN Client "localhost" に接続しました。
 
 VPN Client>

仮想 NIC の追加

 VPN Client>NicCreate
 NicCreate コマンド - 新規仮想 LAN カードの作成
 仮想 LAN カードの名前: nic01
 
 コマンドは正常に終了しました。
 
 VPN Client>NicList
 NicList コマンド - 仮想 LAN カード一覧の取得
 項目             |値
 -----------------+-----------------------
 仮想 LAN カード名|nic01
 状態             |有効 (使用可能)
 MAC アドレス     |00AC70ADD41F
 バージョン       |Version 2.20 Build 5280 
 コマンドは正常に終了しました。

接続先の設定

 VPN Client>AccountCreate
 AccountCreate コマンド - 新しい接続設定の作成
 接続設定の名前: セキュアインターネット接続
 
 接続先 VPN Server のホスト名とポート番号: public.softether.com:443
 
 接続先仮想 HUB 名: PUBLIC
 
 接続するユーザー名: PUBLIC
 
 使用する仮想 LAN カード名: nic01
 
 コマンドは正常に終了しました。
 
 VPN Client>AccountList
 AccountList コマンド - 接続設定一覧の取得
 項目             |値
 -----------------+---------------------------------------
 接続設定名       |セキュアインターネット接続
 状態             |オフライン
 接続先サーバー   |public.softether.com (直接 TCP/IP 接続)
 仮想 LAN カード名|nic01
 コマンドは正常に終了しました。

ユーザー認証の種類がパスワードの場合

VPN Client>AccountPasswordSet セキュアインターネット接続
Password: *******
Confirm input: *******


Specify standard or radius: standard

The command completed successfully.

ユーザー認証の種類がクライアント証明書認証の場合

 VPN Client>AccountCertSet セキュアインターネット接続
 AccountCertSet コマンド - 接続設定のユーザー認証の種類をクライアント証明書認証に設定
 読み込む X.509 証明書のファイル名: /home/matsui/Desktop/matsui.cer
 
 読み込む秘密鍵のファイル名: /home/matsui/Desktop/matsui.key
 
 指定された秘密鍵ファイルはパスフレーズによって保護されています。
 パスフレーズを入力してください: ********
 コマンドは正常に終了しました。

接続先に接続

 VPN Client>AccountConnect セキュアインターネット接続
 AccountConnect コマンド - 接続設定を使用して VPN Server へ接続を開始
 コマンドは正常に終了しました。
 
 VPN Client>AccountList
 AccountList コマンド - 接続設定一覧の取得
 項目             |値
 -----------------+---------------------------------------
 接続設定名       |セキュアインターネット接続
 状態             |接続完了
 接続先サーバー   |public.softether.com (直接 TCP/IP 接続)
 仮想 LAN カード名|nic01
 コマンドは正常に終了しました。

接続設定をスタートアップ接続に設定

 VPN Client>AccountStartupSet セキュアインターネット接続

仮想 NIC に IP アドレスを割り当てるように設定

 # vi /etc/sysconfig/network-scripts/ifcfg-vpn_nic01
 DEVICE=vpn_nic01
 ONBOOT=yes
 BOOTPROTO=dhcp
 
 # ifdown vpn_nic01
 # ifup vpn_nic01

自動起動スクリプト

#!/bin/sh
# chkconfig: 2345 99 01
# description: PacketiX VPN Client 3.0

ETH=eth0
VPN=vpn_nic01
VPN_GW=192.168.30.1

DAEMON=/usr/local/vpnclient/vpnclient
LOCK=/var/lock/subsys/vpnclient
IFUP=/sbin/ifup
IFDOWN=/sbin/ifdown
ROUTE=/sbin/route

test -x $DAEMON || exit 0
case "$1" in
    start)
        $DAEMON start
        touch $LOCK
        sleep 1

       $IFDOWN $VPN
        $IFUP $VPN

       # add route
       $ROUTE add -net 192.168.0.0/16 gw 192.168.30.1
        ;;
    stop)
        $DAEMON stop
        rm $LOCK
        ;;
    restart)
        $0 stop
        sleep 3         # Adjust according to your env
        $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac
exit 0

ログローテート

/etc/cron.daily/vpnserver.cron

#!/bin/sh
find /usr/local/vpnserver/*_log  /usr/local/vpnclient/*_log -name '*.log' -mtime +30 -delete
chmod +x /etc/cron.daily/vpnserver.cron

PacketiX VPNのインストール

http://www.softether.co.jp/jp/vpn2/manual/web/7-3.aspx

コマンドライン

毎回対話式で確認するのは面倒なので、コマンドラインも載せておく

/usr/local/vpnclient/vpncmd localhost /CLIENT /CMD accountlist