2016年7月10日日曜日

L2TP/IPSecなサーバを立てたい(迷走メモ) Vol.1

作業記録。めちゃくちゃな走り書き。

★★★ Step.1 OpenWRTのディスクイメージから仮想ディスクを作る ★★★

まずはじめにOpenWRTのディスクイメージをVirtualbox仮想ディスクに変換

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe convertfromraw 
   c:\vm\openwrt-15.05.1-x86-generic-combined-ext4.img c:\vm\ow15051.vdi --format VDI
Converting from raw image file="c:\vm\openwrt-15.05.1-x86-generic-combined-ext4.img" 
to file="c:\vm\ow15051.vdi"...
Creating dynamic image with size 55050240 bytes (53MB)...

と。

★★★ Step.2 作った仮想ディスクでVMを作る ★★★

VirtualBoxマネージャ起動⇒新規⇒


次へ(N)⇒メモリーサイズ 256MB⇒ハードディスク すでにある仮想ハードディスクを使用する(U)
⇒一番最初に作成したVDIを使う。ow15051.vdi

~~↑VM作成終わり↑~~

★★★ Step.3 VMをカスタマイズする(シリアルポート編、スキップ可) ★★★

シリアルポート設定。(SSHが死んでもコンソールがバグったりKernelメッセージで洪水になってもシリアルポートが生きていれば安心。安定してきたら、ヘッドレス化も容易になる。
TeraTermで繋ぐことができるのでTextのコピペも簡単で、作業記録を残しやすい設定。
不要ならスキップ。
OpenWRT15.05.1(VPN_TEST_0)を選択⇒設定(S)⇒シリアルポート⇒ポート1
シリアルポートを有効化にチェック。
ポートモードを ホストにパイプに、
存在するパイプ/ソケットに接続(C)のチェックを外す。
パス/アドレスに \\.\pipe\vbox
を入力(Teraterm で TELNETでホストに\\.\pipe\vbox 指定すれば接続できる)
~~↑シリアルポート設定終わり↑~~

★★★ Step.4 VMをカスタマイズする(ネットワーク編) ★★★

ネットワーク設定
アダプタ1 ブリッジアダプター LANカード名を選択。
(ふと思ったがここでホストにwifi dongleしかないとちょっとここの部分は作業記録として実践できない。この作業記録の前提としてVirtualboxのホストマシンが有線LANでルータのNATにつながっていること)

アダプタ2
ネットワークアダプタを有効化(E)にチェック
割り当て⇒内部ネットワーク
(未割当にしようとするとネットワークハングが記録され続けてうっとうしい。ループバックコネクタは無いのかと思った)

この辺でスナップショット取って起動

 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 CHAOS CALMER (15.05.1, r48532)
 -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
 -----------------------------------------------------
root@OpenWrt:/# ls
bin         init        mnt         rom         sys         var
dev         lib         overlay     root        tmp         www
etc         lost+found  proc        sbin        usr
root@OpenWrt:/# ping www.yahoo.co.jp
ping: bad address 'www.yahoo.co.jp'
root@OpenWrt:/# passwd
Changing password for root
New password:
Bad password: too weak
Retype password:
Password for root changed by root
root@OpenWrt:/#

この辺でスナップショット取って起動。
パスワードを設定。
yahoo.co.jpにPINGを打ってみるもそれいぜんに、DNSが引けてない。

ネットワークの設定をちゃんとやらないといけない。
デフォルトでは家庭内WifiルータのIPアドレスをスタッティックで名乗ってしまう。
VirtualBox Hostとのeth0の接続がNATであれば問題ないのだが、
ブリッジなのでまずい。大急ぎで家庭内WifiルータからIPを割り当ててもらうように設定。
本来であればどこにもつながってないネットワークで先に設定確認してから家庭内LANにつなぐべきであった。まあ、家庭内だからいっか。

root@OpenWrt:/etc/config# cat network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'wan'
        option ifname 'eth0'
        option proto 'dhcp'

config interface 'lan'
        option ifname 'eth1'
#        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.254.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan6'
        option ifname 'eth1'
        option proto 'dhcpv6'

config globals 'globals'
        option ula_prefix 'fd2a:82cf:1d52::/48'

yahooにPINGが通るようになる。

root@OpenWrt:/etc/config# ping yahoo.co.jp
PING yahoo.co.jp (■.□.△.○): 56 data bytes
64 bytes from ■.□.△.○: seq=0 ttl=52 time=86.698 ms
64 bytes from ■.□.△.○: seq=1 ttl=52 time=42.318 ms
64 bytes from ■.□.△.○: seq=2 ttl=52 time=87.604 ms
64 bytes from ■.□.△.○: seq=3 ttl=52 time=55.463 ms

ここで VirtualBoxの外につながってるブリッジ上のDHCPからゲストeth0に割り当てられた
 http://192.168.1.202/
にアクセスしてみると、接続できない(拒否される)
これはeth0がWANとして扱われているからfirewall にはじかれてるっぽい。
よく考えると当たり前か。
firewall の設定をするよりりはLAN側にも VirtualBox ホストが接続できるようにする方が正しい。

面倒なので eth1を内部ネットワークではなくホストオンリーネットワークに変更する。
VirtualBox環境設定⇒ネットワーク⇒ホストオンリーネットワーク(H)⇒+追加
ホストオンリーネットワークの詳細 IPアドレスを192.168.254.2に変更

ping 192.168.254.1が通るようになる。
192.168.254.1 からの応答: バイト数 =32 時間 =1ms TTL=64

リブート後
http://192.168.254.1/
へのアクセスも可能に。LUCIが出るようになった。



★★★ Step.5 OpenWRTにStrongSwanを入れてみる ★★★

L2TP/IPSec を実現するにはxl2tpd と strongswan のセットアップが必要っぽい。
ひとつずつやった方が良さそう。strongswan は L2TP/IPSec のうち IPSec 部分を
実現するソフトっぽく、L2TPに手を出す前に StrongSwan単体で行うIPSecというものがどういうモノ
なのか体験しておいた方が良さそう。

「OpenWRT StrongSwan」でググる
 関係のドキュメント漁る。
vpn.ipsec.basics まずはコレだけを押さえとくヤツっぽい
vpn.ipsec.roadwarrior こっちは設定のハナシなので↑先っぽい
strongswan.howto 必要パッケージがこっちの方が多い記述。情報ソースが新しいかどうかAndroidにも使えるハナシなのか。

vpn.ipsec.basicsをまず最初にやるべきのような気がする。

opkg update
...(略



opkg list | grep strongswan

なんかいっぱいあるなあ。



opkg install strongswan
...(略
/etc/rc.common: line 143: ipsec: not found

ぐぬぬ。
既知問題っぽい。
https://dev.openwrt.org/ticket/20336

root@OpenWrt:/# opkg remove strongswan
Removing package strongswan from root...
/etc/rc.common: line 143: ipsec: not found
You can force removal of packages with failed prerm scripts with the option:
        --force-remove
No packages removed.
Collected errors:
 * pkg_run_script: package "strongswan" prerm script returned status 127.
 * opkg_remove_pkg: not removing package "strongswan", prerm script failed

ぐぬぬ。
アンインストールはできない=インストールされているとも言い切れない微妙な状態。
このまま突き進んでさらに謎に遭遇しそうで怖い。
opkg install strongswan-default
root@OpenWrt:~# which ipsec
/usr/sbin/ipsec
root@OpenWrt:~#

なんか依存関係が変なのかな?
strongswan package require --> /usr/sbin/ipsec
but, strongswan does not have the command.
strongswan-default has the command.

strange dependency......

What, which should i install??????????????????????????


(後記:strongswan パッケージは無視して、strongswan-full をインストールすべし、strongswanパッケージは-fullを入れれば勝手に入る。入れないとコンフィギャ失敗する)

2016年7月8日金曜日

L2TP/IPSecなサーバを立てたい Vol.0

OpenWRTが面白いのでVirtualboxにもインストールしてみてみる事にした。

そこで何がしたいかというと最近スマホを使うようになったのでVPN接続がしたい。
ゆくゆくは外からもアクセスしたい。

ただ仕組みがよくわかってない中でWeb上のドキュメントを漁っても情報過多なのでとにかく、最低限の実現を目指す。

まず仕組みを理解してから少しずつ手を広げたいなあと。

AndroidからなのでL2TP/IPSecがいいかな。VPNの最低限からスタートした方がいいだろうけど、最低限って何だろうというところを考えるところからスタートで。


よくわからんけど、たぶんこれがVPNが勉強できる最小構成なのかなあと思いますね。
HostOnly Networkにつないで何がうれしいんだというレベルですがね。

まあね。

2016年7月7日木曜日

NetBSD が VirtualBox で動くようになったようだが実機へのインストールは案外ハードルが高い

久々に NetBSD で遊んでる
昔はVirtualBoxには入れられなかったけど

NetBSD7.0.1をCD-ROMからインストールしたところ問題なくインストールできた。

ま、Virtualboxにインストールできるようになったことは素晴らしい。

でも、遊んでると動作が怪しいところを発見してしまった。

仮想環境じゃなく、実機での動作も怪しいとバグレポートした方がいいのかなと思ったのだが、
実機へのインストールが案外難しく、頓挫してしまった。

どうもNetBSD は USBのCDROMドライブではインストールできないらしい。
USBのCDROMも最近ブート可能だからいけるだろうと思っていたが、

ちゃんと読み込んでインストーラはスタートするのだが途中で CDROM を見失ってしまう。
帰り道も進むべき道も知らないというハードボイルド仕様で、ちょっとどうしようもなかった。
や、ワイルドなのかな。BIOSなんて捨ててやったぜっていう。

で、USB メモリからインストールを試みたがどうやってもWindowsパーティションを破壊する選択肢しかない。

せっかくバグっぽいものは発見したが、ちょっと実機へのインストールがうまくできない現状では
レポートしにくいな。
やっぱり何もしないでおこう。

2016年7月4日月曜日

MZK-MF300Nの挙動

MZK-MF300Nはアクセスポイントにもなるし、ルータにもなるらしいし、コンバータにもなる。

Linuxなんかをインストールする時に、無線のドライバが無かったりする場合重宝する。

Wake on lan は無線には対応してないので、こいつを押し入れから引っ張りだしてきた。

ところが、こいつはちょっとヘンな機械だ。

mf300N下流のネットワークが死亡した。

DNSが解決できないという。

で、調べてみると単なるコンバータとして動いてるのかと思いきや、こいつは何故かDNSを中継しようとしているようで、

ipconfig /all したとき 192.168.1.249 がDNSになっている。
そんなことをしてもメリットは
http://mf.setup/でアクセスできるようになるだけで全く嬉しくない。
MF300NはそれだけのためにDNSを中継したい気持ちがあるのだろうが
状況から考えるとDNSが死んだ理由はどう見てもMF300Nの死亡が疑わしく、コンバータは黙ってEtherとWifiの変換だけやってくれって感じだ。

DHCPはクライアントに設定した。

ところがまだ問題があって、クライアントに設定してもDHCPサーバの設定に従ってくれない
DHCP サーバの返したIPは全く無視して、192.168.1.249に張り付く。

PINGを打っても192.168.1.249 でリプライしてくる。

こいつのコンバータモードは結構やばい地雷仕様だ。
たぶんネットワーク管理者をイライラさせる性質の機械なので仕事では使わない方がいいだろう。
ホテルとか、公衆無線とか迷惑顧みないどうでもいいヤツ用だね

これをコンバータで使う場合DHCPをクライアントに設定したうえでルータ側で
Static Lease として192.168.1.249を設定してあげるしか逃げ道が無さそうである。

まったくでたらめなIPを設定した場合デフォルトゲートウェイがうんたらと文句を言われる。
何故レイヤー3まで踏み込んでくるのだコイツは…

ポンコツノートのリモートデスクトップホスト化

どうも最近ノートPCの調子が悪く、外に持ち歩くのは重いし不安だし使用頻度が落ちている。

調子が悪くなった原因は高いところから落としてしまったからで、症状としては、タッチパッドが効かない。たまに、ドライブエラー(読み込みエラーではなくドライブ未接続状態)、バックライトムラなどが発生しており、売っても二束三文にしかならない。特にドライブエラー動かすと起きやすく、下手に動かすとご臨終してしまわれるのではないかと思うと、持ち運ぶのはためらわれる。キーボードも荒く叩けずストレスが貯まるのだ。

しかし安静に扱う限り何も起きないので、リモートデスクトップのホストとして復活させたい。

復活させるメリットはそれなりにある。
  • core i3 2367mという自分の所有するPCの中では最速のcpu intel−VTが使える
  • 腐っても64ビットOS搭載
  • ライセンスされたちゃんとしたMS OFFICE
  • androidで艦これ
など。

で、やってみた。
ms製リモートデスクトップアプリはすこぶる気持ちよく動いてくれる。
ちょっとは迷ったりしたが、目標は達成できた。

艦これはandroid専用アプリは当選しないから、タブレットで気分を味わうにはよかろう。

問題はサクサク動きすぎて、いざあたった時やる気がなくなるかも。

実はドルフィンブラウザならネイティブandroidでも動くが、不安定で猫が出まくる。

横道にそれたがリモートデスクトップ快適である。

ウェイクオンランも設定したので家庭内からだとちょっとポチるだけで、スイッチを入れに行く必要もない。

ハマったのはwindows10の高速起動をoffにしないとwolがうまく機能しないところくらいだろうか。

実はルーターをいじって外部からもwolさせようとしたのだがこれはうまくいかなかった。openwrtはブロードキャストアドレスでポートフォワード設定をしてもうまくできない。セキュリティ上の問題などがあるのかも。

立ち上がってもないマシンにはipアドレスもないだからブロードキャストで投げるしかない。外からの接続をブロードキャストで投げるのはどうなのよっていう。メビウスリング的などうしようもなさ。

openwrt12以降にはip command を使ったワークアラウンドが掲示板に出ていた。無効なipにブロードキャスト※MAC※アドレスを設定するようなコマンドを起動時に叩くように設定し、そのアドレスにフォワードするように見受けられたが、古いルータでopenwrt10.03.1のためipコマンドがなかった。

外から艦これの夢は少し遠のいたがまあそこは今はいいかな。
どこかに穴が開けれたらwake on lan は可能なのだが。vpnをrpi に入れてそこにフォワードすれば全部解決するんだが。

2016年7月2日土曜日

ボロwifi ルーターアップタイム1週間超え

ルータ環境入れ替えてから家庭内wifiの安定度は飛躍的に向上した。

バッファローWHR−300HPは初期ファームではルータモードでは安定しない。しかしブリッジモードでのアクセスポイントとしては全く問題ない安定感だ。最新ファームに入れ替えたせいもあるかもしれないが、安定しない場合はブリッジモードで使用するのがおすすめできる。

その場合wanポートを別のルータに接続しなくてはならない。

自分の場合ルータにはopenwrt化した型落ちジャンクのWHR−G54Sを使用した。ただアマゾンで捨て値で売られている、yamahaのリース落ちVPNにもなるルータとかopenwrt化したゴミノートパソコンやRPIを使うとかでも安定しそうな気がするな。x86系とかRPIであればファームのサポート切れとかは無いしそういうのが好きな人であればいっかも。

ま、出費無しでとりあえず1週間ノートラブルでリブートなし。一件落着。

2016年6月27日月曜日

プライベートビエラのネットワーク

適当につないでみたところ、プライベートビエラは、DHCPから、
映像部と録画部で別々のIPを要求しているようだ。

プライベートビエラ内で閉鎖的ネットワークを構築しているわけでなく、DHCPにアクセスしに行くみたい。

イメージ的にはプライベートビエラの中にビエラとディーガが居て、それぞれがLANにつながっているイメージ。一台増やすとLAN内に機器は二つ増える。

録画部分のハードウェア的にはアクセスポイントとして活用できそうな気がして設定をさらっと
探してみたが、パッと見は無いみたい。

ディーガとビエラだけのWLANにしたいってことだろう。映像を最優先にしたいってことだろうね。

パナソニックの録画機器は全部ホスト名がDIGAになって
映像機器はCOM-MID1になってる若干気持ち悪いけどなんか解決方法ないだろうか。

androidみたいにunique な名前つけてくれたらいいのに。