トップ «前の日(07-23) 最新 次の日(07-25)» 追記

よこいまさる日記



Wed Jul 24 2002

今日は溜った日記ネタ大放出。(笑)

[Apple Computer] Suntac U-Cable type A2

cdma2000 1x な携帯電話に接続してデータ通信をするためのケーブルU-Cable type A2 (AS144L2)というものを大金はたいて購入したのはイイんですが、これが Windows, MacOS 8.5〜9.2 にしか対応していないみたいでして…。んでいろいろと調べてみたんです。ひとまず Linux が動作しているコンピュータに接続してcat /proc/bus/usb/decices を実行してみたところ、以下のような結果になりました。

 T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  5 Spd=12  MxCh= 0
 D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
 P:  Vendor=05db ProdID=0011 Rev= 1.20
 S:  Manufacturer=Sun Corporation SCC div.
 S:  Product=SUNTAC U-Cable x
 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
 I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
 E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
 E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
 E:  Ad=83(I) Atr=03(Int.) MxPS=   8 Ivl=4ms

と、デバイスクラスなどが完全にベンダー独自な仕様になっているみたいなのです。ということで、各種メーリングリストなどを調べてみたところ、以下のような情報が収集できた。

[linux-users:68214] Re: Linux 2.2.14 BACKPORT PACTH for "MELCO LUA-TX USB LAN ADAPTER"
田中氏の情報によると「SUNTAC の USB 携帯モデムアダプタを買ったので、これは見えるかな?と試してみたのですが、無理矢理 acm.o で見るようにしても、駄目でした。 SUNTAC に仕様書下さいと言えば、もらえるでしょうかね...。」とのこと。Linux-2.2.14 に Linux-2.4 backport patch を入れてもダメだったらしいです。
(FreeBSD)[bsd-usb:373] SUNTAC U-Cable P
FreeBSD でもダメみたいでして。

んー、こうなったら サン電子さんからドライバのソース見せてもらうとかしないとダメなのかなぁ。

[Computer] Mozilla-1.1b

Mozilla Project から Mozilla-1.1b がリリースされた模様。早速ダウンロードしてみようとしたら、Source が置いていない。仕方ないから MacOS X 版を使ってみた。んー、なんか違いが分らないなぁ。(笑)

[Computer] 1,000円キーボード

先日の日曜日、秋葉原に行ってブラブラしていたところ、若松通商で IBM Netfinity 用のものと思われるキーボードが 1,000円で売っていたので、一つ購入した

キーボードコレクション(笑)

ちなみに真中の黒いやつが今回購入したキーボード。左下のキーボードが BTC-5100C というキーボードで、右下が沖電気の USB 接続の Minikeyboard、上が Happy Hacking keyboard lite。

キーのクリック感などなんだが、まぁラバーなタイプらしいスカスカな感じ。至って標準的な感じで、これはこれでいいんじゃないかな。ちなみに、この写真に写っているキーボード全て US 配列の英語キーボードですん。

ついでに MasaruYokoi.Com で使っているサーバなどの写真も撮っておいた。

MasaruYokoi.Com

左下が APC の UPS (無停電電源装置) で、その上に置いてあるのが 80GB の IDE HDD に SCSI Interface が装備されているもの。そして左から順に ADSL Modem、Ethernet Hub、MasaurYokoi.Comのサーバの MicroATX の機械、普段 Windows とか動かしたり、いろんな OS をインストールしたりしている PC、上段が HP の Printer に Sony の USB接続の Speaker、っていう感じ。


Thu Jul 24 2003

[Computer] Web ページのバリアフリー

Web ページをバリアフリー化するためのネタを2つほど。

* WebInspector

富士通の ウェブ・アクセシビリティ指針に基づいた検査を行うツール。私のページを検査してみたところ、HTML element に LANG attribute がないと警告を出したのですが、そのページは XHTML 1.1 で書かれており、XHTML 1.1 では HTML element に LANG attribute が定義されていないため、このエラーは無視しました。あと、TABLE に CAPTION がないといったまっとうな警告もありました。

* Vischeck

指定された画像ファイルや Web ページを、 Color Blind (色盲) な人にはどのように見えるのか変換して表示してくれるサイト。ちなみに僕のページは... ほとんど白黒なので問題なさそうです。


Sun Jul 24 2005

地震があったそうなのですが

今回の地震でなんとなく思ったのですが。

小さな地震は平日、大きな地震は休日。 新潟も福岡も今回の東京も。

今回の震度とかで思ったのですが、思っている以上に東京って地震に強いのかも。

最大震度が東京都足立区。 これで足立区の家賃相場が下がるとかないのかなぁ。

災害発生直後にすぐに使えた携帯電話は Vodafone 3G、契約したままだったのですぐに実家に連絡できました。 海外で使えて国内でつかない、平時は使いにくくて非常時に使い物になる。 いや、前回のUS出張の時にはローミング認証がクソぐらいに通らなかったところを見ると、あの電話は災害専用?

うちのアパートの契約のときに地震特約の保険に入ったのですが、ものが落ちたとかずれたとかで被災していないか必死になって探しました。 落ちたものが本棚にバランス絶妙においてあった書類とか封筒とかで、それの損失額を計算するコストのほうが損失額を上回っていそうだったので、計算するのをやめました。

バイク買おうかと思って

バイク買おうかと思って、高円寺のバイク屋さんまで自転車でいってきたのですが。 「ヤマハの SEROW 250 なんかいかが?」ってことだったので試乗とかしてきました。 というかバイクを一般公道で乗るの初めてなのですが。(笑) あれなら軽くて取り回し楽で、それなりにパワーもあるからいい感じなのですが。 お値段が乗り出しで約47万円ってことだそうで、ノートパソコン2台分って考えてチト踏みとどまりました。 これが20万円ですとかいわれたら即金で買ってしまうところでしたが。 中古屋だったら即金で買っていた可能性大で危険な香りが。

っていうか、軽めな足 (品川区ナンバーでなく品川ナンバーがつく程度の発動機つき乗り物) が欲しいのですが。 普通自動車だと駐車場問題があるのでちょいとダメですが。

本日のツッコミ(全3件) [ツッコミを入れる]

まさる [おかげで、「公道で原付含めてバイク乗ったことないけど大型二輪持っています」という二輪童貞は今日で卒業してしまいました..]

KAZ [男なら黙ってZZ-R1100ですな(ぉ]

まさる [カワサキは川崎病が・・・(笑)]


Fri Jul 24 2009

active_scaffold

ちょいと軽めの管理ツールを作ることとなったので、 Ruby on Rails の を使ってみることに。 レコードのCRUD (Create:作成, Read:読込み→表示, Update:更新, Delete:削除) とごに controller, view やページ遷移を設計したり書かなければならないのが、勝手にできあがっている。 DBのカラムが変わったときとかに、それまでだと controller, view ともにいじらなければならなかったのが、ちょいと配列にカラム名追加すればよかったりする。

便利なフレームワークであることは確かなのだが、フレームワークって使い方覚えるのに一苦労ですよね。 なんとか1日2日でだいぶ使い方覚えられました。 1日2日で覚えられるぐらいによくできているといえば、そうなのですが。

OpenVPN で自宅のネットワークに接続する

VPN を使ったネットワーク構成

以前PPTP を使った VPN の構築なんて言うことをやっていたのだが、PPTP ってそのままではパケット暗号化されていないので、暗号化もできる を導入してみることにした。 かなり手こずった。

後で調べていたら、 なるものがあった。 英語だが、こっちのほうが参考になるかも。

今回使ったのは、OpenVPNのサーバを Ubuntu 9.04 で、クライアントは Windows XP という具合。 しかもOpenVPNのサーバがNATルータの内側にいるという、これまた困った状況ではありますが。


インストール

ソフトウェアのインストールですが、Ubuntu では apt-get で openvpn のパッケージをインストールします。 また今回は Ethernetブリッジを用いるため bridge-utils も一緒にインストールしています。

 sudo apt-get update
sudo apt-get install openvpn bridge-utils

 Windows側には openvpn-gui をインストールしました。からダウンロードしてインストールできます。

IPルーティングトンネルとEthernet トンネル

OpenVPN でサポートされているトンネリングの方法では、IPルーティングによるトンネルと、Ethernetのトンネリングがある。 IPルーティングの場合は、VPNサーバの中で経路情報などを持ってトンネルに向かってパケットを投げたりするようだ。 Ethernet トンネルの場合は、接続している Ethernet とのトンネルを開けるようだ。 今回は Ethernet トンネルを使ってみた。

非対称鍵による認証

OpenVPN では OpenSSL などで作成した非対称鍵による認証を行っている。 クライアントとサーバでは別々の非対称鍵を設定し、それらの認証 (Certification) が同じ鍵によって行われており、認証に利用した鍵が一致する場合、接続を許可するという具合になっている。 PPTPだとPPPと同じように ID + パスワードの認証なのだが、OpenVPN では鍵認証になる。 また ssh と違うところとしては、ssh では接続してくる非対称鍵の公開鍵を接続先サーバに登録し、それに対する秘密鍵で接続してきたクライアントを認証するようになっている。 OpenVPNでは、自分のところで認証のとれた公開鍵を認証するという具合になっている。

非対称鍵の作成はディレクトリ /usr/share/doc/openvpn/examples/easy-rsa/2.0 の中にあるスクリプトを用いて実行する。 まずは esay-rsa に渡す変数を、vars というファイルに記述する。 vars の中では、これらの部分を変更しておく。

export KEY_COUNTRY="JP"
export KEY_PROVINCE="Tokyo"
export KEY_CITY="Setagaya"
export KEY_ORG="masaru.org"
export KEY_EMAIL="info@masaru.org"

あとは下記の手順で CA (認証局)、サーバ、クライアントの鍵を作成する。

sudo -s 
source vars
./clean-all
./build-dh
./build-ca
# サーバの鍵を作成 : 鍵の名前は "server" ./build-key server
# クライアントの鍵を作成 : 鍵の名前は "client1" # クライアントの数だけ、鍵の名前を変更しながら作成。 ./build-key client1

上記の操作で、ディレクトリ /usr/share/doc/openvpn/examples/easy-rsa/2.0/keysの中に鍵ファイルが作成されます。 鍵ファイルは、サーバ・クライアントに必要なものを配置します。

サーバには、下記のファイルをディレクトリ /etc/openvpn/keys にコピーしました。

ca.crt
dh1024.pem
server.crt
server.csr
server.key

クライアント (Windows)側には、これらのファイルをコピーしておきます。

ca.crt
client1.crt
client3.key

サーバ側の設定

サーバ側の設定は、openvpn そのものの設定と、Ethernet のブリッジ設定が必要になります。

openvpn の設定は /etc/openvpn/server.conf が設定ファイルとなります。 およそこのような内容を書きました。

# 今回は TCP を使ってみました。 たぶんUDPでも動きます。
proto tcp-server

# デバイスのインターフェースは tap0 を使っています dev tap0
# 鍵ファイル類の設定 ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key # This file should be kept secret dh /etc/openvpn/keys/dh1024.pem
# サーバブリッジの設定 # 192.168.3.16 はサーバのIPアドレス # 192.168.3.209 から 192.168.3.225 の範囲でIPアドレスを割り振り、 # ネットマスクは /24 ( 255.255.255.0 ) server-bridge 192.168.3.16 255.255.255.0 192.168.3.209 192.168.3.225
# 経路の設定 # 192.168.3.0/24 をクライアントに追加する。 route 192.168.3.0 255.255.255.0
# TLS-Server にする tls-server
# 圧縮を有効にする comp-lzo

次に Ethernet ブリッジの設定を行います。 EthernetブリッジはOS起動時から使いたいので、/etc/network/interfacesの設定ファイルに下記のように記述しました。

auto br0
# br0 : bridge のインターフェースにIPアドレスを割り当てる
iface br0 inet static
    address 192.168.3.16
    gateway 192.168.3.1
    netmask 255.255.255.0
    # bridge に eth0 と tap0 を追加する
    bridge_ports eth0 tap0
iface eth0 inet manual iface tap0 inet manual

今回の設定を行うと、いままでeth0でホスト外とIPの通信を行っていたかと思いますが、仮想デバイスのbr0からIP通信をおこなうようになります。また、br0を使うには bridge-utils が必要になります。 /usr/sbin/brctlがあるかどうか確認しておいてください。 ない状態で設定すると、サーバにIPv4アドレスが設定できず、SSHとか全部とまります。

ネットワークの設定が終わったら、ネットワークの再設定と openvpn の起動をしてください。

sudo /etc/init.d/network restart
sudo /etc/init.d/openvpn restart

Windows 側の設定

まずはサーバ側で作成した鍵のファイルを C:\Program Files\OpenVPN\config に配置しました。 あとは設定ファイルの編集です。 設定ファイルは C:\Program Files\OpenVPN\config\client.ovpn というファイルになります。 これをテキストエディタで編集します。 設定は、OpenVPN GUI のプログラムが、スタートバーのアイコンの中にありますので、そいつを右クリックして「Edit Config」をクリックしても開けます。 内容は下記の通り。

# クライアントモード
client

# デバイスのモード : tap dev tap
# デバイス名 : tap0 # ネットワーク接続内にあるTAPのインターフェース名と同じ名前を指定してください。 dev-node tap0
# 利用するプロトコル。 今回はTCPを使っています。 proto tcp
# OpenVPN サーバのホスト名かIPアドレスとポート # Dynamic DNS を使っている場合は、そのホスト名を設定すると便利。 remote hogehoge.hogehoge.jp 1194
# 鍵ファイルの設定:コピーしたものをフルパスで指定 # Windows のパス区切り文字「\」は「\\」と2つ書くこと。 ca "C:\\Program Files\\OpenVPN\\config\\ca.crt" cert "C:\\Program\ Files\\OpenVPN\\config\\client1.crt" key "C:\\Program\ Files\\OpenVPN\\config\\client1.key"

Windows のネットワーク接続ネットワークインターフェース名ですが、Windowsのネットワーク接続内にあるインターフェース名を指定します。 そのままだと「ローカル接続 1」とか担っているかと思うのですが、ファイル内容のエンコードとかの事情で日本語が使われていると面倒なので、英数字で tap0 としました。


ルータの設定

ルータの設定

今回の構築では、OpenVPNサーバをホームゲートウェイ(ルータ)の内側に配置しています。 内側に配置しているため、ルータのポートマッピングの設定が必要になります。 OpenVPNのサーバへTCPとUDPのポート1194への接続を転送するようにしています。

写真の例は、うちにあるNECアクセステクニカさんのルータの設定画面で、IPアドレス 192.168.3.16 が OpenVPN サーバのIPアドレスになります。


現状残っている問題点

現状だとサーバ側の openvpn のリスタート ( sudo /etc/init.d/openvpn restart ) を実行すると、インターフェース tap0 がブリッジから外れて、tap0をifconfig で見ると down となってしまう。 どっかに何かしらのスクリプトを設定しないとダメなのかな。 とりあえず現状では openvpn の restart をかましたときに、下記のコマンドをたたいています。

sudo ifconfig tap0 up
sudo brctl br0 tap0

以上!

あとは、WindowsのOpenVPN GUI から Connect とか実行してみてください。 以上です。 よいネットワーク環境を!

昼ご飯

Photo 1 (12:15)

渋谷の博多風龍が開店1年ってことで、ラーメン1杯400円でした。 もやし付きを頼んだので500円でした。 しかも替え玉2回まで無料だし。 安い。

久しぶりに地下鉄目黒駅

Photo 2 (18:41)

大門から帰る。

Photo 3 (23:08)

本日のツッコミ(全9件) [ツッコミを入れる]

Before...

takepin [最近、新規案件はすべてCakePHPで実装するようになりました。 フレームワークは一度覚えると確かに楽。もう戻れない..]

まさる [CakePHP、使ったことないっすん。 Rails の scaffold がいまいちだったのですが、active_s..]

takepin [えぇぇ? CRUD で不要なアクションも残ったままでリリース? scaffold で確認したらちゃんと必要な分だけ..]

まさる [active_scaffold では、こんな方法で必要なアクションだけにできるのです。 ・リスト表示のところでは、C..]

takepin [ふむ。だから active なのね。]


2000|10|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|