ブログ

Armadillo-840でSoftEther VPNを使って見る(Atmark Distで簡易確認編)

at_takuya.sasaki
2016年3月6日 21時29分

以下のブログではSoftEther VPN [*1]をDebian上で動かしましたが、今回はAtmark Distの標準イメージ上で簡易確認してみます。VPNサーバ側の設定方法はDebian編のブログをご覧ください。

Armadillo-840でSoftEther VPNを使って見る(Debian編)

[*1] https://ja.softether.org/

1. カーネルをビルド

1-1. 以下のカーネルコンフィギュレーションを変更し、カーネルソースコードからビルドして、Armadillo-840のフラッシュメモリに書き込んでください。
     Device Drivers
       -> Network device support
       -> Network core driver support
         -> Universal TUN/TAP device driver support      <== 有効化(CONFIG_TUN)

2. 必要なバイナリを用意

Atmark DistでVPNクライアントを動作せるために必須なファイルは以下になります。 今回はDebian編でビルドした環境から以下のファイルを抜き出しました。
こちらからダウンロードも可能です。

- EUC-JP.so
- UTF-16.so
- gconv-modules
- hamcore.se2
- vpnclient
- vpncmd

USBメモリに ダウンロードしたbinary.zipをコピーしてください。

3. Armadillo-840でクライアントの準備

3-1. 時刻合わせを実施した後、USBメモリ内のファイルを展開し、シンボリックリンクを張ります。
[armadillo]# ntpclient -h ntp.nict.jp -s
[armadillo]# mount -t vfat /dev/sda1 /mnt
[armadillo]# cd /mnt
[armadillo]# unzip binary.zip
[armadillo]# cd binary/
[armadillo]# chmod +x vpnclient vpncmd
[armadillo]# mkdir -p /usr/lib/arm-linux-gnueabihf/gconv
[armadillo]# cd /usr/lib/arm-linux-gnueabihf/gconv/
[armadillo]# ln -s /mnt/binary/gconv-modules
[armadillo]# ln -s /mnt/binary/EUC-JP.so
[armadillo]# ln -s /mnt/binary/UTF-16.so
[armadillo]# cd /mnt/binary
3-2. vpnclientを起動
 [armadillo /mnt/binary]# ./vpnclient start
3-3. クライアントの設定
 [armadillo /mnt/binary]# ./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
     └────
3-4. VPNネットワークの設定をして接続
 [armadillo /mnt/binary]# echo 'iface vpn_test inet dhcp' >> /etc/config/interfaces
 [armadillo /mnt/binary]# ifup vpn_test
3-5. 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)
3-6 . pingを実行
 [armadillo /mnt/binary]# 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