2010年10月22日

gskyの回答(オリジナル)

yahoo知恵袋に回答した内容のオリジナルを書き留めておきます。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1348983723


「出力を絞っても日本国内で使用すと電波法違反になりますね。」
電波法第四条一に「発射する電波が著しく微弱な無線局で総務省令で定めるもの」とあります。
GSKYを改造して省令に合致した無線設備になれば合法と考えられます。
ただし改造が容易に出来ないので、GSKYのパッケージを破った時点で電波法違反となります。

「シグナルジェネレータにパワーアンプ云々」
上記と同様。売っている(または自作の)上記機器は電波法の微弱電波に合致しているため合法です。
パワーアンプを取り付けた場合は、電波法第四条により総務大臣の免許が必要となりますので、免許申請しない場合は違法です。
ただし、パワーアンプは外付品(ここがGSKYと違うところ)であり、当該SGに取り付けることを合理的に証明することは適いません。したがって取り付けてあることを証明できなけば電波法違反になることは無いと解釈されます。
GSKYはすでに電波法違反状態なので、有無を言わさずなのです。

「3.実験的に遮蔽された云々」
電波暗室でも、電波の発射場所を明示して免許申請します。つまり、販売店が言うところの「(国内では)研究用限定」との表記で免罪されるわけではありません。

「5.海外輸入物のApad云々」
国内で流通させる場合は免許申請をするか技適を通す必要があります。具体的にどのような型番をさしているのか不明ですが、国内正規代理店がある商品については、並行輸入される可能性のある機器については、ほぼ技適を通しているのが現状です。
(SIMロックフリーのIPhoneがいい例)

「5.自作の云々」
(これも第四条根拠)
自作の場合でも同様で、技適を受けるか免許申請が必要です。アマチュア機の場合は近々発売されているものは技適が付いておりますが、目的・用途がWLANと異なりますので、アマチュア局としての免許申請が必要です。
自作機の場合は、総務省に直接免許申請をするか、保証認定を受けたのちに免許申請をすることになります。
なお、アマチュア機の場合は、WLANと違い免許申請を前提としない所持は、たとえ技適が付いていても不法開設とみなされることがあります。
(「免許申請を前提としない」を捜査当局はどのように判定するかは知りません)

「6.免許を受けず云々」
無線局を廃止した場合は遅滞なく空中線を撤去することになっています。(電波法第七十八条)
監督官庁とどのような話があったのかは知る由もないですが、数が数ですので、念書等を差し入れていることは想定できます。
「遅滞なく」がどれくらいの期間かというと判定に困ると思いますが、上記監督官庁に一筆を入れていれば、相当数延長されるのは世の習いです。
ちなみに、PHSの場合は、中央制御システムが動作していないとか末端への通信回線が途絶している場合は、「容易に電波が発射できない」とみなされます。また、過去に免許を受けていたことを勘案しますとスワ第四条違反・・・とならないのが現状でしょう。
もっとも、厳密に判定すると電波法違反になると考えられますが、過去にこのような事例で判例があったことを自分は知りません。ただし、仮に起訴されても無罪になる可能性は高いと思います。

「7.つかまったあとで云々」
電波法は法律として公布手続きがされており、他の法律同様、公布し施行した時点で国民全員が知っているという前提になっております。
GSKYが電波(無線LAN)を発射する機器と認識し、それを利用する目的で購入した時点で「(電波法違反だったとは)知らなかった」は済まされません。一般市民は違反か否かを判定することが求められるのです。

故意でないと判定される可能性のある事例として
たとえば、他人の敷地に立ち入った場合は、「住居侵入罪」となりますが、門扉や塀が無い場合は立ち入ったことすら認識していないと思います。このような場合にのみ「罪を犯す意思がない」と判定されることになります。
とは言っても、事実が発覚した場合は起訴までは拘束されることを覚悟しなければなりません。
ここらへんの判例はそれなりにあると思いますが、どれだけ故意なのかという判定は総合的になされると思います。上記のように100人中90人以上が無意識で立ち入ってしまうような場所であれば警察は事件にしませんし、書類送検されたとしても、検察も起訴をしません。仮に起訴されたとしても無罪になる可能性は高いです。

なお、
----
第八十条 無線局の免許人等は、次に掲げる場合は、総務省令で定める手続により、総務大臣に報告しなければならない。
一 (省略)
二 この法律又はこの法律に基づく命令の規定に違反して運用した無線局を認めたとき。
----
となっています。
(「しなければならない」となっているが無報告による罰則はない)
今まで報告なんて無縁と思っていたのですが・・・報告するチャンスに恵まれるかもしれませんね。

※もっと書きたかったのですが字数制限にひっかかりました(笑)

2010年10月06日

自己認証局

布施加工で自己認証証明書を作りました。ここからダウンロードすることができます。
いまのところテスト運用のみですが、仲間内だけの証明で事足りる場合のルート証明書として利用いただければと思います。

Windowsの場合、ダウンロードしたファイルをダブルクリックしますと、まずは「セキュリティの警告画面」POPUP表示されます。
ダウンロードし保存したファイル名と同一のものが表示されておりましたら、全く問題ありませんので、「開く」をクリックしてください。
opender.jpg


つづいて、証明書の詳細が表示されます。発行先・発行者が「Fusekako ROOT CA」であることを確認ください。
capicture1.jpg


詳細タブを開きまして、「拇印」の内容を確認ください。
「63 15 55 30 51 96 e2 3e 26 7f a2 05 8a 41 9d 2d 67 f4 e1 1b」
と表示されていれば、まちがいなく布施加工の自己認証証明書となっております。
capicture1.jpg

上記確認できましたら、全体タブを開きまして、「証明書のインストール」を押してください。
以後、Fusekako ROOT CAの証明書が有効となりVerisign等の証明書と同じ機能を発揮します。
Verisignに証明書を頼むとベラボウな証明書発行手数料を課金されますが、Fusekako ROOT CAは今のところ無料です。ただし、上記自己証明書をインストールしていないと「あやしげなサイト」と表示されてしまうので、信用度が低いということはご勘案ください。

2010年09月25日

著作権表示

このブログは「http://blog.sailine.net」の管理者が著作権を所有しています。
引用については、出展元(http://blog.sailine.netで始まるURL)を明示してください。
その他の使用許諾条件については「http://fusekako.jp/contact/contact.html」よりお問い合わせください。
検索エンジンが、このブログの内容を「キャッシュ」することを目的とした複製については、許諾は必要はありませんが、複製物を表示する場合は、「キャッシュ」であることと、複製を作成した日時を明示してください。

警告
「http://usawebdl5.appspot.com」で始まるURLは、著作権者からなんら許諾を受けずに、当コンテンツを複製し、あたかも自身が作成したかのこどく表示しているので、すぐに表示を中止することを求めます。

著作権者は日本人です。
本ブログによる著作権侵害については、日本の法律が適用されますし、裁判については、著作権者の居住地を管轄する裁判所に提訴することになります。
平成22年9月25日

2010年09月24日

asteriskの不正アクセス対策

事務所に8個の固定IPを引き、FWをとりつけ、サーバを立てており、メールやWEBをホスティングではなく、自前で運用しています。
FWを建ててはあるが、サービス提供ポートは開いているので、サービスレベルのセキュリティはそれなりに万全にする必要があると考えています。
まずは、基本中の基本ですが、アプリケーションが吐くログを監視して、不正アクセスの兆候をつかむように努力しています。
asteriskもこのなかで運用していますが、国際電話も発着信する必要があるのでPSTN側規制をかけることができずにおります。
したがって、アカウント&パスワードを強化するしか対策はないのですが、別システムからワンタイムアカウント&パスワードを発行するような強固な作りとしてしまうと、その都度SIPクライアントに登録しなおす必要があります。さすがに、自動的に追従してくれるSIPクライアントってのはありませんので、利便性とを量りにかけ、長文のアカウント&パスワードとすることにしました。
使用しているアカウント&パスワードは、日本人的思考で作成しているので、欧米的辞書攻撃には少なからず耐えられるとは思っていますが、不正アクセスをのさばらせておくのは許せません・・・
そこで、不正アクセスを検知し、一定時間アクセスをブロックする仕組みを考えてみました。
asteriskの認証が失敗すると、asteriskのログに痕跡が残ります。
痕跡を追跡して、不正アクセスしたIPアドレスを一時的にブロックするようにシステムを作りこんでみました。

asteriskのログを眺めてみますと、認証が失敗した場合に以下のようなログを見つけることができます。


[date] NOTICE[x] chan_sip.c: Registration from '"!"' failed for '220.90.137.98'- No matching peer found

自分が建てているasteriskでは、LANG=Cで動いているようで、[date]は"Sep 8 17:00:00"のように表示されます。今まで最高秒間20件程度の辞書攻撃をされたことがあり、そうすると1分間で1200件もの認証エラーが記録されたことがありました。
したがって、1分ごとにログを監視することにしました。
Linuxの場合は、cronにより分刻みでスクリプトを実行することができます。
ログを時刻と認証エラー文字列でgrepし、取得されたIPをユニークソートして、不正アクセスしたIPを特定して、OSレベルでブロックするようにしてみます。

OSレベルでブロックしようとするには、iptablesで実現します。
自分んとこのasterisk稼動サーバの構成は、eth0側がLAN、eth1がグローバルIPとなっており、グローバルIP側には基本となるFWポリシーを設定してあります。
iptablesによるパケットフィルタ設定は、iptablesコマンドを1つ1つ実行していくシェル方式がネット検索で引っかかることが多いと思います。ただし多数の設定を入れる場合は、テーブルを作成しておき、一括で読み込ませたほうが早く設定させることができます。
(テーブルに作成する具体的な方法については割愛いたします)

以下、asteriskが動いているサーバの"/etc/sysconfig/iptables"の内容です。(一部省略しています)


*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:ADDRESSFILTER - [0:0]
:SIPFILTER - [0:0]
:DROPROLE -[0:0]
#ADDRESS FILTER
-A INPUT -j ADDRESSFILTER
-A FORWARD -j ADDRESSFILTER
#SIP FILTER
-A INPUT -j SIPFILTER
-A FORWARD -j SIPFILTER
-A SIPFILTER -m udp -p udp --dport ! sip -j RETURN
#DROP
-A DROPROLE -j DROP

上記でIPFILTERというテーブルを定義しています。このテーブルに不正アクセスしてきたIPを追加で設定し、一定期間パケットをDROPするようにします。
SIPFILTERテーブルに192.168.0.1からのパケットをDROPする内容を追加するコマンドは以下のとおりです。

/sbin/iptables -A SIPFILTER -j DROP -s 192.168.0.1

本来は、udp sipのみをDROPするのが筋でしょうが、当該IPは悪意を持ってアクセスしているのが明白ですので、全パケットをDROPしてもいいと考えます。
udp sipのみをブロックしたい場合のコマンドは、"man iptables"でお調べください。

悪意を持った・・・と書きましたが、大多数はbotのことが多いと思います。設定しっぱなしだと都合が悪いので、一定時間が過ぎたら設定した内容を落とすようにします。
すでに追加されているDROPのIPを削除するコマンドは以下のとおりです。


/sbin/iptables -D SIPFILTER -j DROP -s 192.168.0.1

"-A"で設定した内容とまったく同じ内容で"-D"とするのがコツです。同じにしないと、「設定されていないよん」というエラーが出て、削除されません。

アクセスブロックする時間と、ブロックしているIPを管理する必要があります。ファイルに格納するのが一般的のようですが、管理のしやすさ(動的に変更確認できる)と、セキュアに外部から容易に確認できる方法を提供するために、LAN内にあるDBサーバに情報を格納してみました。
利用ライセンスと構築のしやすさから、今回はPostgreSQLで実現させています。
以下asteriskというDBを作成しました。


CREATE DATABASE asterisk
WITH OWNER = postgres
ENCODING = 'UTF8'
CONNECTION LIMIT = -1;

DBを作成しましたら、不正アクセスを検知した時刻を格納するテーブル(attack_ip)とブロック中のIPを格納するテーブル(drop_ip)、そしてブロックしている時間を格納するテーブル(interval_table)を作成します。

CREATE TABLE attack_ip
(
ipaddress text NOT NULL,
start_time timestamp without time zone NOT NULL,
CONSTRAINT pk_attack_id PRIMARY KEY (ipaddress, start_time)
)
WITH (
OIDS=FALSE
);
ALTER TABLE attack_ip OWNER TO postgres;
CREATE TABLE drop_ip
(
ipaddress text NOT NULL,
start_time timestamp without time zone NOT NULL,
CONSTRAINT pk_drop_id PRIMARY KEY (ipaddress)
)
WITH (
OIDS=FALSE
);
ALTER TABLE drop_ip OWNER TO postgres;
CREATE TABLE interval_table
(
interval_hour integer NOT NULL,
CONSTRAINT interval_table_pkey PRIMARY KEY (interval_hour)
)
WITH (
OIDS=FALSE
);
ALTER TABLE interval_table OWNER TO postgres;

interval_tableには、ブロックする時間をあらかじめいれておきましょう。
※下記例では1時間としていますがお好みにより増やしてください

INSERT INTO interval_table(interval_hour)VALUES(1);

つづいて、1分ごとに動かすシェルを作成します。
他にcronに登録されている数にもよりますが、毎分1秒ないし2秒に実行されるようです。
したがって、1分前のログと現在時分のログを対象にして不正ログを取得するようにしました。
内容については割愛しますが、実装されているshの仕様とDBおよびログの構成により、適宜変更することになると思います。


#!/bin/sh
LANG=C
DBNAME="asterisk"
DBUSER="postgres"
DBHOST="192.168.0.21"
DBNAME="asterisk"
ALOG="/var/log/asterisk/messages"
d=$(date "+%b %d %H:%M")
b=$(date -d "1 min ago" "+%b %d %H:%M")
#
SQLA="SELECT ipaddress FROM drop_ip WHERE start_time + CAST((SELECT interval_hour FROM interval_table)||' hour' AS INTERVAL) < NOW()"
for a in $(psql -t -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLA");do
SQLB="DELETE FROM drop_ip WHERE ipaddress='$a'"
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLB"
iptables -D SIPFILTER -j DROP -s $a
done
#
for a in $(cat $ALOG\
|grep 'failed for'\
|egrep "$d|$b"\
|sed 's/failed for/\n/'\
|grep -v NOTICE\
|sed "s/'/\n/g"\
|grep .\
|grep "[0-9]"\
|sort -u);do
SQLC="SELECT COUNT(*) FROM drop_ip WHERE ipaddress='$a'"
cnt=$(psql -t -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLC")
if [ $cnt -eq 1 ];then
SQLD="UPDATE drop_ip SET start_time = NOW() WHERE ipaddress='$a'"
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLD"
else
SQLE="INSERT INTO drop_ip (ipaddress, start_time)VALUES('$a',now())"
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLE"
iptables -A SIPFILTER -j DROP -s $a
fi
SQLF="INSERT INTO attack_ip (ipaddress, start_time)VALUES('$a',now())"
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLF"
done

自分んとこでは、上記シェルを"/opt/tools/asteriskchk"に実行権限をつけて格納しています。
つづいて、crontabの設定です。(詳細は割愛します)

* * * * * /opt/tools/asteriskchk

自分んとこはasteriskをrootで動かしているので、rootのcrontabに作成していますが、構成により変更することになるでしょう。

なお、手動でブロックするアドレスを追加、削除するシェルも用意しておくとよいでしょう。
以下は、ブロック追加のシェル。


#!/bin/sh
DBNAME="asterisk"
DBUSER="postgres"
DBHOST="192.168.0.21"
DBNAME="asterisk"
ALOG="/var/log/asterisk/messages"
LANG=C
a=$1
cnt=$(psql -t -U $DBUSER -h $DBHOST -d $DBNAME -c "SELECT COUNT(*) FROM drop_ip WHERE ipaddress='$a'")
if [ $cnt -eq 1 ];then
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "UPDATE drop_ip SET start_time = NOW() WHERE ipaddress='$a'"
else
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "INSERT INTO drop_ip (ipaddress, start_time)VALUES('$a',now())"
iptables -A SIPFILTER -j DROP -s $a
fi

上記を適当なファイルに実行権限付きで格納します。
自分んとこでは、"/opt/tools/asteriskdropip"として格納しました。
手動で"192.168.0.10"のアドレスを追加する場合は以下によりコマンド打鍵してください。

# /opt/tools/asteriskdropip 192.168.0.10

つづいて、ブロック削除のシェル。


#!/bin/sh
DBNAME="asterisk"
DBUSER="postgres"
DBHOST="192.168.0.21"
DBNAME="asterisk"
ALOG="/var/log/asterisk/messages"
LANG=C
a=$1
for a in $(psql -t -U $DBUSER -h $DBHOST -d $DBNAME -c "SELECT ipaddress FROM drop_ip WHERE ipaddress = '$a'");do
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "DELETE FROM drop_ip WHERE ipaddress='$a'"
iptables -D SIPFILTER -j DROP -s $a
done

※cronで実行させるためにはコマンドに対するpassが通っていることが前提

asteriskの招かざるユーザの対応に苦慮している方々の一助になれば幸いです。

上記ソースは自分のところでは動作確認をしていますが、なんら保証はなく、各人の責任においてご利用ください。
著作権は放棄していませんがご利用は自由に行ってください。ただし、出展は明らかにしてください。利用料、ご連絡は不要です。

2010年09月19日

n-02bのsipはOPTIONSをサポートしていない??

N-02BをAsteriskに収容し、NAT越えの評価をしております。
/etc/asterisk/sip.configには以下を設定


[801]
type=friend
username=801
secret=********
context=default
host=dynamic
canreinvite=no
callgroup=1
pickupgroup=1
;dtmfmode=rfc2833
dtmfmode=inband
disallow=all
allow=ulaw
qualify=3600
nat=yes

「dtmfmode=inband」としているのは、rfc2833としておくと、レジストが外れた後にDTMF操作をするとN-02Bがフリーズしてしまうため。
docomo経由でNECに問い合わせたところ、「バグ」であることを認めinbandの設定で回避してくれとのこと。
(すごいです・・・Asteriskの環境を作り、実験して、結果を報告してくれた。NECさん感謝!)
DTMFいったん決着が付いたものの、依然としてNAT越えREGISTは不安定のまま。
具体的には、REGISTはするもの、一定時間たつとUNREACHABLEになってしまうという現象がつづく。
これはどういうことかと言うと、N-02Bから発信は可能だが着信は不可ということ。
他に、IpodtouchとX-LiteをAsteriskに収容し、MzoneやEMobile経由で発着信がOKとなっているだけに、N-02BのUNREACHABLEは痛い。
なぜ、UNREACHABLEになってしまうのかを調べてみました。

まずは、Asteriskのサーバでtcpdumpによるパケットキャプチャをしてみます。


# tcpdump -e -vvv -n -i ppp0 port sip
REGISTER sip:xxx.xxx.xxx.xxx SIP/2.0
Via: SIP/2.0/UDP 123.45.67.89:5060;branch=xxxxxxx
Via: SIP/2.0/UDP 192.168.1.101:5060;branch=xxxxxxxx
From: ;tag=xxxxxxx
To:
Call-ID: xxxxx@801.192.168.1.101
CSeq: 0 REGISTER
Contact: ;expires=3600
max-forwards: 69
user-agent: DoCoMo/1.0 N02B
Content-Length: 0

これに対するasteriskからの返答が

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 123.45.67.89:5060;branch=xxxxxxx;received=123.45.67.89
Via: SIP/2.0/UDP 192.168.1.101:5060;branch=xxxxxxx
From: ;tag=5764761e
To:
Call-ID: xxxxxx@801.192.168.1.101
CSeq: 0 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Length: 0

その後数回のREGISTERシーケンスを繰り返した後Asteriskが200をN-02Bに渡してREGIST完了。
この時点で、N-02Bのステータスを見ると、

# asterisk -r
...
albatross*CLI> sip show peer 801
albatross*CLI>

* Name : 801
Secret :
MD5Secret :
...
Status : OK (128 ms)
Useragent : DoCoMo/1.0 N02B
Reg. Contact : sip:801@192.168.0.111
albatross*CLI>


となっているので、AsteriskはN-02Bが生きていると信じているわけです。
ところが、この後Asteriskから「OPTIONS」リクエストがN-02Bに向かって飛ぶわけです。
たしかに、N-02BのAllowタグは何も無いので、Asteriskとすれば、どんな機能があるか問い合わせをしたいと思うのは納得できます。

OPTIONS sip:801@123.45.67.89 SIP/2.0
Via: SIP/2.0/UDP xxx.xxx.xxx.xxx:5060;branch=xxxxxxx;rport
From: "asterisk" ;tag=xxxxxxx
To:
Contact:
Call-ID: xxxxxxx@xxx.xxx.xxx.xxx
CSeq: 102 OPTIONS
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Sat, 18 Sep 2010 14:28:37 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Length: 0

ただ、この後がいけません・・・N-02BからのOPTIONSに対しての返信がない。
何回か、AsteriskからOPTIONSを送信したのち、返信が無いということで、N-02Bを「UNREACHABLE」にしてしまっているようです。
ただし、N-02Bからは、呼要求である「INVITE」なんかおかまいなしに飛んできます。
INVITEと、それ以降の通信はつつがなくネゴシエーションが取れているので、UNREACHABLEに気がつかないわけです。

N-02Bの兄貴分であるN906では、sip.confに以下の設定を入れると良いといっていた方がいました。


;qualify=3600
qualify=no

回線監視をしないという荒業ですが、これ本当にN906でも有効なのでしょうか??
N906を持っていないので評価のしようがありませんが、少なくともAsteriskからN-02Bに呼び出しをする場合、N-02Bに対して、通話要求であるINVITEの前にOPTIONS要求がAsteriskから出ているようです。
したがって、結局OPTIONS要求に対してN-02Bの返答が無いため、UNREACHABLEとなり、AsteriskからINVITEが出ることは無いのではないかと思います。

SIP関連のRFCである、「RFC3261」では、すべてのUAでOPTIONSメソッドは実装しなければならない(MUST)と記載があるのですがね~

ここらへんの事情を紙におこし、またまたdocomoショップに持っていきました。前回の正式回答は3ヶ月近くかかりましたが、今回はどのくらいで来るのでしょうか。
生産終了品なので、あまり期待してはいけないかな?
とりあえず、N-02Bの後継機であるN-04Bも同様の実装でないことを祈るばかりです。
(他機種の横展開も忘れずにお願いしてきました)

2010年02月28日

N-02Bと光電話がつながる仕組み

N-02BにはWLANの機能があり、WLAN接続設定ごとのSIP設定機能がある。
WLAN接続設定では、無線LANアクセスポイントへの接続方法を設定し、そのなかのSIP設定により、光電話に電話可能とする設定を入れる。
アクセスポイントの接続方法は、一般的な無線LAN子機の設定とほぼ同じで、SSIDと暗号化方式、パスフレーズを設定する。

一般的な家庭では、WEP/WPA/WPA2による暗号化とパスフレーズのみで家庭内LANに接続させているのが一般的だが、公衆無線LANでは少し異なる。
公衆無線LANでは、契約者か否かを判定するため、ログインIDとパスワードによる認証が追加される。この認証は、アクセスポイントに接続可能となった後に、任意のURLでWANにアクセスしようとしたときに、認証画面が現れて、認証させるようすることが多い。(ブラウザ認証)
一部のプロバイダでは、IEEE802.1xによる認証も行われている。IEEE802.1x認証は、ログインIDとパスワードを無線LANの設定と同時に行わせることが可能なので、該当する無線LANサービスのエリアに入った場合にアクセスポイントに接続させ、認証を行い、自動的にインターネット接続させることが可能だ。

ネットワークに接続したあと、光電話アダプタに対して収容認証を行う。認証が終了したあとは、割り当てられた内線番号により内線通話と光電話アダプタ経由で公衆電話網に通信可能となる。また、公衆電話網から着信があった場合に、N-02Bの内線番号が鳴動する設定としていれば、N-02Bから呼び出し音が出るという仕掛け。
NTT東西の光電話アダプタにはソフトフォンを5台まで収容させることが可能。ソフトフォンといっても、N-02Bのこの機能もソフトフォンと同様なので、N-02Bを5台収容させて内線電話として利用することも可能ではある。ただし、転送機能やピックアップなどのPBX機能は残念ながら備えられていない。

PBX機能を備えたシステムとして、「asterisk=アスタリスク」というものがある。
光電話はもちろんだが、アナログ回線・ISDN回線のVoIPアダプタがあれば、asteriskに収容可能。なにしろオープンソースのため、スキルさえあれば自分ひとりで構築できるというのもすごい。

2010年02月01日

マイエリア(femtocell)の導入

とうとうわが家にフェムトセル無線局が開局した。
フェムトセル(femtocell)とは、半径数十m程度のきわめて小さな範囲をカバーする携帯電話の通話エリアのことだ。
設置は、ドコモの作業員が2名きて、機器調整を含め1時間で完了した。

フェムトセル無線局筐体
基地局の全容
後ろ出っ張りが携帯の電波を発射するアンテナと思われる。
無線LAN親機と見間違うような感じを受けます。
大きさは、ブロードバンドルータを一回り大きくした感じ。
銘版シール型番を表示したシール。
三菱電機製と表示がある。・・・あれれ~三菱電機って携帯から撤退したよね(笑)
ディップスイッチ筐体裏にあるデップスイッチ。
開通時に制御局と打ち合わせしながら、値を設定していった。

設置は県内二番目(おしい!!)、市内ではもちろん1番目。
電波法によるれっきとした携帯電話の基地局なので、免許状を置いていくかと思ったら、マイエリア開局確認書に免許状の写しが記載されていただけだった。
総務省の「電波利用ホームページ」から無線局免許状情報は検索可能となっているので、条件を指定して閲覧してみる。閲覧結果
(これ表示すると位置がバレバレなんだけどね~)
電波型式は5M00G7W、周波数は2137.6MHz~2147.4MHz、出力は50mW。この筐体で、50mWも出るんだね・・・すごい!!
免許状の写しとだけあって、件の言葉・・・
「法律に別段の定めがある場合を除くほか、この無線局の無線設備を使用し、特定の相手方に対して行われる無線通信を傍受してその存在若しくは内容を漏らし、又はこれを窃用してはならない」
がしっかりと記載されていた。

ドコモのフェムトセルは、「マイエリア」というサービス名で提供され、事前に登録した移動機のみ接続可で、制御局との通信はドコモが負担するのではなく、フェムトセル無線局設置場所の管理者(つまり自分ね)が負担するもの。足回りの回線を負担するのだから、通話料が割引されるのでは・・・と思ったら大間違いで、フェムトセル無線局設置費用と月額980円が余計にかかってしまう。
さらに、マイエリア対応携帯でないと接続させることは不可能だ。一般エリア-マイエリア自動的に切り替え機能が付いた移動機では、自動的にマイエリアに切り替わるように設定しておくと、一般エリアで通話またはiモード接続するたびに、「マイエリアではありません」というダイアログが必ず表示される。鬱陶しいこと甚だしい。
これでメリットと言えば、「イマスカ」サービスが受けられることだけ。これも、マイエリア推奨機種では、マイエリアに在圏したら手動で切り替える必要があるし、マイエリア対応機種では「オートGPS」を動かしていないと利用できない。なんと中途半端なサービスなんだ~

2010年01月31日

IEEE802.1X認証方式で接続する(N-02B編)

N-02BでWiFi接続でMzoneにつなげたはいいが、毎回、接続のたびにブラウザ認証するのはとても不便だ。
実は、SIPサーバのレジストを自動で行う機能がN-02Bにある。IEEE802.1X認証を行うことが出来れば、Mzoneのエリア内に入ったと同時に、FOMA以外のモードで電話の送受が出来るしかけだ。

Mzoneのページを見ると・・・あるある。IEEE802.1X認証をサポートしているではないか。
設定はいたって簡単。
N-02BでWiFi接続で説明したが、セキュリティ方式設定をWEPからIEEE802.1Xに変えてあげればよい。

以下、前回説明した〔セキュリティ方式選択〕を選択以降をWEPから802.1Xに変更。
n02b-18.jpg


証明書を選択。
n02b-19.jpg


ルート証明書を選択。
n02b-20.jpg


表示されたimode証明書すべてを選択しインストール。
※このページではすでに全部の証明書がインストールされてます
n02b-21.jpg


EAPフェーズⅡ用IDを選択。
n02b-22.jpg


IDを選択。
n02b-23.jpg


この画面で、プロバイダより払い出された接続用IDを設定する。
n02b-24.jpg


パスワードを選択。
n02b-25.jpg


この画面で、プロバイダより払い出された接続用IDにおけるパスワードを設定する。
n02b-26.jpg

入力が終了したら、左下に表示される「確定」「完了」をコンプリートして設定を終了させよう。
サービスエリア外でも設定可能だし、サービスエリア内だったら、自動的に接続される。
接続されると、左上のアイコンで「WLAN」マークが点灯する。

2010年01月25日

オートGPS

最近の携帯は、web・メール・カメラは当然で、GPS機能もついている。
もちろん、HTMLでGPSデータを引っ張るようにすることもでき、GPS測定をアプリに入れればユーザが意識しなくても、定期的に測定したGPSデータを送信することも可能。
ドコモでは、この冬モデルから、アプリを立ち上げておかなくとも、携帯のネイティブ機能でGPSデータを送信させることが可能となる携帯が登場した。
「オートGPS機能」搭載携帯がそれだ。
ただし、オートGPS機能を使うためには、オートGPS機能をON/OFFするアプリを作る必要がある。つまり、この「オートGPSスイッチアプリ」を起動し、設定を完了したらアプリを終了した後に定期的にGPSデータを送信しつづけるという仕組み。

ドコモでは、このオートGPS機能をASPとして提供するソリューションを発表した。
2010/01/25ドコモ報道発表
携帯から送信されてきたGPSデータによりPUSH配信を行うというもので、携帯から受信したGPSデータを情報提供事業者向けにもリアルタイムで提供し、提供GPSデータにより、情報提供事業者が独自のコンテンツを携帯にPUSH配信することが可能となっている。
なにぶん新しいネイティブ機能なので、それなりの需要が出てくるのは数年先と考えられる。ただ、リアルな位置情報がネイティブで取れるというのは画期的な仕組みだと思うし、他のキャリアも追従するのではないかと思う。

続きを読む "オートGPS" »

2010年01月18日

N-02BでWiFi接続

FOMA契約をしていると、800円追加で公衆無線LANサービスが受けられる。
http://www.nttdocomo.co.jp/service/data/mzone/bill_plan/u_publiclan/
以前、Ipodtouchを求めたときに知り、衝動で加入してしまった次第。
このたびめでたく?N-02Bを購入してしまったので、WiFi対応であるN-02BをMozoneにつなげてみた。
他の公衆無線LANと同じで、アクセスポイントにWEPでつなぎ、ブラウザを立ち上げてID/PASSを入れて認証するしくみとなっている。

まず、アクセスポイントに接続する設定をしよう。


N-02Bを開き、WLANキーを長押しする。以下の図を参照してほしい。
n02bkeybord.jpg


通話モード画面で出るので、「DUALモード(WLAN優先)」または、「WLANシングルモード」を選択する。
n02b-01.jpg


設定後モードが切り替わる。
n02b-02.jpg


キーボートのMENUボタンを押し、メインメニュー画面から、〔設定/NWサービス〕を選択
n02b-03.jpg


2ページ目の〔WLAN設定〕を選択
n02b-04.jpg


暗証番号4桁(初期値:0000)を入力→〔確定〕
n02b-05.jpg


〔プロファイル設定〕→プロファイル01を選択
※プロファイル01以外にも設定できる
n02b-06.jpg
n02b-07.jpg


〔WLAN詳細設定〕を選択
n02b-08.jpg


〔ESSID設定〕を選択
n02b-09.jpg


6.MzoneのESSIDを入力(画面に表示されちゃってますが各自でご確認を)→〔確定〕
n02b-10.jpg


〔セキュリティ方式設定〕を選択
n02b-11.jpg


〔セキュリティ方式選択〕を選択
n02b-12.jpg


〔WEP〕を選択
n02b-13.jpg


KeyID画面〔1〕を選択
n02b-14.jpg


〔64bit/HEX〕を選択
n02b-15.jpg


Mzoneで払い出されたWEPキーを設定
n02b-16.jpg
設定後、確定キー


これで、アクセスポイントにつながるわけだが、実際にインターネットに接続するためには、さらに認証を通る必要がある。
認証は、ブラウザを起動して、適当なURLを打つと、認証画面が出てくるので、IDとパスワードを入力する。


以下、Mzoneの設定方法を参考にした
つなげ方

2009年12月31日

N02B早速壊れる

前回のつづき
12月27日に手に入れたN02Bであるが、早速不具合が発覚。
アプリを立ち上げようとして、砂時計のままになってしまいやむなく強制リセット。
つづいては、通話中に自動的にリセットがかかってしまい、通話が中断。

仕方ないので、近所のドコモショップに行って調査してもらう。
アプリの砂時計は再現されなかったものの、通話中リセットは心当たり?があるらしく、新品交換対応となった。
さすがdocomoの代理店。量販店とは違い、立派な対応である。
発売直後の最新機種を買い増し(機種変と言うらしいがFOMAはSIMを変えれば元々の電話も使用できるのでMOVA時代の呼び方に抵抗がある)は量販店とそれほど値段が変わらないので、対応のよいドコモショップで買い求めたくなる。次回の買い増しは量販店で買うのはよそう。

2009年12月27日

オートGPS対応携帯を手に入れる

仕事の都合から新しい携帯を入手した。オートGPS対応のdocomo PRIME series N-02Bだ。(写真)
早速、オートGPS対応アプリを入れて動かしてみる。アプリを動かした後にGPS測位履歴を開いてみた。単独測位とオートGPS測位との履歴が
別タブで表示されている。
過去にGPSを使ったアプリの開発をしたことがあり、細かく測位をするのと引き換えに電池のモチが悪くなることにジレンマを感じていた。今回も、心なしか電池の減りが激しいように思う。
上部はひっくり返してタッチパネル仕様となる。(画像)
今回開発したオートGPSアプリはタッチパネル仕様なのだが、なぜかN02Bでタッチしてもうまく動かない(笑)
今年の年末・年始休暇は例年よりも数日少ない。N02Bをどこまでいじり倒せるか・・・

N02Bの他の主な機能は以下の通り。
・送信5.7Mbps注意3のFOMAハイスピード
・Wi-Fi(無線LAN)対応
・アクセスポイントモード
・ホームU対応
・マイエリア

ということで、自宅のWiFiにつないでみようとおもう。

2009年12月20日

CentOS5.3でNTFSをマウントする

X40からX200に乗り換えの続き。
NTFSフォーマットのディスクをCentOS5.3にマウントしてサルベージした。
通常にインストールした場合は、NTFSをマウントすることが出来ないようだ。以下、うちの環境でマウントしようと試みたログ。


[root@lCentOS5.3 ~]# cat /var/log/messages

server kernel: usb 1-5: new high speed USB device using ehci_hcd and address 6

server kernel: usb 1-5: configuration #1 chosen from 1 choice

server kernel: scsi8 : SCSI emulation for USB Mass Storage devices

server kernel: Vendor: Generic Model: USB Disk Rev: 9.02

server kernel: Type: Direct-Access ANSI SCSI revision: 02

server kernel: SCSI device sdf: 78140160 512-byte hdwr sectors (40008 MB)

server kernel: sdf: Write Protect is off

server kernel: sdf: assuming drive cache: write through

server kernel: SCSI device sdf: 78140160 512-byte hdwr sectors (40008 MB)

server kernel: sdf: Write Protect is off

server kernel: sdf: assuming drive cache: write through

server kernel: sdf: sdf1 sdf2

server kernel: sd 8:0:0:0: Attached scsi disk sdf

server kernel: sd 8:0:0:0: Attached scsi generic sg5 type 0

[root@lCentOS5.3 ~]# fdisk -l

デバイス Boot Start End Blocks Id System

/dev/sdf1 * 1 4529 34239208+ 7 HPFS/NTFS

/dev/sdf2 4530 5167 4823280 12 Compaq 診断

[root@lCentOS5.3 ~]# mount -t ntfs /dev/sdf1 /mnt

mount: unknown filesystem type ‘ntfs’


どうやら、ntfsファイルをマウントするにはなにかコツがいるようだ。早速google先生に問い合わせてみると、以下のパッケージが必要と判明した。

File System in Userspace (FUSE) utilities


Linux NTFS userspace driver


これのパッケージはカーネルに同居させるため、さらに

Dynamic Kernel Module Support Framework


Linux kernel module for FUSE (Filesystem in USErspace)


も必要とわかる。
FUSE関連はATrpmsに、dkmsはepel、fuse-ntfs-3gはrpmforgeのリポジトリにあるようだ。リポジトリを設定し、早速yumでインストールしよう。

[root@lCentOS5.3 ~]# yum -y dkms dksm-fuse fuse fuse-ntfs-3g

...

Installed:

dkms.noarch 0:2.1.0.1-1.el5

dkms-fuse.noarch 0:2.7.4-1.nodist.rf

fuse.x86_64 0:2.7.4-8_12.el5

fuse-ntfs-3g.x86_64 0:2009.4.4-2.el5.rf

Complete!


たまに、atrpmがビジーのときがある。

[root@lCentOS5.3 ~]# yum -y dkms dksm-fuse fuse fuse-ntfs-3g

Downloading Packages:
http://dl.atrpms.net/el5-x86_64/atrpms/stable/fuse-2.7.4-8_12.el5.x86_64.rpm: [Errno 4]

IOError:

Trying other mirror.


などと出たら他のミラーに切り替えよう。rikenやkddilabsがいいかもしれない。

yumでのinstallが完了したら、fuseモジュールをカーネルに読み込ませる。このとき、以下のようにnot foundが出たら要注意。


[root@lCentOS5.3 ~]# modprobe fuse
FATAL: Module fuse not found.

現在実行しているカーネルと読み込んだfuse-ntfs-3gが異なっているためだ。
この場合は、fuseモジュール類をいったんリムーブ(削除)し、最新のkernelを読み込んでリブートしてから、fuseを入れよう。

2009年12月07日

RHNのパッケージアップデータとyum

仕事で使っているサーバ機にはRed Hat Enterprise Linux (v. 5 for 64-bit x86_64) がインストールされている。RedHat系Linuxのソフトウェアはカーネルも含めてrpmによるパッケージ管理をしている。
rpmは基本的にはバイナリによる提供である。rpmのインストールにあたり他の必要なパッケージのインストールが必要かどうか分かるようになっている。
さらに進んで、必要なパッケージをユーザが指定することなく自動的に取得して適用してくれる仕組みも提供されている。それがyumだ。
もちろん、バグFIXやセキュリティアップデートもパッケージにバージョン情報が入っているので、updateスイッチを指定することにより、自動的に最新のパッケージが適用される仕組みである。
RedHatのサブスクリプションを購入するとサポートが付いてくる。と同時に、GUIによるパッケージアップデータが利用可能となる。仕組みは簡単で、サーバ側から、初期インストール時に導入パッケージ一覧をRHNに送信し、以後、定期的に更新されたパッケージ情報をRHNに送りつけるようになっている。
これをRHNが管理していて、アップデートが必要なパッケージについて、登録されたメールアドレス宛に情報を提供してくれるというわけ。
GUI画面でも各システム毎に、エラータ数・適用対象パッケージ数が表示される。パッケージを自動更新としておくと、サーバからRHNに通信したときに、RHNから適用パッケージが返され、サーバ側で次回のパッケージ取り込みのリストに取り入れられるという仕組み。基本的には、yumの自動アップデートをcronで実現しておけばよいことではあるが、適用済み、未適用のパッケージがGUIに表示されるのがありがたい。なぜなら、自宅環境では隣にサーバがあり家庭内LANから即つなげて確認できるが、商用環境においては実機につなげての確認は、そうおいそれとは出来ないことが多いためだ。

2009年12月05日

X40からX200に乗り換え

長年使用していたIBM(あえてレノボとは言わない)X40がとうとう釈迦った。
9月に120Gの増床工事をして少し延命しようと思ったのだが、それがいけなかったらしい。
直接の原因は重ショックなのだが、1m以上の落下試験を行っての出荷のため、増床工事の不具合と信じたい。
というわけで、今度はレノボのX200に乗り換えたのだが、大事な設定ファイルはX40のディスクの中だ。とりあえず元々取り付けてあった換装元のディスクから、HDDのサルベージを試みた。

HDDは日立Travelstar C4K40。1.8インチ型で電源は3.3V/5Vの両方対応しているらしい。
写真で見ての通りIDEではあるが、最近はIDE-USB変換のキットが販売されている。う~ん、便利な世の中になったものだ。

早速、HDDに挿してみた。(挿したときの画像)
コードがクセになっており多少危なっかしいように思えるが、とりあえずLinuxマシンにつないでみた。
(つないだときの画像)
接続部分の赤色LEDが点灯し、直後にあの独特なヘッドトラック音が聞こえてきた。

server kernel: usb 1-5: new high speed USB device using ehci_hcd and address 6
server kernel: usb 1-5: configuration #1 chosen from 1 choice
server kernel: scsi8 : SCSI emulation for USB Mass Storage devices
server kernel: Vendor: Generic Model: USB Disk Rev: 9.02
server kernel: Type: Direct-Access ANSI SCSI revision: 02
server kernel: SCSI device sdf: 78140160 512-byte hdwr sectors (40008 MB)
server kernel: sdf: Write Protect is off
server kernel: sdf: assuming drive cache: write through
server kernel: SCSI device sdf: 78140160 512-byte hdwr sectors (40008 MB)
server kernel: sdf: Write Protect is off
server kernel: sdf: assuming drive cache: write through
server kernel: sdf: sdf1 sdf2
server kernel: sd 8:0:0:0: Attached scsi disk sdf
server kernel: sd 8:0:0:0: Attached scsi generic sg5 type 0
ということで、手持ちのLinuxでは問題なく認識されていることがわかる。 つづいて、fdiskコマンドを実行してみた。
デバイス Boot Start End Blocks Id System
/dev/sdf1 * 1 4529 34239208+ 7 HPFS/NTFS
/dev/sdf2 4530 5167 4823280 12 Compaq 診断
sdf1が本体、sdf2にリカバリが入っているのだろう。

早速、マウントしてみた。


# mount -t ntsf /dev/sdf1 /mnt
mount: unknown filesystem type ‘ntfs’

およよ、ntfsは標準で入っていないのかぁ。そういえば、以前MAXTERのバックアップストレージをマウントしようとして挫折したことがあったっけ。

ということで、サルベージはまだまだ続く。

2008年06月20日

clamavの再ビルド

ClamAV update process started at (nowdate time)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.88.7 Recommended version: 0.93.1
DON'T PANIC! Read http://www.clamav.net/faq.html
main.cvd is up to date (version: 46, sigs: 231834, f-level: 26, builder: sven)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 10, recommended = 26
DON'T PANIC! Read http://www.clamav.net/faq.html
daily.cvd is up to date (version: 7522, sigs: 86097, f-level: 31, builder: guitar)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 10, recommended = 31
DON'T PANIC! Read http://www.clamav.net/faq.html

最近、clamのエラー(上記)が多発していたので、原因を調べてみた。
どうやら、clam自体のバージョンを上げないと、定義ファイルを更新できないらしい・・・
使用しているディストリビューションで最新のUPDATEがされていない(泣)
仕方ないので、上位バージョンのパッケージを持ってきて再ビルドすることに決定。

もってきたもの
fedora7のclamav
例のごとく、ローカルビルド用として用意したユーザーで再ビルド
ビルドサーバには、fedora-usermgmt-develとsendmail-develが入っていなかったので、依存性欠如のためビルドできず。
このパッケージは当該ディストリで用意されており、バージョンを問わないみたいなので、yumで取得。
yum -y install fedora-usermgmt-devel sendmail-devel
sendmail-develは、sendmailとの依存性のため自動的にインストール。

つづいて、clamavを再度ビルドして、目的のパッケージが作成される。
これをアップグレード導入した。

導入後、定義ファイルの更新
freshclam
ClamAV update process started at (now datetime)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.92.1 Recommended version: 0.93.1
DON'T PANIC! Read http://www.clamav.net/support/faq
WARNING: Removing corrupted incremental directory main.inc
WARNING: Removing obsolete main.cvd
Downloading main.cvd [100%]
main.cvd updated (version: 46, sigs: 231834, f-level: 26, builder: sven)
WARNING: Removing corrupted incremental directory daily.inc
WARNING: Removing obsolete daily.cvd
Downloading daily.cvd [100%]
daily.cvd updated (version: 7523, sigs: 86097, f-level: 31, builder: guitar)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 26, recommended = 31
DON'T PANIC! Read http://www.clamav.net/support/faq
Database updated (317931 signatures) from db.jp.clamav.net (IP: 61.206.123.121)

ということで、見事に定義ファイルの更新完了。

2008年04月30日

rpmbuild

srpmをdlして、自前でbuildする場合のtips
1./usr/src/redhat以外でbuildする
rpm作成用のユーザを作る
例)makerpm
2.ディレクトリを作成
mkdir {$HOME/rpmbuild,$HOME/rpmbuild/BUILD,$HOME/rpmbuild/RPMS,$HOME/rpmbuild/SOURCES,$HOME/rpmbuild/SPECS,$HOME/rpmbuild/SRPMS}
3.rpm作成用ユーザ配下に.rpmmacrosを作成
vi .rpmmacros
%_topdir /home/makerpm/rpmbuild

echo "%_topdir /home/makerpm/rpmbuild" > $HOME/.rpmmacros
でもよい

4.必要に応じて.rpmmacrosに追加

2008年02月10日

OpenCOBOL

OpenCOBOLのインストール
https://sourceforge.net/project/showfiles.php?group_id=34923からDL
取得したtarballを適当なディレクトリにget
当該ディレクトリから以下を実行
tar zxvf open-cobol-1.0.tar.gz
当該ディレクトリに以下ディレクトリが作成される
open-cobol-1.0

展開先のディレクトリに移動
cd open-cobol-1.0

展開したソースのコンパイルおよびインストール
./configure
make
make install

以下のディレクトリに格納される
コンパイル本体
/usr/local/bin
※cob-config,cobc,cobcrun
ライブラリ
/usr/local/lib
※libcob.a,libcob.la,libcob.so

もし、/usr/libにライブラリを設定している場合は以下のリンクを作成しておくと便利
ln -s /usr/local/lib/libcob.so.1.0.0 /usr/lib/libcob.so.1
ln -s /usr/local/lib/libcob.so.1.0.0 /usr/lib/libcob.so
※これをやらない場合は、 export LD_LIBRARY_PATHをすること

基本的なコンパイル方法
/usr/local/bin/cobc -o 実行ファイル名 ソースファイル名
サブプログラムがある場合のコンパイル方法
/usr/local/bin/cobc -c ソースファイル名1
/usr/local/bin/cobc -c ソースファイル名2
/usr/local/bin/cobc -o 実行ファイル名 ソースファイル名1.o ソースファイル名2.o
※-cはコンパイルのみでリンクは後で行うスイッチ

cobolをメインとし、cなどで作ったものをサブプログラムとする場合のコンパイル方法
/usr/local/bin/cobc -x -c ソースファイル名
gcc -c cサブプログラム.c
gcc -o 実行ファイル名 ソースファイル名.o cサブプログラム.o

2007年12月25日

tomcat5とmod_jkコネクタ

tomcat5の複数インスタンス動作を検証する。
rpmで入れたやつは、複数インスタンスには向いていないので、最新のブツをjakartaから落としてくる。
単純に、インターフェイスのportがバッティングしていなければ、マシンスペック上限で、いくつでもインスタンスを起動できるようだ。
ただし、jakarta純正(笑)のstart/shutdownスクリプトはイマイチで、二重起動や無起動シャットダウンの判定がよろしくない。
とは言え、深刻な不具合では無いので、次回のリリース版に期待しよう。
※そんなに難しくなので、暇があれば直してみたい

tomcat5とapacheの連携は、mod_jkが主流のようだが、あまりくわしく解説をしているサイトを見たことが無い。
※jakartaのサイトを超えるサイトは無いという意味
もっとも、起動することをターゲットにするのであれば、設定の方法を述べるだけで十分なのかもしれない。
近々では、mod_proxyを使用した連携もあるようだ。これは、設定はとても簡単なのだが、全てのリクエストをtomcat5に転送するので、apacheで連携する理由があまりない。
(apacheのリクエストログを独立して使える・・・ってくらいか)

mod_jk、mod_proxyいずれも、tomcat5をリブートした場合は、連携元のapacheも再起動する必要があると述べているサイトがほとんど。
たしかに、mod_proxyでは、無くなってしまったセッションに対して再接続するという機能が無いらしいので、apacheの再起動が必要なのだろう。
mod_jkでは、コネクタが独立して動くようで、再起動後の不安定な時期を過ぎると、apacheの再起動を伴わなくとも、見た目連携が持続している。
たしかに、mod_jkでは複数マシンにあるtomcat5に対しての連携機能もあり、act-act(別tomcatでセッションが引き継がれること)で連携できることから、tomcat5がリブートしても、問題ないのだろう。

あと、mod_jkでは、連携対象の拡張子やディレクトリを指定することができるため、apacheで静的コンテンツを表示させることが可能。
動的コンテンツの比率があまり高くないのであれば、静的コンテンツをapache側に配置して、mod_jkを使用したほうが、レスポンスは早いと思われる。

2007年12月24日

え~まじっすかぁ

イニシャライズ処理で、使用していないクラスの継承をしたメソッド使用で
this.ウンチャラ
ですって(笑)
thisが無いから、当然nullを返すよなぁ~
スタック表示から推測して、クラスを類推してパッチあてしましたよ。

これ、放置(?)プレー中のリリース版なんですけど
まずいなぁ・・・
仮にも、お金取ってやろうとしている商品なんですから
リソースが足りないのに、戦線を拡大するのがいけない。

こんな初歩的な不具合を指摘するユーザさえ居ないってことなのか(笑)
でも、自分に都合の悪い内容は聞く耳持たないって、性格のようですからねぇ。
うちでは確認するすべは無いですが、本線のリリース版は、「基本的なこと」も含めて、FIXしているそうです。

にしても、今でも機能の追加を行っているということは、まだα版ってことになるのでしょうか。
だとしたら、すごい告知不備。
リリースノートさえ出していない(公開がストップしている)ところを見ると、確信犯なのでしょう。きっと
こんなんで、振り回されている自分が情けなくなってきます(笑)

2007年12月21日

デフォルト

ここでは金融用語として、自己破産の国家版

20年ほど前に、証券会社のシステムを担当したことがあって
当時はよく、南米の国々がデフォルトをやらかしていた
※テーブルの項目に「デフォルト区分」とかありました

現在の残高、今後の返済計画、将来の就業人口とか考えるに
このまま行くと、支払利息が税収より大きくなり、やがて国債を償還できなくなる日が必ず来る。
そうなった場合、どうなるのか
国家をリセットするしか方法が無いか・・・

どのようにリセットしたらよいのでしょうかね

公開の範囲

いや~
ますます方向性が分からなくなってまいりました。
パートナーとなれば、こういう特典があるよ!
ということなんでしょうか?!?!

幅広く来てもらいたいのですが
何か理由をつけて、情報をコントロールしていきたいという姿勢がちらほらします。
決してそうじゃないのかもしれませんが
だとしたら、潤沢に資金をいただけるとうれしいですがねぇ

そこらへんのことを考慮してやらないと、過去にも空中分解したこともあるし
もっとも、個人事業主だから、過去の経緯はチャラにして、実を取るという人も居ていいのか。
・・・そういえば、居たな(笑)
まあ、結局はお金が入れば勝ちなんだし
そうなれずにスピンアウトしたのは、負けということで
これ以上考えると、なんかムナクソ悪くなってきそうなのでやめときます。

ミクロ的に見ると、売り手市場なのかもしれないけど
マクロ的に考えると、5年くらいで破綻がきそうな、そんな感じが。
まだあと20年近く稼いでいかなければならないし、
どんなモノを扱えば、暮らしていけるのでしょうかねぇ

情報開示と約束

とある組合(今じゃ株式会社だな)で、ある不始末があったそうだ。
それに対して、大々的に「調査して回答しま~す」との広報があったよう。
・・・
これは、約束にあたることだと思われる。
で、調査した結果を回答したかと言うと
個別に、担当営業に聞いたら、「取締役会でゴニョゴニョ」と歯切れが悪い返答がきたそうな。
「人の噂も75日」という言葉もあるけど、調査した結果、芳しくない方向性になったのだと推測する。
だとすれば、最初から「約束」なんてしなければよかったのにと考えてしまう。

自身に当てはめてみると
・具体的な姿勢はあまり公言しない
・日和見的に行動する
という形になると思う。
取引先との重要な話とか、方針については、なるべくお互いに記録を取るようにしているけど
力関係もあり、「え、そんな事言ったっけ~」と頬かむりするユーザも珍しくない(笑)
ま、こういう輩は、結果、信用を無くすわけで
会社という大きい後ろ盾があるから、「まあ、仕方ないかぁ」となる訳で
後ろ盾が無くなったときに、どのような事になるか
(会社を辞めたり、会社が無くなったり)

もっとも、頬かむりするユーザの中でも、貸し借りを意識している人は居て
そういう行動典範を持っている人は、出来る人だと周りから認められる場合が多い。
まあ、技術や交渉力で、その場を取り繕っても、最終的には綻びが出るということでしょうか。

社長ともなると、そういうところを意識して、内外と付き合う必要があるから、神経をすり減らす。
嫌な客や取引先、従業員とでも、おくびにも出さずに対処しなくてはいけない。
※相手も同じなんだろうけどね~
時たま、疲れてしまって、感情的になることもある。
43年も生きていると、たいしたことでは動じないのだが、公私共に余裕が無いと、つい本音が出てしまうことも。

2007年12月20日

VPNを体感

proxyをまたいでVPNを体感。

CISCOのFWに仕込まれており
最初のアクセス時にクライアントがDLされる。

プロキシの中からteratermが使えるのは感動モノです。
布施加工のFWもVPN対応ではあるけど、
社長のスキル不足(笑)でproxyには対応していないよう(ナサケナヤ)

2007年12月19日

某DBソフトの戦略

かなり有名なDBソフト
(えーとオープンソースじゃないです)
のえげつない(笑)戦術というか、お客を手玉にとった商いをとある筋から聞いた。

営業ってのは、御用聞きみたいなもので、
お客からの答えはただひとつ
「それは実装されています」

でも、実は実装されていなくて(笑)
そのマイナーバージョンで、要望を入れていくのだとか。
日本の企業だと、完全に実装してからでないと商品を発表しない。
ただ、その戦術だと、旬を過ぎた商品になりかねない。

まあ、マイナーバージョンで実装されるのだから「うそ」とは言えないが
○×が出来るまで半年かかります・・・とか、言われるのって ねぇ。

以前、某携帯キャリアで、そのDBを使ったシステムの評価をしたことがあったけど
まさに、明日本番稼動するって時に、
「○×のパッチは来月になります」
とかサポートに言われたときには、マジでブチ切れました(笑えない)

システムテストの時期に、そんなこと言われるのって、インパクトありすぎ。
まあ、倫理的には問題有りですが、企業として儲けるためには仕方の無いことなんですかね

儲けと倫理の狭間で苦悩している今日このごろ。
ネームバリューで、乗り切れる商品であれば、いいのでしょうけど、そうじゃないモンは次が無いですから大変ですわ。

2007年12月17日

間接作業

お客のところに行って、いろいろとコンサルするのが直接お金になる仕事である。
とはいっても、
ユーザの開拓
提案
フォローアップ
請求書(笑)
は、お金に結びつくが、直接お客(または作業)にかかわる問題ではない。
取り扱いというか、全体の取引量が少ないと、間接作業の比率が高くなる・・・
扱いをドンとあげて、間接作業を専門にやってくれる従業員を雇いたいところだ。

ただ、間接作業とは言え、どれも怠ると、会社的には信用を失うことになる。
小企業の社長は頭の痛いところだろう。

これらの間接作業をアウトソースするという需要はあると考えていて、
ビジネスにつながるかどうか
どのようにしてやれば、(布施加工として)採算がとれるか
いろいろと検討しているところだ

2007年12月15日

美ら海水族館

悠々と泳いでいた3匹のじんべいざめ
ちょうどえさ槍の時間と重なったのはラッキー!!
室内から出て外に行くとイルカショーが16時から。
那覇への帰りのバスにしっかりと連絡していたのは偶然!?

美ら海水族館からバスに乗って、途中名護で高速バスの乗り換え、那覇空港まで。
那覇空港に1930着
帰りの飛行機は2210発だったので、ナイスタイミング ということだった。

携帯電話

携帯電話のアプリに電話料金を表示するものがある。
アプリに関する使用料、通信料は無料なので、結構重宝している。
仕組みは、前日までの累積データをサーバから送信し、日々と累積の通信料を表示するというもの。
移動中に電話をすることが少ないのと、出先の固定電話で相手に電話することが多いので、通話料はかなり控えめ。
ただしパケット通信料はそれなりで、無料通話分をほぼパケット通信料で消費することもある。
特段、どこかのページを閲覧したりするわけではないのだが、メールの配信もパケット料として課金されるのが痛い。

頭痛のネタが一つ増える・・・
そろそろ息子が色気づいて(笑)
専用の携帯をほしいの言い出したためだ。
ヒアリングしてみると、使用の中心は、インターネットとメールだと言う。
通話と違って、使用実感がわかないので、いつものまにか高額のパケット代を請求されることになるだろう。
その通信料はいったい誰が払うのだろうか。
自分の息子ながら、明らかに金銭感覚に乏しいというのは、とても心配である。

2007年12月09日

LinuxマシンにHDDを追加

ファイルサーバの容量がたりなくなってきたので、hddを追加した。
いつもの如く(笑)ノーブランドのhdd(250GB)を近所のPCDで購入する。
速度的にはどうでもよいのでATA100のやつ。

早速、ファイルサーバを落とし、ケースを開けて、3インチベイに格納して結線する。
マシンを再投入して、BIOS画面で認識を確認。さらに、/var/log/messagesで、認識したデバイスを確認する。(/dev/fhddに割り当てられていた)
いったんlinuxを立ち上げて、コマンドからsfdiskを実行してパーティションを作成する
※単純にretを押しつづけたため、/dev/hdd1のパーティションとなる
続いて、mkfsでフォーマット。ext3にした。

マウントポイントを/home2としたため、まずはmkdirで、ディレクトリを作成。
続いて、マウントを行う
mount -t ext3 /dev/hdd1 /home2

マウントされたことをdfコマンドで確認。

続いて、/etc/fstabにマウントポイントを追記。これでリブート時にも自動でマウントされるようになる。

2007年11月29日

点と線

松本清張原作の本格推理小説。
昨今、ビートたけしが主演してテレビドラマとして放送された。
過去に映画化されていて、何回かビデオを見たことがある。
西村京太郎のトラベル物ミステリーと同様、かなり強引な時刻表技を駆使している感がして、個人的には・・・(実は鉄なので)、あまり好きではない。

でも、文字から映像になると、出演者や演出により、なかなか見ごたえのあるものに変わる場合がある。今回のドラマでは、思い切った(笑)キャストにより、前評判も上々だったためか、視聴率もかなり高めだったと聞く。

偶然かもしれないが、昨今の防衛省疑獄に通じるところがあり、小説・映画、そしてドラマと、いろいろと考えて見ることができた。

閑話休題
点(dot)、線(dash)
今では死言となったモールス符号の、「ト、ツー」のこと。
大多数の人は、URLの「.」を「ドット」と呼称するが、正しくは、「ピリオド」のはず。
ドットは、真ん中に点がある文字のことで、「・」のはずだ。
言いまわしがいいので、「ドット」を使用する人が増えたのだろうか・・・
自分は、わざと(笑)、ピリオドと呼称していますけどね~

ご注意!!

著作権表示
このblogのオリジナルURLは
http://blog.sailine.net
です。
キャッシュで保持する場合はキャッシュであることを明示してください。明示しない場合は著作権侵害となります。
This blog is "http://blog.sailine.net" saving.
The contents must be displayed in above URL or based.
If you tried to show the blog with different the URL,you must license from the copyright holder.
Copyright 2007-2010 ©彩らいん!もじサイト(http://brog.sailine.net)