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