ライン

ポイント:手軽に利用できるVPN

ライン

 はじめに

UT-VPN

 ソフトイーサは一時期脚光を浴びていた有名なアプリでしたが、商業化が進む段階で多くのユーザが離れ感が大きかったと思います。現在の商品版である PacketiX VPN をオープンソース化したのが、UT-VPN。2010年の6月から公開しているものだそうです。
 UTとは、University of Tsukubaの略称。GPLなので商用利用も可能です。
FreeBSDも動作環境に含まれていて、Intel x86 (32-bit)とIntel x64 / AMD64 (64-bit)の2つのサーバ版が配布されています。
試したのは、Windows Server 2008 R2とFreeBSD 8.1。このページでは後者のみについて記述をしています。

 導入

バージョン 1.01

 GPLなので配布は自由に行うことができます。

 FreeBSDにはまだportsが存在していません。英語版がまだ出ていないし、コンパイルするまでの部分が雑な説明しかないのです。
ソースを持ってきて、そのままmakeでいいのですが、ここでは管理しにくいので自作portsにして管理しておくことにしました。

 お試しで使う方は、ports(misc/ut-vpn) をお持ち帰りして、/usr/ports/miscなどの上で解凍して使ってみてください。
(これまでに持ち帰った人はほとんどいないけど)
 無責任モードでおいておきます。煮るなり焼くなりしてご活用ください。

 上記は、Windows 7のクライアントからの接続用の画面です。
サーバの設定が終われば、すぐに利用開始ができます。

導入作業

 FreeBSD 8.1-RELEASEのマシンで他のサービスで動作しているものに同居の形で動作させてみました。

 前章の通り、導入をportsを作成しています。アンインストールも容易ですし、それぞれの環境で活用いただいて導入をしてみてください。

 動作用のスクリプトも準備してありますので、普通に導入してください。
 Makefileだけ以下の通りにさらしておきます。portlintなど一切かけていない状態ですが、動く程度にはなっています。

# New ports collection makefile for: ut-vpn
# Date created: 15 December 2010
# Whom: ports <ports@FreeBSD.org>
#
# $FreeBSD$
#

PORTNAME= ut-vpn
PORTVERSION= 1.01
CATEGORIES= misc
MASTER_SITES= \
http://utvpn.tsukuba.ac.jp/files/utvpn/v1.01-7101-public-2010.06.27/Source%20Code%20(Win32%20and%20Unix)/
DISTNAME= ${PORTNAME:S/-//g}-src-unix-v${PORTVERSION:S/.//g}-7101-public-2010.06.27

MAINTAINER= ports@FreeBSD.org
COMMENT= SoftEther UT-VPN for Unix

LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/License-ja.txt

ONLY_FOR_ARCHS= i386 amd64
WRKSRC= ${WRKDIR}/${PORTNAME:S/-//g}-unix-v${PORTVERSION:S/.//g}-7101-public

USE_GMAKE= yes
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}

do-configure:
@cd ${WRKSRC} && ./configure

do-build:
@cd ${WRKSRC} && ${GMAKE}

do-install:
@(cd ${WRKSRC} && ${GMAKE} install)
@${MKDIR} ${DOCSDIR}
.if !defined(NOPORTDOCS)
@cd ${WRKSRC} && ${INSTALL_DATA} UT-VPN_Developers_Guide.pdf ${DOCSDIR}
@cd ${WRKSRC} && ${INSTALL_DATA} UT-VPN_Startup_Guide_for_UNIX.pdf ${DOCSDIR}
.endif
@${ECHO} '---> Installing start/stop script'
${SED} -e "s|%%TARGETDIR%%|${PREFIX}|g" \
< ${SCRIPTDIR}/ut-vpn-dist \
> ${PREFIX}/etc/rc.d/ut-vpn
${CHMOD} 755 ${PREFIX}/etc/rc.d/ut-vpn && \
${CHOWN} root:wheel ${PREFIX}/etc/rc.d/ut-vpn

.include <bsd.port.mk>

 makeしてあげると、32bitまたは64bitの選択を求められますので、ご自分の環境のものを選択してください。
/usr/local以下に作成された3つのディレクトリに導入が行われます。
plistもそこそこ書いてあるので、アンインストール時には掃除がされるはずです。
使用後はサーバ用のディレクトリにはログなども生成されますので、残ると思いますので手動で対応ください。
 /etc/rc.confに ut-vpn_enable="YES" を入れないと動作しないので、最初に追加してからスクリプトを実行してください。
動作の開始を確認できると思います。
 stopで停止がうまくできなかったので、停止は killで殺すように作り直しています。うまくいっていない原因追及はやっていません。

 設定

サーバの設定

 設定は、設定ファイルがあるのではなく、telnetやSSHにてCUIにより行います。
よりによって日本語なので、コンソールからは実施できませんでした。

#utvpncmd
utvpncmd コマンド - SoftEther UT-VPN コマンドライン管理ユーティリティ
SoftEther UT-VPN コマンドライン管理ユーティリティ (utvpncmd コマンド)
Version 1.01 Build 7101   (Japanese)
Compiled 2010/06/27 18:40:28 by yagi at pc25
Copyright (C) 2004-2010 SoftEther Corporation.
Copyright (C) 2004-2010 University of Tsukuba, Japan.
Copyright (C) 2003-2010 Daiyuu Nobori.
All Rights Reserved.

utvpncmd プログラムを使って以下のことができます。

1. VPN Server または VPN Bridge の管理
2. VPN Client の管理
3. VPN Tools コマンドの使用 (証明書作成や通信速度測定)

1 - 3 を選択: 1

接続先の VPN Server または VPN Bridge が動作しているコンピュータの IP アドレスまたはホスト名を指定してください。
'ホスト名:ポート番号' の形式で指定すると、ポート番号も指定できます。
(ポート番号を指定しない場合は 443 が使用されます。)
何も入力せずに Enter を押すと、localhost (このコンピュータ) のポート 443 に接続します。
接続先のホスト名または IP アドレス:

サーバーに仮想 HUB 管理モードで接続する場合は、仮想 HUB 名を入力してください。
サーバー管理モードで接続する場合は、何も入力せずに Enter を押してください。
接続先の仮想 HUB 名を入力:
パスワード: ********

VPN Server "localhost" (ポート 443) に接続しました。

VPN Server 全体の管理権限があります。

VPN Server>

 このようなイメージです。

 コマンドは以下のものが選択できます。

VPN Server>?
下記の 187 個のコマンドが使用できます:
 About                      - バージョン情報の表示
 AcAdd                      - 接続元 IP 制限リストにルールを追加 (IPv4)
 AcAdd6                     - 接続元 IP 制限リストにルールを追加 (IPv6)
 AcDel                      - 接続元 IP 制限リスト内のルールの削除
 AcList                     - 接続元 IP 制限リストのルール一覧の取得
 AccessAdd                  - アクセスリストへのルールの追加 (IPv4)
 AccessAdd6                 - アクセスリストへのルールの追加 (IPv6)
 AccessAddEx                - アクセスリストへのルールの追加 (IPv4, 遅延・ジッタ・パケットロス設定可能)
 AccessAddEx6               - アクセスリストへのルールの追加 (IPv6, 遅延・ジッタ・パケットロス設定可能)
 AccessDelete               - アクセスリストからルールを削除
 AccessDisable              - アクセスリストのルールの無効化
 AccessEnable               - アクセスリストのルールの有効化
 AccessList                 - アクセスリストのルール一覧の取得
 AdminOptionList            - 仮想 HUB 管理オプションの一覧の取得
 AdminOptionSet             - 仮想 HUB 管理オプションの値の設定
 BridgeCreate               - ローカルブリッジ接続の作成
 BridgeDelete               - ローカルブリッジ接続の削除
 BridgeDeviceList           - ローカルブリッジに使用できる LAN カード一覧の取得
 BridgeList                 - ローカルブリッジ接続の一覧の取得
 CAAdd                      - 信頼する証明機関の証明書の追加
 CADelete                   - 信頼する証明機関の証明書の削除
 CAGet                      - 信頼する証明機関の証明書の取得
 CAList                     - 信頼する証明機関の証明書一覧の取得
 Caps                       - サーバーの機能・能力一覧の取得
 CascadeAnonymousSet        - カスケード接続のユーザー認証の種類を匿名認証に設定
 CascadeCertGet             - カスケード接続に用いるクライアント証明書の取得
 CascadeCertSet             - カスケード接続のユーザー認証の種類をクライアント証明書認証に設定
 CascadeCompressDisable     - カスケード接続の通信時のデータ圧縮の無効化
 CascadeCompressEnable      - カスケード接続の通信時のデータ圧縮の有効化
 CascadeCreate              - 新しいカスケード接続の作成
 CascadeDelete              - カスケード接続の削除
 CascadeDetailSet           - カスケード接続の高度な通信設定の設定
 CascadeEncryptDisable      - カスケード接続の通信時の暗号化の無効化
 CascadeEncryptEnable       - カスケード接続の通信時の暗号化の有効化
 CascadeGet                 - カスケード接続の設定の取得
 CascadeList                - カスケード接続一覧の取得
 CascadeOffline             - カスケード接続のオフライン状態への設定
 CascadeOnline              - カスケード接続のオンライン状態への設定
 CascadePasswordSet         - カスケード接続のユーザー認証の種類をパスワード認証に設定
 CascadePolicySet           - カスケード接続セッションのセキュリティポリシーの設定
 CascadeProxyHttp           - カスケード接続の接続方法を HTTP プロキシサーバー経由接続に設定
 CascadeProxyNone           - カスケード接続の接続方法を直接 TCP/IP 接続に設定
 CascadeProxySocks          - カスケード接続の接続方法を SOCKS プロキシサーバー経由接続に設定
 CascadeRename              - カスケード接続の名前の変更
 CascadeServerCertDelete    - カスケード接続のサーバー固有証明書の削除
 CascadeServerCertDisable   - カスケード接続のサーバー証明書の検証オプションの無効化
 CascadeServerCertEnable    - カスケード接続のサーバー証明書の検証オプションの有効化
 CascadeServerCertGet       - カスケード接続のサーバー固有証明書の取得
 CascadeServerCertSet       - カスケード接続のサーバー固有証明書の設定
 CascadeSet                 - カスケード接続の接続先の設定
 CascadeStatusGet           - カスケード接続の現在の状態の取得
 CascadeUsernameSet         - カスケード接続の接続に使用するユーザー名の設定
 Check                      - SoftEther UT-VPN の動作が可能かどうかチェックする
 ClusterConnectionStatusGet - クラスタコントローラへの接続状態の取得
 ClusterMemberCertGet       - クラスタメンバの証明書の取得
 ClusterMemberInfoGet       - クラスタメンバの情報の取得
 ClusterMemberList          - クラスタメンバの一覧の取得
 ClusterSettingController   - VPN Server の種類をクラスタコントローラに設定
 ClusterSettingGet          - 現在の VPN Server のクラスタリング構成の取得
 ClusterSettingMember       - VPN Server の種類をクラスタメンバに設定
 ClusterSettingStandalone   - VPN Server の種類をスタンドアロンに設定
 ConfigGet                  - VPN Server の現在のコンフィグレーションの取得
 ConfigSet                  - VPN Server へのコンフィグレーションの書き込み
 ConnectionDisconnect       - VPN Server に接続中の TCP コネクションの切断
 ConnectionGet              - VPN Server に接続中の TCP コネクションの情報の取得
 ConnectionList             - VPN Server に接続中の TCP コネクション一覧の取得
 Crash                      - VPN Server / Bridge プロセスでエラーを発生させプロセスを強制終了する
 CrlAdd                     - 無効な証明書の追加
 CrlDel                     - 無効な証明書の削除
 CrlGet                     - 無効な証明書の取得
 CrlList                    - 無効な証明書リストの一覧の取得
 Debug                      - デバッグコマンドの実行
 DhcpDisable                - SecureNAT 機能の仮想 DHCP サーバー機能の無効化
 DhcpEnable                 - SecureNAT 機能の仮想 DHCP サーバー機能の有効化
 DhcpGet                    - SecureNAT 機能の仮想 DHCP サーバー機能の設定の取得
 DhcpSet                    - SecureNAT 機能の仮想 DHCP サーバー機能の設定の変更
 DhcpTable                  - SecureNAT 機能の仮想 DHCP サーバー機能のリーステーブルの取得
 ExtOptionList              - 仮想 HUB 拡張オプションの一覧の取得
 ExtOptionSet               - 仮想 HUB 管理オプションの値の設定
 Flush                      - VPN Server / Bridge の未保存の設定データを設定ファイルに強制保存する
 GroupCreate                - グループの作成
 GroupDelete                - グループの削除
 GroupGet                   - グループ情報と所属しているユーザー一覧の取得
 GroupJoin                  - グループにユーザーを追加
 GroupList                  - グループ一覧の取得
 GroupPolicyRemove          - グループのセキュリティポリシーの削除
 GroupPolicySet             - グループのセキュリティポリシーの設定
 GroupSet                   - グループ情報の設定
 GroupUnjoin                - グループからユーザーを削除
 Hub                        - 管理する仮想 HUB の選択
 HubCreate                  - 新しい仮想 HUB の作成
 HubCreateDynamic           - 新しいダイナミック仮想 HUB の作成 (クラスタリング用)
 HubCreateStatic            - 新しいスタティック仮想 HUB の作成 (クラスタリング用)
 HubDelete                  - 仮想 HUB の削除
 HubList                    - 仮想 HUB の一覧の取得
 HubSetDynamic              - 仮想 HUB の種類をダイナミック仮想 HUB に変更
 HubSetStatic               - 仮想 HUB の種類をスタティック仮想 HUB に変更
 IpDelete                   - IP アドレステーブルエントリの削除
 IpTable                    - IP アドレステーブルデータベースの取得
 KeepDisable                - インターネット接続の維持機能の無効化
 KeepEnable                 - インターネット接続の維持機能の有効化
 KeepGet                    - インターネット接続の維持機能の取得
 KeepSet                    - インターネット接続の維持機能の設定
 LicenseAdd                 - 新しいライセンスキーの登録
 LicenseDel                 - 登録されているライセンスの削除
 LicenseList                - 登録されているライセンス一覧の取得
 LicenseStatus              - 現在の VPN Server のライセンス状態の取得
 ListenerCreate             - TCP リスナーの追加
 ListenerDelete             - TCP リスナーの削除
 ListenerDisable            - TCP リスナーの動作停止
 ListenerEnable             - TCP リスナーの動作開始
 ListenerList               - TCP リスナー一覧の取得
 LogDisable                 - セキュリティログまたはパケットログの無効化
 LogEnable                  - セキュリティログまたはパケットログの有効化
 LogFileGet                 - ログファイルのダウンロード
 LogFileList                - ログファイル一覧の取得
 LogGet                     - 仮想 HUB のログ保存設定の取得
 LogPacketSaveType          - パケットログに保存するパケットの種類と保存内容の設定
 LogSwitchSet               - ログファイルの切り替え周期の設定
 MacDelete                  - MAC アドレステーブルエントリの削除
 MacTable                   - MAC アドレステーブルデータベースの取得
 MakeCert                   - 新しい X.509 証明書と秘密鍵の作成
 NatDisable                 - SecureNAT 機能の仮想 NAT 機能の無効化
 NatEnable                  - SecureNAT 機能の仮想 NAT 機能の有効化
 NatGet                     - SecureNAT 機能の仮想 NAT 機能の設定の取得
 NatSet                     - SecureNAT 機能の仮想 NAT 機能の設定の変更
 NatTable                   - SecureNAT 機能の仮想 NAT 機能のセッションテーブルの取得
 Offline                    - 仮想 HUB をオフラインにする
 Online                     - 仮想 HUB をオンラインにする
 OptionsGet                 - 仮想 HUB のオプション設定の取得
 PolicyList                 - セキュリティポリシーの種類と設定可能値の一覧を表示
 RadiusServerDelete         - ユーザー認証に使用する Radius サーバー設定の削除
 RadiusServerGet            - ユーザー認証に使用する Radius サーバー設定の取得
 RadiusServerSet            - ユーザー認証に使用する Radius サーバーの設定
 Reboot                     - VPN Server サービスの再起動
 RouterAdd                  - 新しい仮想レイヤ 3 スイッチの定義
 RouterDelete               - 仮想レイヤ 3 スイッチの削除
 RouterIfAdd                - 仮想レイヤ 3 スイッチへの仮想インターフェイスの追加
 RouterIfDel                - 仮想レイヤ 3 スイッチの仮想インターフェイスの削除
 RouterIfList               - 仮想レイヤ 3 スイッチに登録されているインターフェイス一覧の取得
 RouterList                 - 仮想レイヤ 3 スイッチ一覧の取得
 RouterStart                - 仮想レイヤ 3 スイッチの動作の開始
 RouterStop                 - 仮想レイヤ 3 スイッチの動作の停止
 RouterTableAdd             - 仮想レイヤ 3 スイッチへのルーティングテーブルエントリの追加
 RouterTableDel             - 仮想レイヤ 3 スイッチのルーティングテーブルエントリの削除
 RouterTableList            - 仮想レイヤ 3 スイッチのルーティングテーブル一覧の取得
 SecureNatDisable           - 仮想 NAT および DHCP サーバー機能 (SecureNAT 機能) の無効化
 SecureNatEnable            - 仮想 NAT および DHCP サーバー機能 (SecureNAT 機能) の有効化
 SecureNatHostGet           - SecureNAT 機能の仮想ホストのネットワークインターフェイス設定の取得
 SecureNatHostSet           - SecureNAT 機能の仮想ホストのネットワークインターフェイス設定の変更
 SecureNatStatusGet         - 仮想 NAT および DHCP サーバー機能 (SecureNAT 機能) の動作状況の取得
 ServerCertGet              - VPN Server の SSL 証明書の取得
 ServerCertSet              - VPN Server の SSL 証明書と秘密鍵の設定
 ServerCipherGet            - VPN 通信で使用される暗号化アルゴリズムの取得
 ServerCipherSet            - VPN 通信で使用される暗号化アルゴリズムの設定
 ServerInfoGet              - サーバー情報の取得
 ServerKeyGet               - VPN Server の SSL 証明書の秘密鍵の取得
 ServerPasswordSet          - VPN Server の管理者パスワードの設定
 ServerStatusGet            - サーバーの現在の状態の取得
 SessionDisconnect          - セッションの切断
 SessionGet                 - セッション情報の取得
 SessionList                - 接続中のセッション一覧の取得
 SetEnumAllow               - 仮想 HUB の匿名ユーザーへの列挙の許可設定
 SetEnumDeny                - 仮想 HUB の匿名ユーザーへの列挙の禁止設定
 SetHubPassword             - 仮想 HUB の管理パスワードを設定する
 SetMaxSession              - 仮想 HUB の最大同時接続セッション数を設定する
 StatusGet                  - 仮想 HUB の現在の状況の取得
 SyslogDisable              - syslog 送信機能の無効化
 SyslogEnable               - syslog 送信機能の設定
 SyslogGet                  - syslog 送信機能の取得
 TrafficClient              - 通信スループット測定ツールクライアントの実行
 TrafficServer              - 通信スループット測定ツールサーバーの実行
 UserAnonymousSet           - ユーザーの認証方法を匿名認証に設定
 UserCertGet                - 固有証明書認証のユーザーの登録されている証明書の取得
 UserCertSet                - ユーザーの認証方法を固有証明書認証に設定し証明書を設定
 UserCreate                 - ユーザーの作成
 UserDelete                 - ユーザーの削除
 UserExpiresSet             - ユーザーの有効期限の設定
 UserGet                    - ユーザー情報の取得
 UserList                   - ユーザー一覧の取得
 UserNTLMSet                - ユーザーの認証方法を NT ドメイン認証に設定
 UserPasswordSet            - ユーザーの認証方法をパスワード認証に設定しパスワードを設定
 UserPolicyRemove           - ユーザーのセキュリティポリシーの削除
 UserPolicySet              - ユーザーのセキュリティポリシーの設定
 UserRadiusSet              - ユーザーの認証方法を Radius 認証に設定
 UserSet                    - ユーザー情報の変更
 UserSignedSet              - ユーザーの認証方法を署名済み証明書認証に設定

 実際に設定を入れてみることにします。
 少し加筆して書きますが、VMwareで構築した仮想環境なので、E1000(em0/em1)が存在する環境です。
em0 側はグローバル側のネット、em1側はプライベート側のネットワークというイメージで考えてください。
 私は、遠隔地よりNAT経由でサーバで動作しているUT-VPNのサーバに接続したいというイメージでいます。
サーバ側には、処理ハブを作成し、そこに存在しているプライベートなネットワークにブリッジ接続して、現地のLANを使う想定で書きます。 

> HubCreate (サーバのハブ名)
..
> BridgeDeviceList
..
> BridgeCreate
..
> Bridgelist
BridgeList コマンド - ローカルブリッジ接続の一覧の取得
番号|仮想 HUB 名|ブリッジ先 LAN カードまたは tap デバイス名|状態
----+-----------+------------------------------------------+------
1   |DEFAULT    |em1                                       |動作中

 ハブ名とパスワードを決めて、ネットワークカードにブリッジを決めます。
他のUT-VPNなどのハブと接続する場合には、カスケード接続してあげることで接続することができます。
ここでは、サーバ上に作成した仮想ハブをem1 のNICと接続されたLANに接続しただけです。

 次に、ハブに接続するユーザとパスワードを決めます。
これは、クライアントが使うためのアカウントの設定で、ユーザやグループごとにポリシー設定をすることもできます。

VPN Server>HUB DEFAULT
Hub コマンド - 管理する仮想 HUB の選択
仮想 HUB "DEFAULT" を選択しました。
コマンドは正常に終了しました。

VPN Server/DEFAULT>usercreate
UserCreate コマンド - ユーザーの作成
ユーザー名: ayamada

参加するグループ名:

ユーザーの本名: yamada

ユーザーの説明:

コマンドは正常に終了しました。

VPN Server/DEFAULT>userpasswordset
UserPasswordSet コマンド - ユーザーの認証方法をパスワード認証に設定しパスワードを設定
ユーザー名: ayamada

パスワードを入力してください。キャンセルするには Ctrl+D キーを押してください。

パスワード: ********
確認入力  : ********


コマンドは正常に終了しました。

VPN Server/DEFAULT>
接続するクライアント側の設定

 さて、VPNにクライアントより接続します。今回も、PCはWindows 7に導入して利用することにします。
サーバ側は、グローバルなアドレスとして見ているサーバなので、NATのポートフォワードなどの設定は無用でした。

 上記、クライアント側の設定画面。接続設定名は適当な名称。
ホスト名は、IPアドレスでもOK。サーバの設定したホスト名を指定。
ポート番号は、プルダウンで選択できる3つから指定。空いているものを指定。443は、SSLの穴が空いている環境なら指定。
仮想HUB名は、指定したハブ名を指定。
ユーザ名とパスワードは、先ほど設定したもので指定します。

 動作モードは、どちらでもOKです。ネットの向こう側のESXiに接続できるし、便利です。

 現時点までに課題は2つありました。
 1つは、サーバ側で再起動の際に スクリプトがうまくあがってこない点。最初は発生しなかった問題なかったのに、

COUNT=`grep '^ut-vpn_enable="YES"' /etc/rc.conf | wc -l`
if [ ${COUNT} -eq 0 ]; then
        exit 0
fi

の箇所を数回トライして終わってしまう事象が発生するようになりました。解せない状態。

 2つ目は、SecureNATを利用した接続。
 接続先で動作しているDHCP側を参照せずに、SecureNAT側のDHCPを拾ってしまう障害が発生してしまったこと。1つのネットワークに複数のDHCPサーバが見えるようになると動作が不安定になり困ったことになるのはいつものこと。これは想定していなかったのでビックリでした。

 多少試行錯誤しましたが、クライアント環境からサーバに接続して使う場合に、SecureNATを動作させて使うのが非常に簡単。
しかしながら、NATのDHCPも動作させると問題が発生することがあるために、NAT内のDHCPを停止させた状態で利用する方針としました。
 要するに、クライアント側の仮想NICには、IPアドレスを 192.168.30.10 /24 GW:192.168.30.1 DNS: 192.168.30.1 のように固定で設定する。(デフォルトが 192.168.30.0/24のネットワークになっているようです。上記は例です)
 これで、接続は問題ありません。ただし、向こうのLAN側に向かっていってくれない状態にあります。(こっちのDefault routeに向かってしまうので)
 Windows環境であれば、route add 192.168.0.0 mask 255.255.255.0 192.168.30.1 のように指定することで、VPN経由で向こうのネットワークにアクセスできるようになります。Windows 7では、管理者権限で上記コマンドは投入する必要があります。
 毎回、これを投入することが面倒な場合には、 -p のパラメータ付きで実行することで恒久化できます。これを削除したい場合には route delete で実施するようにしてください。(route delete 192.168.0.0 のように。)

 その他

IPv6

 実は、今回接続したマシンは、IPv6のトンネルを設定しているマシンです。

ipv6_enable="YES"
ipv6_gateway_enable="YES"
ipv6_ifconfig_em0="2001:GGG:HHHH:1::300 prefixlen 64"
ipv6_defaultrouter="2001:GGG:HHHH:1::100"

dtcpclient_enable="YES"                         # Enable dtcpclient
dtcpclient_server="dtcp.feel6.jp"             # DTCP server name
dtcpclient_username="bar"                      # DTCP user name
dtcpclient_flags="-t network -Dl -n -p 20200"   # Flags to dtcpclient program

rtadvd_enable="YES"
rtadvd_interfaces="em0"

 こんな設定をしていますが、VPN接続するとIPv6にも出られるようになります。
ただし、この場合には SecureNATを利用しない形で実施したケースのみです。これはそのうちに解消されることでしょう。

いろんな使い方ができそうです。
【改訂履歴】作成: 2010/12/15 ページの最終更新は 2011/2/11。

【参考リンク】

報道発表資料 - PacketiX VPN をオープンソース (GPL) 化し筑波大学 VPN プロジェクト (UT-VPN) としてダウンロード開始
FreeBSDでUT-VPN…kazukichiのNo titleのページより

@@@
Copyright © 1996,1997-2006,2007- by F.Kimura,