2005/8/19

Apacheをやっと2.xに上げた(Web)

以前の記事にあるように、 今までapache2はsuexec環境でpublic_html配下のcgiがそのユーザ権限で動作出来ない問題を指摘して、 結局1.3系をずっと使っていたのですが、久しぶりにapache 2.0.54_2 を入れてみたら、ちゃんと動くではないですか!

今日は会社から帰ってからずっとhttpd.confをいじくっていました。

Change Logを見ると、2.0.51から以下の変更があった模様。

mod_userdir: Ensure that the userdir identity is used for suexec userdir access in a virtual host which has suexec configured. PR 18156. [Joshua Slive]
  • suexec
    特に問題なし。
    コンパイルオプションはpkgtools.confに「WITH_SUEXEC=yes SUEXEC_DOCROOT=/home SUEXEC_UIDMIN=80 SUEXEC_GIDMIN=80」を指定した。
    UID,GIDはwwwユーザがsuexecで動作しないとsquirrelmailが動作しなさそうだったからです。
  • WebDAV
    mod_encodingが無いけど、日本語も正しくput,get出来ることを確認

suexec環境では構築が難しいと言われているqmailadminも無理矢理動作させました。興味のある方はコメント下さい。


【後日談】
squirrelmailはPHPで動作しているため、CGIとは違う扱いみたいです。よってsuexecの下では動かないので、 /usr/local/wwwにportsではインストールされますが、上記のUIDMIN,GIDMINは変更しなくても大丈夫そうです。

2005/8/16

WRT54GC-JP良くない(Internet)

今まで、ルーターはLinksysの BEFSR41C-JPを、無線APにはBuffaloの WLA-G54を使っていてとりあえず快適だったのですが、Linksysから小型一体型の WRT54GC-JPが発売になったので買ってみたけど、色々問題があって「使えない」という結論に達しました。

今まで使っていたBEFSR41C-JPはsnmpに対応しており、DiCE for LinuxからWAN側IPアドレスを取得するときにもsnmpwalkを利用したちょっとしたスクリプトを書くだけで簡単に対応できていました。

また、これでもかっていうくらいsnmptrapを出してくれるので、 回線が再接続された場合にも瞬時にログから採取して(swatch使用)全クライアント端末にIPメッセンジャーのプロトコルで「_ |‾|○ 」を送ることが出来ました。

無線APのWLA-G54は別にこれといって可もなく不可もなく、普通にWPAも使えるAPで、 いざとなったら中のMiniPCIカードを取り外してノートに置換出来るという裏技的な事もできるお勧めAPでした。

で、LinksysもCISCOの子会社になって、しばらくしての新発売ルーターなので、さぞかし高機能& 安定しているものだと思い買ってきたのですが、以下の問題が現在のファーム v1.04.3 にはあります。

  • snmp非対応になった
    何のためにLinksysのルーターをまた買ったのか判りません。ログ出力はsyslog(LOCAL7固定)で、 DiCEからWAN側IPを取ってくるのにHTTPで管理画面のステータス表示を取ってきて自分で加工する必要が出てしまいました。
  • 接続が不安定
    本ルーターに替えた途端、深夜〜早朝にかけて一時間周期程度で回線の再接続が発生するようになりました。
    もう、DDNS更新しまくりです。Value Domainは別に一日に何度DNS更新をしても怒られないのですが、 DynDNS.orgとかだったら一日でアカウント停止でしょうね。
    でも、DDNS更新機能は標準装備。
    ちなみにウチの環境はACCA ADSL 26M on So-netです。 BEFSR41C-JPに戻したら回線切れは全く無くなりました。元々ウチのADSL回線はかなり品質が良く。 一ヶ月とか平気で繋がっています。
  • syslogが意味ない
    syslogに出力するログが外部からのブロックレポートと、なんか内部からWAN側に出て行ったレポートしか表示されません。 一番欲しい以下のログを出力してくれません
    • 管理者ログイン
    • 回線再接続
    • システム再起動
  • 管理画面の殆どの操作で回線再接続
    無線設定で簡単な設定変更。例えばSSIDのブロードキャストを無効にしたくらいで、システム全体を再起動しないで頂きたい。 無線機能とルーター機能を完全に分けて管理してほしいですね。一体型というのは普通そうなのでしょうか?

折角買ったのに使わないのはもったいないので、無線機能だけで言えばブロードバンドウォッチの記事を見る限り、 遅めらしいけれどとりあえず使えるので、上記問題が今後のファームアップデートで解決することを祈って使い続けることにします。

今思えば、BEFSR41C-JPは神機だと思います。同じスペックでファームを上げただけで無印〜 V3まで三機種出ている所からも言えますが、ファームの更新も真剣で評判もいいです。

一般の人はBuffalo,NEC,I/O DATA,Coregaあたりが店に一杯置いてあるので好きな物を買えばよいと思います。 普通の人は回線切れが発生しても一瞬だから全然問題ないでしょうから(オンラインゲー常用の人除く)。

 


 

【2005/8/16追加】

上記の問題点をリンクシスに問い合わせていて、今日回答が来ましたが、 WANが夜頻繁に切断される件については同様の問い合わせが無いそうです。

うちの環境だけかもしれませんが、少なくともBEFSR41C-JPに戻して超安定状態です。 別にこのルータが安定するまで待つ理由も無いため、ヤフオクで売ることにしました。 これ以上WRT54GC-JPに関するエントリは追加されないと思いますが、私は事実しか書いていないので、 本エントリはこのまま残すことにします。

【2005/8/22追加】

「WRT54GC-JP」でYahoo!JapanやGoogleで検索すると一ページ目にこのエントリが出ちゃっていますね。 これって、営業妨害になるのかな。でも、BEFSR41Cは褒めまくりだから、いいことにしよう。

2005/8/14

openldapでBecky!のアドレス帳管理(FreeBSD, Internet)

自宅サーバにopenldap 2.2.27を入れ、 WindowsのメーラからLDAPサーバ上のアドレス帳を検索できるように設定しました。

実はLDAPの設定は今回が始めてて勉強がてら設定したものをメモとして公開します。

今回のポリシーは以下の通り。

普段はBecky!を愛用していますが、一応Outlook Expressでもそれなりに情報が検索できるような最低限のデータを登録しました。

■openldapのインストール

FreeBSDのportsを見てみると、net/openldap23というディレクトリがあったので、どうせなら最新を… と思ってmake installしたら、openldap-clientに既に2.2.27が入っていました。どうやら、 samba3を入れると勝手にopenldap22-clientがインストールされる模様。

別にこだわりはないので、サクっとnet/openldap22-serverをインストールしました。 databases/db42も一緒にインストールされます。

■設定を始めに決めましょう

LDAPではDN(Distinghished Name)という一意となる名前でその中の属性(Attribute)にアクセスします。DNの中でも根っことなる部分のDNを決めます。 DNはサーバ内で一意となれば良く、ドメイン名の様に全世界でユニークになる必要はないのでなんでも良いのですが、 もし自分が独自ドメインを持っていたらそれを指定しましょう。

具体的には私のサーバだったら「dc=hijiki,dc=net」となります。別に「dc=test,dc=com」でも、 「dc=hogehoge」でも構いません。dc=???は幾つでも書けます。今回は「dc=test」で説明します。

また、今回は以下の二つのカテゴリをdc=test配下に作ります。 カテゴリといっても実際はou(organizationalUnit)という組織単位を作成します。

アクセスポリシーとしては、 People内のユーザで認証したユーザのみがAddressBooks配下のDNにアクセスできる様に設定するため。 People=誰でも読める。AddressBooks=認証を受けた人だけが読める。という設定にします。

■設定ファイルを書き換えましょう

前述の事を全部openldapの設定ファイルである/usr/local/etc/openldap/slapd.confに設定します。また、 デフォルトのslapd.confでは使用できるobjectClass(テンプレートみたいなもの)が限られているので、適宜追加します。

rootdnのcn(管理者)の名前は「Manager」にします。rootpwに指定するパスワードは「slappasswd -s hogehoge」等を実行し、 出力された結果をコピペします。

[/usr/local/etc/openldap/slapd.conf]
include /usr/local/etc/openldap/schema/core.schema
# 標準的なスキーマを追加する
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/nis.schema

pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args

# ou=People配下は誰でも読み込み可能
access to dn.children="ou=People,dc=test"
    by * read

# 認証を受けた人以外は読み込み不可。オマケに管理者以外は設定変更も不可
access to * by dn="cn=Manager,dc=test"
    read by self
    read by users
    read by * none

database bdb

# ルートオブジェクト及びrootdnで管理者をcn(Common Name)=Managerに設定
suffix "dc=test"
rootdn "cn=Manager,dc=test"
rootpw {SSHA}O1pmjDEul8MHY/50djtr0vK3/yIlXEjN

directory /var/db/openldap-data
index objectClass eq

# cn(CommonName)は含む・部分一致・完全一致でインデックスを作成
index cn eq,pres,sub

■slapdを起動しましょう

それでは起動しましょう。先ずは/etc/rc.confに以下の行を追加します。

[/etc/rc.conf]
slurpd_enable="NO"
slapd_enable="YES"

slurpdはLDAPのデータベースを他のサーバと同期を取るためのデーモンです。今回は設定しません。

後は再起動するか、以下のコマンドを打ち込んでldapサーバを起動します。

# /usr/local/etc/rc.d/slapd.sh start

自動的にルートオブジェクトが作成される筈です。以下のコマンドで確認してみましょう。

#slapcat
dn: dc=test
structuralObjectClass: organization
entryUUID: 0123962c-9eba-1029-8b49-cf50ad9366e7
creatorsName: cn=Manager,dc=test
createTimestamp: 20050811134604Z
objectClass: dcObject
objectClass: organization
dc: test
entryCSN: 20050813102237Z#000001#00#000000
modifiersName: cn=Manager,dc=test
modifyTimestamp: 20050813102237Z

…とりあえず何か出れば大丈夫だと思います(笑)

■ouの作成とアクセス用ユーザの作成

それでは前の方の章で決めたAddressBooksとPeopleのouを作成します。更にPeopleのouの中に「guest」というアカウントも設定しましょう。

guestアカウントのパスワードを先に作ります。また「slappasswd -s hogehoge」を実行して、結果をどこかに取っておきます。ちなみに本当にパスワードに「hogehoge」を指定すると「{SSHA}VJ1VYMn4DSLKwQv/aMTqPqvs7GdliZnW」となります。

以下のファイルを作成しましょう。細かいことは割愛しますが、guestユーザ登録時に指定しているuidNumber,gidNumber,homeDirectory,cnは適当でいいです。

今回はこのDNではuidとuserPasswordしか使用しませんが、このオブジェクトで指定しているposixAccount,accountではこれらが必須項目となっているので何かしら指定しなければなりません。

[/tmp/first.ldif]
dn: ou=AddressBooks,dc=test
ou: AddressBooks
objectClass: organizationalUnit

dn: ou=People,dc=test
ou: People
objectClass: organizationalUnit

dn: uid=guest,ou=People,dc=test
objectClass: posixAccount
objectClass: account
uidNumber: 100
gidNumber: 100
homeDirectory: /
uid: guest
cn: guest
userPassword: {SSHA}Vsb2fbGxsKkcJEWE5iTYSgoaCTMUfWdi

では登録しましょう。以下のコマンドを打ち込んで結果を確認します。

# ldapadd -D "cn=Manager,dc=test" -w hogehoge -f /tmp/first.ldif
adding new entry "ou=AddressBooks,dc=test"

adding new entry "ou=People,dc=test"

adding new entry "uid=guest,ou=People,dc=test"
# 

それでは本当にguestアカウントが登録されているか確認してみましょう。コマンドはldapsearchを使います。

# ldapsearch -x -D 'cn=Manager,dc=test' -w hogehoge \
  -b 'ou=People,dc=test' -s one '(uid=guest)' uid userPassword
# extended LDIF
#
# LDAPv3
# base <ou=People,dc=test> with scope one
# filter: (uid=guest)
# requesting: uid userPassword
#

# guest, People, test
dn: uid=guest,ou=People,dc=test
uid: guest
userPassword:: e1NIQX1XMzdPMzJnNW1wMGtzVG1qL01yczNMZXlhTFU9

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1
# 

上記例ではManager権限でDN:People,dc=test配下でuidがguestと一致するオブジェクトのuidとuserPasswordを表示するという指定です。
userPasswordが最初に入力した値と異なりますが、よく見るとコロンが二つついています。これはその行は各種方式でエンコードされている行という意味で、この場合はバイナリ形式で保存されている意味になります。

■ou=AddressBooks内を登録する前に…

実はLDAPで登録するオブジェクトの各種属性(Attribute)は使用するメーラによって、どの属性をどの項目に設定するかが、まちまちで統一されていません。

今回はメールアドレスを管理するobjectClassにinetOrgPersonというものを使います。inetOrgPersonはorganizationalPersonを継承し、更にorganizationalPersonはpersonを継承してしますが、必須項目はこのpersonにあるsn(SurName(姓))とcn(CommonName(識別子))だけとなっています。

つまり、sn,cn以外は好きな物を登録すればいいのですが、今回はメールアドレスを管理したい訳ですから、以下の物を登録します。

Becky!とOutlook Expressでどの項目に設定されるかも併せて表にしてみました。

Attribute 説明 Becky! Outlook Express
cn(commonName) フルネーム Yoshimasa Katakura 宛先名(検索可) 表示名(検索可)
sn(surname) Katakura - 姓(検索可)
gn(givenName) Yoshimasa - 名(検索可)
mail(rfc822Mailbox) メールアドレス yotan@hijiki.net メールアドレス(検索可) 電子メールアドレス(検索可)
ou(organizationalUnitName) 部署名 MyHome 所属組織(左) 部署名
o(organization) 所属 ひじき 所属組織(右) 会社名
description 備考 備考欄です 設定により備考に表示(検索可) -

つまり、どうせsnは必須項目だったら、Becky!しか使わなくてもgnも登録してしまいましょう。あとついでにdescriptionに日本語表記の名前でも入れておけばBecky!で検索一覧に表示できるので嬉しいです。

というわけで上記Attributeを持ったオブジェクトをou=AddressBooks,dc=test配下に沢山登録しましょう。

■ldifファイルの準備

登録したい情報をldif形式のファイルを作成して、一括登録します。前の方の章でAddressBooks,Peopleを登録したときと同じ要領なのですが、一つ注意して頂きたいのが「日本語はUTF-8形式で登録」という事です。
まあ、これを読んでいる人はFreeBSDなりLinuxを使っているので文字コード変換は大丈夫ですよね?とりあえずSJISでもEUCでもいいから、以下の感じでファイルを準備します。

一つのファイルに複数のオブジェクトが登録できます。途中に空の行を一つ以上入れるのを忘れないように。

[/tmp/mail.euc.ldif]
dn:cn=Yoshimasa Katakura,ou=AddressBooks,dc=test
o:ひじき
gn:Yoshimasa
sn:Katakura
ou:MyHome
mail:yotan@hijiki.net
objectClass:inetOrgPerson
cn:Yoshimasa Katakura
description:備考

dn:cn=foo bar,ou=AddressBooks,dc=test
o:でたらめ
gn:foo
sn:bar
ou:MyHome
mail:foo.bar@example.net
objectClass:inetOrgPerson
cn:foo bar
description:名無しさん

…こんなファイルを一つ一つ手で入れるのはお猿さんのやる仕事ですね。私は以下の手順で変換しました。

手作業ももちろん必要ですが、Excelで編集すれば楽ちんですね。手作業もありましたが、社員数50人程度の弱小企業なので、部署名の入力もそんなに時間がかかりませんでした。

さあファイルの準備ができたら、先にもやりましたが以下のコマンドで登録をしましょう。

# ldapadd -D "cn=Manager,dc=test" -w hogehoge -f /tmp/mail.utf-8.ldif
adding new entry "uid=Yoshimasa Katakura,ou=AddressBooks,dc=test"
       :                 :
       :                 :
#

■インデックス再作成

ou=AddressBooks,dc=testに沢山のオブジェクトが追加されましたので、インデックスの再作成を行います。

# slapindex -b "ou=AddressBooks,dc=test"

…多分これで大丈夫だと思います。slapd.confでindexにcnを設定したので、名前による検索が高速になった筈です。

■動作確認

最初に説明したとおり、今回のLDAPサーバはユーザ認証が出来たクライアントからしか読み込みを許可しない設定になっています。

まずは、ユーザ認証なしで検索してみて何も引っかからないパターンを確認します。

# ldapsearch -x -b 'ou=AddressBooks,dc=test' -s one '(cn=*taku*)' cn mail
# extended LDIF
#
# LDAPv3
# base <ou=AddressBooks,dc=test> with scope one
# filter: (cn=*taku*)
# requesting: cn mail
#

# search result
search: 2
result: 0 Success

# numResponses: 1

ハイ、ユーザ認証しないと何も出ませんね。
それでは-Dと-wオプションを使ってguestアカウントで認証した後に検索してみましょう。

# ldapsearch -x -D 'uid=guest,ou=People,dc=test' -w hogehoge \
  -b 'ou=AddressBooks,dc=test' -s one '(cn=*taku*)' cn mail
# extended LDIF
#
# LDAPv3
# base <ou=AddressBooks,dc=test> with scope one
# filter: (cn=*taku*)
# requesting: cn mail
#

# Yoshimasa Katakura, AddressBooks, test
dn: cn=Yoshimasa Katakura,ou=AddressBooks,dc=test
mail: yotan@hijiki.net
cn: Yoshimasa Katakura

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

はい。見つかりました。これでもうBecky!からもOutlook ExpressからもLDAPからの検索が可能になりました。

■Becky!での設定

アドレス帳から新規アドレス帳を開いて、LDAPの設定を以下のようにします。

サーバ名はもちろんFreeBSDのサーバ名。パスワードはhogehogeです。
下の「認証」を入れないと決して接続が出来ない訳ではなく、前の章で試したように何も検索ができなくなります。

あとはアドレスを呼び出すときにはアドレス帳から今回登録したLDAPのアドレス帳を選んで、検索フィールドで文字列を一部分でも入力して「検索」を押せば一覧に表示される筈です。

Becky!ではアドレスを呼び出すときには毎回LDAPサーバに繋いで検索しなければいけませんが、Outlook Expressでは検索した物をローカルのアドレス帳に登録してから利用する手順みたいです。
どちらが良いかは人それぞれですね。

■外部に公開してしまえ

もしLDAPサーバの入っているホストがインターネットの外からもアクセスできる場合は389/TCPポートを開いてあげればOKです。やり方は本エントリとは関係ないので割愛しますが、少なくとも今回の設定ではou=People,dc=test配下のオブジェクトしか参照できませんし、その中のパスワードは強固な暗号化がかけられているので大事なメールアドレス一覧が漏れてしまう心配は少ないでしょう。

但し通信自体は暗号化されていないので、Sniffされた場合にはその限りではありません。

■ToDo

まだ、書ききれない事、調べ切れていないことを列挙します。

2005/8/ 9

ADSL導入記(So-net ADSL)(Internet)
本エントリは元々私の別サイトで公開していたADSL導入直後の奮闘記です。
元サイトが無くなったのでこちらに移動してきました。

導入前思案期

我が家は元々、フレッツISDNによる64Kbpsによる常時接続を長いこと使っていました。もちろんその前はアナログ回線による接続だったのですが、夫婦揃ってネットを行う為に当時で一番快適なプランとしてフレッツISDNが収容局が対応してすぐに導入したわけです。ちなみに導入したのは2000年末です。

あれから二年経ち世の中は変わりました。ADSLによるブロードバンドが始まり、動画コンテンツもブロードバンド専用なページも登場して、ISDNではネットサーフィングするのにストレスを感じはじめてきました。

各社のADSLの導入にかかる費用を色々算出してみると、今のISDNをアナログ回線に戻せば今よりも安くADSLにできる事はわかったのですが、既にISDNでiナンバーサービスで3番号取得しており、FAX専用番号もあるため今更アナログに戻すこともできません。電話機が二台余っちゃうし。

そこで、家がADSLを導入する場合はType2による新規回線を引き込んで行う方式を取るしかありません。おまけにSo-netのメアドは夫婦共にできれば一生維持していきたいアドレスなので他のプロバイダでADSLを引いてもSo-netは一番安いプランで残しておく必要があります。

私はヒマを見つけては各プロバイダのページを見て、ADSLの料金が値下げして今の通信費と同等か、安くならないか、ずっと待っていました。

導入決定(2003/01/13)

So-netのページを見ていると、7周年記念とかで、ADSLの費用が最大3ヶ月無料になるらしい。計算してみると無料期間の差額を考慮すると来年の3月まではトータル的に今払っている料金と変わらない事がわかった。

来年になったら実家に引っ越しているかもしれないし、もしかしたら更にADSLの料金が下がるかもしれないので導入決定。早速申し込みページから登録。ついでに、今入っている家族割引コースから自動でADSLの家族割引コースになるのか確認メールも送る。

ADSL受付完了メールはすぐに届いた。

家の電話回線は妻名義になっているため、NTT側の工事の際に申込人と異なる場合にトラブルになることもあるらしいので、夫婦揃って免許証のコピーを撮り、So-netにFAXした。これできっと書類上は問題ないだろう。

工事日確定(2003/01/15)

NTTの回線確認は問題なかったみたいで、申し込みから二日後に工事日の予定が届いた。2/3だって。結構先だな。工事日までの三週間はワクワク週間になりそう。

ルーター機能調査

So-netというかアッカネットワークスがレンタルしてくれるルータの機能について調査した。ルータによたんが求める機能は以下のとおりある。

調べた結果送ってくる富士通製のFLASHWAVE 2040 M1は初めのUPnPしか対応していないみたい。PPTPサーバはまあルータに無くても自宅のFreeBSDマシンで動かせばいいし、DDNSも同じくちょっとスクリプト組めば対応できそう。

しかし、syslog機能というかこのルータは内部にもログを保持する事ができないらしい。ただでさえADSLは通信が切れることがあるらしいのにログが残らないとはどういうことだ?

他メーカのルータ調査

FLASHWAVEはルータ機能を外してブリッジモードとして動作させられるらしい、こうすれば別のメーカのブロードバンドルータが取り付けられる。最近はびっくりするぐらいルータの値段が下がっていることを知った。

前述の求める機能全てをまかなっているルータはYAMAHAのRTシリーズしかなかった。しかしRTシリーズは一番上位モデルでもスループットが12Mbpsしかない。将来はFTTHとかCATVの高速回線にも移行したいと考えているのでできればその時になって買いなおしたくはない。おまけにYAMAHAは高い!

多少機能を削って

だけに絞って探してみたけど、最後の安定動作という面でかなり機種が絞られてしまうみたい。情報のソースは2ちゃんねるの掲示板なんだけど最近のルータはどこも機能をつめこみすぎて安定面で劣るみたい。ルータなんて電源を一度入れたら停電以外は何年でも動き続けるべきものなのにね。

NTT-MEのBA8000proは意外と良さそうだけどどうしようか思案中。どちらにしても、FLASHWAVEをブリッジモードにするとFLASHWAVEの管理画面にあるという周波数域ごとの転送情報とかが簡単に見れなくなってしまうので。ADSL導入してしばらくはこのままで行こうと思う。通信が安定したことが確認取れたらルータを別に用意しよう。きっと少しすればまた新しいものも登場するだろうし、既に発売済みの機種もファームウェアのバージョンアップとかで安定してくると思うし。

家庭内LAN 100M入れ替え(2003/01/18)

多分無いとは思うけど、万が一ADSL12Mプランで10Mbps以上スループットが出たときの事を考えて、今まで10Mbpsで配線していた家庭内LANを100Mbpsに全部入れ替えた。

具体的にはLANカード二枚、ケーブル10本、スイッチングハブ1台。最近はそのへんの機器も安くなったね。もちろん高機能なものは高いけど全部で1万円以内で収まりました。

FreeBSDマシンがOSが古いのかマザーボードが古いのか分からないけど、100Mにした途端にファイル転送を行うとフリーズしてしまう問題があったけどこれもOSとマザーを交換することで対処して一応入れ替えは済みました。

ただ一点。無線LANのホストにメルコのWLA-11を使っているのだけど、LAN回線自動認識や手動にて100Mを指定すると逆にスループットが落ちる問題が出た。手動で10Mにすると問題なく繋がる。本件についてはサポートとバトル中。クレーマにならない範囲で正しく動くものに交換してもらうように交渉中。確かに無線LANではスループットは3Mbps程度だから10Mbpsでも問題はないんだけどね。

フレッツISDN解約連絡(2003/01/28)

そろそろADSL開通が近づいてきたのでフレッツISDNの解約連絡を入れた。116番にかけたんだけど簡単に手続きできた。
開通予定日の翌日である2/4に解約してもらうことにした。

ルータ到着(2003/02/02)

工事予定日の前日にルータが到着しました。最近はIP電話対応のルータに切り替わってきているのでもしたしたら、中古のが来るかと思いましたがどうやら新品みたいです。

とりあえず設置予定場所に鎮座させ、明日の工事を待つだけになりました。

上の写真:新品のパッケージと色々あるマニュアル類。特にマニュアルなしでも設定できると思うけど一応読んでおこう。

こんな感じに設置してみました。

下のパソコンはFreeBSDサーバです。で、この写真の場所は台所の隅っこにあります。

一応写真にある壁にモデムから40cmくらいの所にモジュラージャックがあるので添付されてきた電話線を短いものに換えればノイズ対策は良いかなと思っています。

パソコンの電源からのノイズがちょっと心配ですが、まあ大丈夫でしょう。

思ったよりもずっと小さかったです。おまけに軽いし。



ルータの設定

とりあえずIPアドレスを家庭内LANで開いている番号に設定して、前日の内に接続パラメータの設定を行った。具体的な設定内容な以下の通り。

上記以外の設定はデフォルトのままです。後は明日、今使っているRTA52iとFLASHWAVEのIPアドレスを入れ替えればすぐにインターネットが利用可能になる予定です。

ダイナミックDNSへの対応

本ルータにはダイナミックDNSへの自動登録が行えないので、Web設定画面をUNIX上で取り込んでIPアドレスを取得し、変更があった場合にdyndns.orgへ登録するスクリプトを書きました。詳しくはこちらを参照。

ADSL開通工事(2003/02/03)

朝9:30過ぎにNTTから電話があって今から来るとの事。待ってたら10分くらいして来ました。部屋には既に前に住んでいた人が電話を二回線使ってたらしく、増設のモジュラーがついてたので宅内工事は特になし。外に出て電柱に登ったのかどうかはわからないけど、20分くらいして戻ってきた。

家の回線に繋がっている保安器はType1だと通信中に電話がかかってくると切れてしまうタイプのやつなので取り替えてきたみたい。

早速モデムとつなげて見ると、繋がらない。工事の人が局に電話してなにやら試験をしていたけど、やっぱり繋がっていないみたい。工事の人がまた外に出て行って暫くして、今度やったらちゃんと繋がった。ルータ管理画面からもちゃんと「ADSL接続中」になった。

結局工事にかかった時間は小一時間。ちょっと時間かかったけど、上記保安器の交換もあったしね。

リンク速度

うちの環境はISDN回線とADSL回線が同じ束の銅線で部屋まで来ている、ちょっとISDNのノイズが心配な環境なのですが、繋げてびっくり、なんと下りで7.5Mbps。上りはADSL12Mの最高である1Mbpsが出ているではないか。

工事の人もびっくりしていました。よたんも当然びっくり。奥さんは別に無感想だった(笑)

  

で、キャリアチャートを見ると、ISDNとの干渉は特になさそうに見える。ラジオのノイズが少し混じっている程度。とりあえず月曜の昼でこんな感じ。夜とか休日にどうなるかは今後レポート予定。

回線ログ取得(2003/02/05)

ADSLが導入されてから初めはテキスト形式で10分置きにステータスを記録していたんだけど、これをPostgreSQLのデータベースに記録するようにした。ついでに参照用WebページをLAN上のWebエリアに置いて、奥さんも簡単に状況が確認できるようにした。

やっぱり、FLASHWAVEは内部にログを持っていないので厳しい。収集期間の間(10分)に切断→接続が発生した場合、たいていの場合はIPアドレスが変わるからそこで障害を検出できるけど偶然同じIPだったら切れたことがわからない。まあ滅多にないだろうけど。

今日は2回回線が切れたみたい。初日は全然平気だったのにねぇ。あまりリンクダウンが頻発するようなら電話線を短くしたりノイズフィルタ入れてみよう。許容範囲はやっぱり1週間に一度程度にしてほしい>切断

回線が切れる前兆(2003/02/07)

今日も二回切れた。一日に1〜2回切れるので、ログをじっくり見ていると、切れる直前のSNR値が4.0dBから3.5dBくらいに下がっていることが分かった。

色々なページでSNRについて調べてみると、やはりこの値が下がると切れやすいらしい。平均SNRは6.81dBだからもう少しこれが上がらないとダメみたい。これってアッカでなんとかしてくれるものなのだろうか?

とりあえず電話線がルータの下にあるパソコンの電源付近でとぐろを巻いているのを離して様子を見ることに。

SNRとDOWNリンク速度の関係(2003/02/08)

PostgreSQLに保存しているデータをODBC経由でエクセルに落とし込んで、SNRとDOWNリンク速度の関係を分析してみた。

基本的にDOWNリンク速度は一度繋がると切れるまで下がったり上がったりはしないみたい。つまり繋がるときのSNR値によって速度が決まってくる感じがする。

SNRが高いときに繋がるとDOWNリンクは低い、逆にSNRが低いときに繋がるとDOWNリンクは高い。まだデータが十分にとれていないけど、前述のとおり切れる前兆にはSNRが低くなっている傾向も若干ある。しかし10分置きの収集データなので本当に切れる直前のSNR値は収集できないためなんとも言えないところもある。

FLASHWAVEでログをちゃんと取るのには元々無理があるので、今後長期にわたって有益なデータが取れるかは疑問が残る。

回線安定化の依頼(2003/02/13)

72時間連続して接続ができた時もあり、回線が安定したのかと思いきや、やっぱり切断されてしまったのでSo-netに回線安定化の依頼をかけた。

依頼メールを出して数分後にリンクダウン。そんなに早くに安定化作業を始めたのか?と思ったけどまさかそんな事はないだろう。SNRが4.0以下に落ち込むと(10分間隔だけど)FreeBSDから私の使っている端末のIPメッセンジャーにメッセージを送る仕組みをとっているのだけど特に今回はメッセージは来なかった。SNRが低くならなくても切れるときは切れるらしい。それか、もしくは瞬間的にノイズが大量に入って切れたか…とにかくわからない。

回線安定化完了(2003/02/15)

夕方So-netから連絡があり、昨日の夕方に回線安定化を行ったらしい。ちょうど16時頃に一回切れている。

連絡してきた内容は以下の通り。

2月14日16:00頃より、弊社設備にてお客様の回線状況を調査させて
いただきましたところ、下記速度にてリンクアップしていることを確認しました。

Auto設定(XOLモード)にて
------------------------------
 下り 8160kbps NM:6.0dB
 上り 1024kbps NM:7.5dB
------------------------------

【A13】対応を行いまして、下記速度にてリンクアップを確認しました。

XOL設定(下り12512K / 上り1024K)にて
------------------------------
 下り 8032kbps NM:7.0dB
 上り 1020kbps NM:7.5dB
------------------------------

下りのSNRマージン(?)を上げてくれたのかな。とりあえずこれを書いている時点で丸一日繋がったままだ。でも、油断はできない。A13対応ってなんだろう。聞いてみようかな。

あと、2/22に収容局のメンテが入る予定で、既に工事が終わった局に収容されている人の話によればリンク速度が上がったそうだ。リンク速度は既に十分でているから、回線が安定してくれるほうが嬉しいけどね。

ルータ導入の妄想(2003/02/17)

ルータが欲しい。やっぱりFLASHWAVEは低機能すぎる。UPTIMEと転送量が取得できないからMRTGなどでトラヒック統計がとれない。別にSNMPに対応してくれとは言わないけど、WebでもTelnetでも何でもいいから情報を取得させてほしい。ログもこっちから取得するのではなくて、syslogなどで送りつけて欲しい。

しかし、FLASHWAVEをブリッジモードにすると、今度は今まで取れてたモデム特有の情報(リンク速度とかSNRとか)が取れなくなる可能性もある。

というわけで、以下の構成を考えて見ました。太線が端末からブリッジモードで動いているFLASHWAVEにアクセスする際の経路です。果たしてうまくいくかは謎ですが、やってみる価値はあるかも。

もしかしたらスイッチは一つでも大丈夫かもしれないけど、どちらにしても今ある8ポートのスイッチは全て埋まってしまっているので新たに購入する必要はあります。4ポートあればOKですね。この構成だと。

小遣いが貯まったら是非試してみます。

7日間連続稼動(2003/02/21)

一週間前に回線調整してもらってから、とうとう7日間一回も切れませんでした。これはすばらしい。実際のスループットは最高で6Mbpsに届くか届かない程度ですが、何より安定して繋がっているというのは非常に喜ばしいことです。

日別のSNR推移のグラフを以下に示しますが、最低SNRが6.0dBまでしか落ち込んでいません。4.0dBを下回ると切れやすい傾向があるので、非常に安全な域にあります。

明日、川崎北子母口局のメンテナンス工事があるので、一旦切れると思いますがリンクソクドが上がるといいな〜。

NTT工事費請求(2003/04/25)

回線調整をしてもらってからとても快適である。

NTTから回線工事代の請求が先日届いた。あれって普通の電話の請求と一緒に引き落としてくれないみたい。Type2で回線名義も違うからかな。

工事のときに保安機の交換もしていったので、ひょっとして高くつくかと思っていたら標準工事代である\2,200だけだった。コンビニで振り込んで完了。

ADSL 26M申し込み(2003/07/11)

So-netADSLが26Mに対応開始となり、本日予約受付開始したので早速申し込んじゃいました。
局からの距離は1.5KM程度なので多少速度アップが期待できそうですが、今回はそれよりも今使っているFLASHWAVEを他の機種に変更したいが為というのも大きいです。確かに家の環境では一ヶ月繋がりっぱなしという快挙も見せているかなり高品質な回線なのですが、新しい物をためしてみたいという気持ちだけで申し込みました。

実際自分の普段使っているマシンは11bの無線LANなのでスループットは2〜3Mbpsしか使用していないわけなんだけどね。

ルーター導入(2003/08/01)

LINKSYSから先日発売されたBEFSR41C-JPを新宿のビックカメラで購入してきました。

筐体事態はとても小さく「世界最小」と書かれているのもうなずけます。

機能的にはスループット90Mbpsのスマートなルータですが、SNMPによる管理が行えるので、FreeBSDマシンから本ルータのトラヒック情報を取得して、MRTGでグラフ表示が行えます。

あまり見て欲しくないけど、一応ここにそのMRTGの結果を示します。

また、今回他に5ポートのスイッチングハブも買ってきて、前の方の項目で紹介した接続方式でFLASHWAVEをブリッジモードにしても管理画面にアクセス可能にしてしまおうという構想があり、それもやってみましたが、結果は失敗でした。一応繋がるのですが、家庭内の全ネットワークに怪しいトラヒックが発生してしまい、ネットワーク全体のスループットが落ちるという結果に終わりました。
つなげる順番によっては、スイッチングハブが賢く学習して正しく繋がるのかもしれないけど、そこまでするのも面倒なので止めちゃいました。

26Mモデム到着(2003/08/06)

本日佐川急便で新しいモデムが到着した。箱を開けると今までのFLASHWAVEと色が違うだけのモデムが入っている。

夜に箱を開けて、まだ26Mサービスに切り替わっていないけど、繋がるだろうと思って設置した。

メニュー画面等の構成は全くといっていいほど一緒なので、特に設定で悩むことも無かった。ホント、タイトルがFA11-M2に変更になった程度である。

前にも紹介しているFreeBSDで定期的に情報収集してdyndns.orgにIP変更時に自動登録するスクリプトはそのままでは動かなかった。どうやら、状態表示のページの項目の順番に若干の変更があった模様、適当に直してとりあえず使えるようになった。

今はまだリンク速度は変わらずです(当たり前)。8日に設定変更があるのでまたそのときに、どの程度速度アップしたかを報告します。また、暫くlinksysのルータは外して様子も見ようと思う。問題がないようだったら、本モデムはブリッジモードで運用する予定です。

26M開通。しかし…(2003/08/08)

今朝方通信が途絶えたメッセージが出ていて、そのあと手動で繋げたらAnnex.Iで接続できた。しかし数分経つとモデムがハングアップしてしまう。

とりあえず1時間くらい様子を見てからSo-netに電話してみた。夕方まで待ってみてくださいと言われたのだが、どう考えても局側の設定は終わっていてモデムの挙動が変な気がする。

試しにlinksysのルータを使って、モデムはブリッジモードにしてみたらちゃんと繋がった。実効スループットは今まで6Mbpsだったのが、7Mbps程度になった。また回線調整時期なのでなんともいえないけど。

で、So-netにゴルァ電した。どうやら同様の現象が結構出ているらしく、So-net側も今日が初の26M開通だから情報が少ないみたい。とりあえず新しいモデムを送ってもらうことになった。まあ、今はブリッジモードで問題なく使えているんだけどね。

本格開通(2003/08/09)

本日代わりのモデムが届いたので、ルータモードで使ってみた。今度は大丈夫そう。リンク速度は8992kbpsで繋がった。今まで7700kbps程度だったので、14%の速度アップである。

実効スループットは今まで6M行くかいかないかだったのが、土曜の昼間の測定で7.5M。まあこんなもんなのかな。

本当はもっと上がるかと思っていたけど、残念だった。

やっぱりだめ(2003/08/10)

十数時間動作したけど、その後やはりモデムがハングアップ。なんか、サポートの人がメッセンジャーを使うと落ちる人もいるということなので、暫くはブリッジモードでリンクシスのルータをつかっていたのだが、原因箇所究明に協力する意味も含めて、FA11-M2のUPnP設定だけをOFFにして再度接続試験を行うことにする。

今までノイズフィルタを入れていたんだけど、これを外したらリンク速度が9.4Mまで上がった。きっとノイズフィルタがAnnex.I対応でないからだろう。

モデムファームアップ(2003/08/28)

ACCAから26MモデムFA11-M2のファームのアップデータが発表された。早速適用。UPnPをOFFにしたら問題はなかったんだけど、これでMSNメッセンジャーもちゃんと使えるようになる。

モデムファームアップ2(2003/09/19)

更にACCAからADSL特性改善のファームアップデータが公開された。適用するとリンク速度が10MBpsを超えた。実効速度も上がった。

局からの距離が1.5Kmから考えるともっと早くてもいいと思うが、キャリアチャートを見るとやっぱりISDNの干渉が影響しているみたい。まあとりあえず、ADSL-12Mの頃と比べて3Mbps程度上がったことになる。