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