2014年3月9日日曜日

【小江戸らぐ】BeagleBoneBlackにDebianつっこんでSoftEtherも入れちゃった。

【小江戸らぐ-140308 発表?】
  BeagleBoneBlackにDebian入れてSoftEtherも入れちゃった

はじめに
 とてもとても久しぶりに小江戸らぐに参加してきました。Linuxをほとんどいじっていなかったけれども、年始にBeagleBoneBlackをいじったので「よし、次のオフ会は行こう!」と思って行ってきました。
 普段は会社の人・お客さんとしか関わらないので頭がどんどん硬くなっていくばかり・・・だったのですが、仕事とは関係ない方と交流するのは精神的にも身体的にもいいですね!仕事が捗りそう。
 んで、今日はちょいとやり残した仕事があったので、自転車で赤羽の一凛珈琲に行って作業してきました。
 上尾の一凛珈琲はとても素敵な内装だったので、期待して行ってみたら・・・もうちょっと照明暗くてもいいんじゃないかな、と思ったり。あ、写真のアイスコーヒーと焼きドーナツあわせて600円なので結構おすすめですよ!




本題:昨日の小江戸らぐの発表メモの掲載

BeagleBoneBlackにDebian入れて、SoftEther入れて・・・の手順を載せておきます。
※メモそのままなのでかなーり不親切です。

<Debianイメージの書き込み>


1.Arm-hfからイメージをダウンロード、書き込み(書いてあるとおり)

 ※比較的優しい英語で書いてあるのでそのままやっていけばだいたい大丈夫。
 ※私はXubuntu 12.04でやりました。

<起動>
1.内蔵LANをルーターに接続、microSD近くのボタンを押しながらminiUSB経由で電源供給
2.ルーターのDHCPリース状況を見て、BBBへssh接続
  $ssh debian@192.168.1.x #パスワードはdebian
3.apt-get 関係実施
 a)sudo apt-get update → Fetched 10.2 MB in 1min 17s (132 kB/s)                                         
 b)sudo apt-get upgrade
4.apt-getしてるときに、言語設定してないと怒られたので設定。
5.イメージが2GBのuSDに入るようなサイズになっていたので、拡張。
 記憶が正しければ、swap用の領域を確保するためにセクタサイズをいじったはず。
debian@debian-armhf:~$ df
ファイルシス   1K-ブロック   使用  使用可 使用% マウント位置
rootfs             1811704 464396 1253612   28% /
/dev/root          1811704 464396 1253612   28% /
devtmpfs            253532      0  253532    0% /dev
tmpfs                50736    224   50512    1% /run
tmpfs                 5120      0    5120    0% /run/lock
tmpfs               101460      0  101460    0% /run/shm
/dev/mmcblk0p1        1004    466     538   47% /boot/uboot
debian@debian-armhf:~$ sudo fdisk /dev/mmcblk0

Command (m for help): p

Disk /dev/mmcblk0: 3965 MB, 3965190144 bytes
4 heads, 16 sectors/track, 121008 cylinders, total 7744512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: xxxxxxxxxxxx

       Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12
/dev/mmcblk0p2            4096     3751935     1873920   83  Linux

Command (m for help): d
Partition number (1-4): 2

Command (m for help): n
Partition type:
  p   primary (1 primary, 0 extended, 3 free)
  e   extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (4096-7744511, default 4096): 4096
Last sector, +sectors or +size{K,M,G} (4096-7744511, default 7744511): 6244511

Command (m for help): n
Partition type:
  p   primary (2 primary, 0 extended, 2 free)
  e   extended
Select (default p): p
Partition number (1-4, default 3): 3
First sector (6244512-7744511, default 6244512):
Using default value 6244512
Last sector, +sectors or +size{K,M,G} (6244512-7744511, default 7744511):
Using default value 7744511

Command (m for help): p

Disk /dev/mmcblk0: 3965 MB, 3965190144 bytes
4 heads, 16 sectors/track, 121008 cylinders, total 7744512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: xxxxxxxxxxx

       Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12
/dev/mmcblk0p2            4096     6244511     3120208   83  Linux
/dev/mmcblk0p3         6244512     7744511      750000   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: デバイスもしくはリソースがビジー状態です.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

↓拡張完了の確認
debian@debian-armhf:~$ sudo resize2fs /dev/mmcblk0p2
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p2 is now 780052 blocks long.

debian@debian-armhf:~$ df -a -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
rootfs           2.9G  454M  2.4G   17% /
/dev/root        2.9G  454M  2.4G   17% /
devtmpfs         248M     0  248M    0% /dev
tmpfs             50M  228K   50M    1% /run
tmpfs            5.0M     0  5.0M    0% /run/lock
proc                0     0     0     - /proc
sysfs               0     0     0     - /sys
tmpfs            100M     0  100M    0% /run/shm
devpts              0     0     0     - /dev/pts
/dev/mmcblk0p1  1004K  466K  538K   47% /boot/uboot
debian@debian-armhf:~$ sudo reboot

6.ルートパスワードの変更
7.IPアドレスのStatic化
8.NTPをインストール
9.SoftEtherのインストール (参考:http://www.pc-links.com/blog/softether/rc2-setup/
a)/usr/local/src に softetherのソースをDL
    cd /usr/local/src;  
wget http://jp.softether-download.com/files/softether/v4.03-9408-rtm-2014.01.04-tree/Linux/SoftEther%20VPN%20Server/32bit%20-%20ARM%20EABI/softether-vpnserver-v4.03-9408-rtm-2014.01.04-linux-arm_eabi-32bit.tar.gz
b)make...コンパイラが入っていないようなのでコンパイラ他をインストール
 ※なにも入ってないパッケージらしい。
c)aptitude install build-essential
d)install.sh実行
e)いろいろ聞かれる。yesで答えていく

f)/usr/local/にvpnserverフォルダをコピー、実行権限等設定

g)init.dにスタートアップスクリプトを作成(参考URLのをほとんどそのまま。)

h)vpnserverを動かす。
root@debian-armhf:/usr/local/vpnserver# chkconfig vpnserver on
root@debian-armhf:/usr/local/vpnserver# chkconfig vpnserver --list
vpnserver                 0:off  1:off  2:on   3:on   4:on   5:on   6:off
root@debian-armhf:/usr/local/vpnserver# /etc/init.d/vpnserver start
[ ok ] Starting SoftEther VPN 1.0 Server: vpnserver.
root@debian-armhf:/usr/local/vpnserver#
i)Windowsマシンに設定ユーティリティを入れてSoftEtherを設定:通信OK
 (参考:http://www.pc-links.com/blog/softether/rc2-setup/

10.VPN経由でBBBにアクセスするためにtapを用意。
1)WindowsからのSoftEther設定をeth0からtapに変更
2)tapデバイス追加:sudo aptitude install bridge-utils
3)右のサイトを見てtapデバイスを構築:http://www.pc-links.com/blog/softether/tap/


11.すっかり忘れていたので、ufwの設定もやりました。
1)ufwのインストール。
  sudo aptitude install ufw
2)はじめに全部deny設定に
  #sudo ufw default deny
3)sshを許可。
   #sudo ufw allow from 192.xxx.x.0/24 to any port ssh
4)ipsecのudpポートを許可 
  #sudo ufw allow 500/udp 
  #sudo ufw allow 4500/udp
5)ipsecのespを許可<これ大事!>
  #sudo ufw allow to <BBBのIP> proto esp
6)ufwを有効にする。
  #sudo ufw enable 

12.ログインログとかのこらないのかな?と思い探してみた。
   1)vpnserverのバイナリがおいてあるディレクトリにログファイルの入ったディレクトリが3つ。
 ①server_log ②packet_log ③security_log
2)server_logに入ってるログに認証情報とか入ってるようです。。
↓一例:一凛珈琲のfreespotにつないだWindowsタブレットから接続
    ※一部修正してます。改行してますが、全部1行になっているので不便・・・。

==============================================================
2014-03-09 15:56:40.422
[HUB "xxxxxxx"] コネクション "CID-nn"
(IP アドレス xxx.xxx.xxx.xxx, ホスト名 xxxxx.ap.so-net.ne.jp, 
ポート番号 xxxx, クライアント名 "L2TP VPN Client - Microsoft", 
バージョン 4.03 ビルド 9408) が仮想 HUB への接続を試行しています。
提示している認証方法は "外部サーバー認証" でユーザー名は "yyyzzz" です。
2014-03-09 15:56:40.422 [HUB "xxxxxxx"] コネクション
"CID-nn": ユーザー "yyyzzz" として正しく認証されました。
==============================================================
 
3)暗号化はこんな感じです。(こちらも改行してます。)
  2014-03-09 15:06:52.883 IPsec IKE セッション (IKE SA) nn (クライアント: nn)
  (<remotehost>:xxxx -> <vpnserver>:500): 新しい IKE SA (Main Mode) を作成しました。
  Initiator Cookie: <cookie data>, 
  Responder Cookie: <cookie data>, 
  DH グループ: <something>(<something>), 
  ハッシュアルゴリズム: SHA-1, 暗号化アルゴリズム: AES-CBC, 
  暗号鍵サイズ: 256 bits, 有効期限: xxxxxxxxx kbytes または 3600 秒
  
  2014-03-09 15:06:54.123 IPsec ESP セッション (IPsec SA) nn (クライアント: nn) 
  (<remotehost>:4500 -> <vpnserver>:4500): 
  新しい IPsec SA (方向: クライアント -> サーバー) を作成しました。
  SPI: <something>, DH グループ: (null), ハッシュアルゴリズム: SHA-1, 
  暗号化アルゴリズム: AES-CBC, 暗号鍵サイズ: 256 bits, 
  有効期限: xxxxxxxxx kbytes または 3600 秒

 この接続ログはiPhoneの接続によるものですが、AESの256bitで暗号化かけてるみたいです。
 ちなみに、Windows8.1のタブレットだと128bitになっています。設定変えて強度を上げないと。


かなりいい加減ですが、こんな感じで構築しました。

次はメディアサーバーを入れて、外からWebラジオのように音楽を聞けるシステムを作れたら、と思ってます。

 

※それにしても、Bloggerはレイアウトがガンガン崩れるなぁ・・・。整形しやすいblogサービスに移転しようかな。

0 件のコメント: