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