at_takuya.sasaki
2016年3月6日 21時18分
Armadillo-840でSoftEther VPN [*1] を使ったVPNクライアントの動作を試してみます。 まずはDebian上で試してみたいと思います。
[*1] https://ja.softether.org/
1. ATDE5にサーバー環境構築
1-1. アーカイブをダウンロード、展開
• SoftEther ダウンロード センターで、以下を選択し、ダウンロード
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ダウンロードするソフトウェアを選択 SoftEhter VPN (Freeware)
コンポーネントを選択 SoftEther VPN Client
プラットフォームを選択 Linux
CPUを選択 Intel x64 / AMD64 (64bit)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• 直リンクはこちら
1-2. 展開したディレクトリへ移動し、make
ATDE5 ~/vpnserver]$ make
※ 「SoftEther VPN 動作環境チェックツール」が実行されるので結果を確認
┌────
│ SoftEther VPN 動作環境チェックツール
│
│ Copyright (c) SoftEther VPN Project.
│ All Rights Reserved.
│
│ この動作環境チェックツールを実行したシステムがテストに合格した場合は、SoftEther VPN ソフトウェアが動作する可能性が高いです。チェックにはしばらく時間がかかる場合があります。そのままお待ちください...
│
│ 'カーネル系' のチェック中...
│ [合格] ○
│ 'メモリ操作系' のチェック中...
│ [合格] ○
│ 'ANSI / Unicode 文字列処理系' のチェック中...
│ [合格] ○
│ 'ファイルシステム' のチェック中...
│ [合格] ○
│ 'スレッド処理システム' のチェック中...
│ [合格] ○
│ 'ネットワークシステム' のチェック中...
│ [合格] ○
│
│ すべてのチェックに合格しました。このシステム上で SoftEther VPN Server / Bridge が正しく動作する可能性が高いと思われます。
│
│ コマンドは正常に終了しました。
└────
1-3. vpnserverを起動
ATDE5 ~/vpnserver]$ sudo ./vpnserver start
1-4. 仮想HUB"DEFAULT"(初期状態で存在する)にユーザーを追加
ATDE5 ~/vpnserver]$ ./vpncmd
┌────
│ vpncmd コマンド - SoftEther VPN コマンドライン管理ユーティリティ
│ SoftEther VPN コマンドライン管理ユーティリティ (vpncmd コマンド)
│ Version 4.19 Build 9599 (Japanese)
│ Compiled 2015/10/19 20:28:20 by yagi at pc30
│ Copyright (c) SoftEther VPN Project. All Rights Reserved.
│
│ vpncmd プログラムを使って以下のことができます。
│
│ 1. VPN Server または VPN Bridge の管理
│ 2. VPN Client の管理
│ 3. VPN Tools コマンドの使用 (証明書作成や通信速度測定)
│
│ 1 - 3 を選択: 1 <== "1"と入力しEnterを押下
│
│ 接続先の VPN Server または VPN Bridge が動作しているコンピュータの IP アドレスまたはホスト名を指定してください。
│ 'ホスト名:ポート番号' の形式で指定すると、ポート番号も指定できます。
│ (ポート番号を指定しない場合は 443 が使用されます。)
│ 何も入力せずに Enter を押すと、localhost (このコンピュータ) のポート 443 に接続します。
│ 接続先のホスト名または IP アドレス: <== 何も入力せずにEnterを押下
│
│ サーバーに仮想 HUB 管理モードで接続する場合は、仮想 HUB 名を入力してください。
│ サーバー管理モードで接続する場合は、何も入力せずに Enter を押してください。
│ 接続先の仮想 HUB 名を入力: DEFAULT <== "DEFAULT"と入力しEnterを押下
│ VPN Server "localhost" (ポート 443) に接続しました。
│
│ VPN Server 内の仮想 HUB 'DEFAULT' に対する管理権限があります。
│
│ VPN Server/DEFAULT>UserCreate
│ UserCreate コマンド - ユーザーの作成
│ ユーザー名: user1 <== "user1"と入力しEnterを押下
│
│ 参加するグループ名: <== 何も入力せずにEnterを押下
│
│ ユーザーの本名: <== 何も入力せずにEnterを押下
│
│ ユーザーの説明: <== 何も入力せずにEnterを押下
│
│ コマンドは正常に終了しました。
│
│ VPN Server/DEFAULT>UserPasswordSet
│ UserPasswordSet コマンド - ユーザーの認証方法をパスワード認証に設定しパスワードを設定
│ ユーザー名: user1 <== "user1"と入力しEnterを押下
│
│ パスワードを入力してください。キャンセルするには Ctrl+D キーを押してください。
│
│ パスワード: ***** <== "user1"と入力しEnterを押下
│ 確認入力 : ***** <== "user1"と入力しEnterを押下
│
│
│ コマンドは正常に終了しました。
│
│ VPN Server/DEFAULT>DhcpEnable <== "DhcpEnable"と入力しEnterを押下
│ DhcpEnable コマンド - SecureNAT 機能の仮想 DHCP サーバー機能の有効化
│ コマンドは正常に終了しました。
│
│ VPN Server/DEFAULT>SecureNatStatusGet <== "SecureNatStatusGet"と入力しEnterを押下
│
│ SecureNatStatusGet コマンド - 仮想 NAT および DHCP サーバー機能 (SecureNAT 機能) の動作状況の取得
│ 項目 |値
│ --------------------------------+--------------
│ 仮想 HUB 名 |DEFAULT
│ NAT TCP/IP セッション数 |0 セッション
│ NAT UDP/IP セッション数 |0 セッション
│ NAT ICMP セッション数 |0 セッション
│ NAT DNS セッション数 |0 セッション
│ 割り当て済み DHCP クライアント数|0 クライアント
│ カーネルモード NAT で動作中 |いいえ
│ Raw IP モード NAT で動作中 |いいえ
│ コマンドは正常に終了しました。
│
│ VPN Server/DEFAULT>exit <== "exit"と入力しEnterを押下
└────
2 Armadillo-840にクライアント環境構築
2-1. 以下のカーネルコンフィギュレーションを変更し、カーネルソースコードからビルド
Device Drivers
-> Network device support
-> Network core driver support
-> Universal TUN/TAP device driver support <== 有効化(CONFIG_TUN)
2-2. SDカードにDebianユーザーランドを作成
以下のドキュメントを参照してSDカードにDebianユーザーランドを構築して、2-1でビルドしたカーネルもSDカード内にコピーしてください。
2-3. SDブートしてパッケージのアップデート & アップグレード
[armadillo]# apt-get update && apt-get upgrade
2-4. 開発用パッケージをインストール
[armadillo]# apt-get install build-essential
2-5. ARM用SoftEther VPNのクライアント側アーカイブをArmadillo-840上に持ってきて、展開
•SoftEther ダウンロード センターで、以下を選択し、ダウンロード
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ダウンロードするソフトウェアを選択 SoftEhter VPN (Freeware)
コンポーネントを選択 SoftEther VPN Client
プラットフォームを選択 Linux
CPUを選択 ARM EABI (32bit)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• 直リンクはこちら
2-6. 展開したディレクトリへ移動し、make
[armadillo ~/vpnclient]# make
2-7. vpnclientを起動
[armadillo ~/vpnclient]# ./vpnclient start
2-8. クライアントの設定
[armadillo ~/vpnclient]# ./vpncmd
┌────
│ vpncmd command - SoftEther VPN Command Line Management Utility
│ SoftEther VPN Command Line Management Utility (vpncmd command)
│ Version 4.19 Build 9599 (English)
│ Compiled 2015/10/19 20:28:20 by yagi at pc30
│ Copyright (c) SoftEther VPN Project. All Rights Reserved.
│
│ By using vpncmd program, the following can be achieved.
│
│ 1. Management of VPN Server or VPN Bridge
│ 2. Management of VPN Client
│ 3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)
│
│ Select 1, 2 or 3: 2 <== "2"と入力しEnterを押下
│
│ Specify the host name or IP address of the computer that the destination VPN Client is operating on.
│ If nothing is input and Enter is pressed, connection will be made to localhost (this computer).
│ Hostname of IP Address of Destination: <== 何も入力せずにEnterを押下
│
│ Connected to VPN Client "localhost".
│
│ VPN Client>NicCreate
│ NicCreate command - Create New Virtual Network Adapter
│ Virtual Network Adapter Name: test
│
│ The command completed successfully.
│
│ VPN Client>AccountCreate
│ AccountCreate command - Create New VPN Connection Setting
│ Name of VPN Connection Setting: test-vpn
│
│ Destination VPN Server Host Name and Port Number: 172.16.1.69:443
│
│ Destination Virtual Hub Name: DEFAULT
│
│ Connecting User Name: user1
│
│ Used Virtual Network Adapter Name: test
│
│ The command completed successfully.
│
│ VPN Client>AccountPasswordSet
│ AccountPasswordSet command - Set User Authentication Type of VPN Connection Setting to Password Authentication
│ Name of VPN Connection Setting: test-vpn
│
│ Please enter the password. To cancel press the Ctrl+D key.
│
│ Password: *****
│ Confirm input: *****
│
│
│ Specify standard or radius: standard
│
│ The command completed successfully.
│
│ VPN Client>AccountConnect
│ AccountConnect command - Start Connection to VPN Server using VPN Connection Setting
│ Name of VPN Connection Setting: test-vpn
│
│ The command completed successfully.
│
│ VPN Client>AccountList
│ AccountList command - Get List of VPN Connection Settings
│ Item |Value
│ ----------------------------+------------------------------------------
│ VPN Connection Setting Name |test-vpn
│ Status |Connected
│ VPN Server Hostname |172.16.1.69:443 (Direct TCP/IP Connection)
│ Virtual Hub |DEFAULT
│ Virtual Network Adapter Name|test
│ The command completed successfully.
│
│ VPN Client>exit
└────
2-9. VPNネットワークの設定をして接続
[armadillo ~/vpnclient]# echo 'iface vpn_test inet dhcp' >> /etc/network/interfaces
[armadillo ~/vpnclient]# ifup vpn_test
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/vpn_test/00:ac:85:87:08:24
Sending on LPF/vpn_test/00:ac:85:87:08:24
Sending on Socket/fallback
DHCPDISCOVER on vpn_test to 255.255.255.255 port 67 interval 3
DHCPDISCOVER on vpn_test to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on vpn_test to 255.255.255.255 port 67 interval 10
DHCPDISCOVER on vpn_test to 255.255.255.255 port 67 interval 20
DHCPREQUEST on vpn_test to 255.255.255.255 port 67
DHCPOFFER from 192.168.30.1
DHCPACK from 192.168.30.1
bound to 192.168.30.10 -- renewal in 2944 seconds.
2-10. VPNのIPアドレスを取得できていることを確認
[armadillo ~/vpnclient]# ifconfig vpn_test
vpn_test Link encap:Ethernet HWaddr 00:ac:85:87:08:24
inet addr:192.168.30.10 Bcast:192.168.30.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:83 errors:0 dropped:1 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:6534 (6.3 KiB) TX bytes:2736 (2.6 KiB)
2-11 . pingを実行
[armadillo ~/vpnclient]# ping -c 5 192.168.30.1
PING 192.168.30.1 (192.168.30.1) 56(84) bytes of data.
64 bytes from 192.168.30.1: icmp_req=1 ttl=128 time=1.93 ms
64 bytes from 192.168.30.1: icmp_req=2 ttl=128 time=0.997 ms
64 bytes from 192.168.30.1: icmp_req=3 ttl=128 time=0.897 ms
64 bytes from 192.168.30.1: icmp_req=4 ttl=128 time=1.11 ms
64 bytes from 192.168.30.1: icmp_req=5 ttl=128 time=1.61 ms
--- 192.168.30.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 0.897/1.311/1.935/0.400 ms