全 UserAgent とサーバの全ディレクトリに対し、ロボットのアクセスを拒否する場合の意思表示をするための robots.txt の例。
2003-06-08 の「ロボット避け meta 要素 <meta name="robots" content="noindex,nofollow">」では html の meta 要素によるロボット避けのみしか書かなかったのでメモ。
大文字小文字は関係なし。改行文字は CRLF でも LF でもどちらでも良い。これをサーバのルートに置く。http://sonic64.com/ だったら http://sonic64.com/robots.txt だ。
2003-06-08 の「ロボット避け meta 要素 <meta name="robots" content="noindex,nofollow">」では html の meta 要素によるロボット避けのみしか書かなかったのでメモ。
- robots.txt の例
robots.txtUser-agent: *
Disallow: /
大文字小文字は関係なし。改行文字は CRLF でも LF でもどちらでも良い。これをサーバのルートに置く。http://sonic64.com/ だったら http://sonic64.com/robots.txt だ。
業務で使っている開発 PC 群を接続するために、100Base-TX 24ポートのスイッチングハブを選定して購入した。
週明けに該当のスイッチをテストしてみたが、障害は再現しなかった。このまま使い続けるのも怖いので、予防交換することにした。また、予備のスイッチングハブの在庫も切らしていたので、都合2台分のスイッチングハブを調達することになった。
・100Base-TX で、ポート数24以上のレイヤ2スイッチングハブ。
・可能な限り安く。メーカーやブランドは問わない。
・コンソールからの接続は不要。
・VLAN を切ったりはしない。QoS も不要。
要するに、ポート単価が安い 100Base-TX スイッチならなんでもよい。もし、値段を気にせず性能重視で何でも買っていいと言われたら、Cisco の Catalyst 2950 の24ポートモデルでも買うだろうけど、サーバを接続するわけじゃないので今回は不要。
接続する開発 PC 群は動画や音声を扱わないので、100Base-TX で十分。ただ、たまにギガバイト単位でログやバックアップデータを流したりすることもあるので、100Mpbs は欲しい。
実効性能はそこそこでいい。そもそも、今のスイッチならワイヤスピード出るでしょう? 廉価な機種では全ポートでフルにトラフィック流せばバックプレーンが飽和するかもしれないけど、繋ぐのは開発 PC なのでそんなトラフィックが発生することはまずありえない。
コンソールからメンテしたりする機能は不要。壊れたら交換するだけ。統計も取る必要がないので SNMP なども不要。VLAN も不要。IP 電話は別のネットワークなので、QoS (Quality of Service) も不要。
まず、いくつかウェブのお店を見てまわった。上記要件の24ポート 100Base-TX スイッチだと、だいたい1万円から2万円くらいだった。
検討したメーカーはコレガ、アライドテレシス、バッファロー、シスコ、ネットギア、プラネックス。オーバースペック過ぎる製品しか持たないメーカーもあった。2万円というのは、そういったものは除外した価格。
検討した中では、バッファローの LSW-TX-24NSR が手頃な値段で良さそう。24ポートの 100Base-TX AUTO-MDX 対応スイッチで、実売1万円を切っていたのはこれだけだ。税、送料、振り込み手数料込みで1万円と考えてポート数の24で割ると、ポート単価417円。これで十分でしょう。
ちなみに、Amazon の LSW-TX-24NSR の商品画像は間違ってるね。どう見ても USB ハブです。商品名に「10/100M スイッチングHub」って入ってるのに、商品画像には USB2.0 とか書いてあって笑える。
私が探した限りでは、NTT レゾナントが運営する NTT-X Store だけが見積もりの自動発行機能を備えていた。ただし、仮の見積もりであるため、当日限り有効という制約が付く。有効期限が短くても無いよりは良いので、ここで見積もりを取得。ショッピングカートに入れた後に、画面下部の「購入手続き/見積書作成」のボタンを使って得た。
NTT-X Store
あと、近所のコジマ電気とヤマダ電機に見積もりを FAX してくれるよう電話で依頼した。内容としては、「貴店で取り扱っているなかで最も安価な24ポートの100Base-TX スイッチ2台分の見積もりをください」というもの。もし在庫があればそのまま店舗に行って調達するところだが、今は見積もりを取るだけのために店舗に行く時間的余裕はない。後輩に頼んでもいいんだけど、一度は一通りの手続きを経験しておきたかったので自分でやることにした。
まずコジマ電気。私が電話したコジマ電気の支店では、店頭でしか見積もりを発行していないとのこと。それは残念。仕方がない、またの機会ということで。ヤマダ電機は見積もりを FAX してくれた。ありがたい。発行された見積もりの機種は奇しくもバッファローの LSW-TX-24NSR だった。しかし、残念ながら今回は送料を含めても NTT-X の方が安い。結局、NTT-X から購入することにした。
- 開発 PC を接続している 100Base-TX スイッチの調子が悪い
とある土曜日の昼下がり。仕事場のネットワークが突然不通となった。開発 PC 群を繋ぐスイッチングハブが壊れた模様。私は障害発生当時に現地にいなかったため、電話当番として出勤していた後輩が対処してくれた。該当のスイッチを再起動しても状況が改善しなかったとのこと。あくまでも開発 PC 接続用のネットワークなので、冗長系は用意していない。後輩はとりあえず障害が発生していない島に迂回して接続するようにしてくれていた。ありがとう。週明けに該当のスイッチをテストしてみたが、障害は再現しなかった。このまま使い続けるのも怖いので、予防交換することにした。また、予備のスイッチングハブの在庫も切らしていたので、都合2台分のスイッチングハブを調達することになった。
- 開発 PC 群接続用スイッチングハブの要件定義
要件定義。・100Base-TX で、ポート数24以上のレイヤ2スイッチングハブ。
・可能な限り安く。メーカーやブランドは問わない。
・コンソールからの接続は不要。
・VLAN を切ったりはしない。QoS も不要。
要するに、ポート単価が安い 100Base-TX スイッチならなんでもよい。もし、値段を気にせず性能重視で何でも買っていいと言われたら、Cisco の Catalyst 2950 の24ポートモデルでも買うだろうけど、サーバを接続するわけじゃないので今回は不要。
接続する開発 PC 群は動画や音声を扱わないので、100Base-TX で十分。ただ、たまにギガバイト単位でログやバックアップデータを流したりすることもあるので、100Mpbs は欲しい。
実効性能はそこそこでいい。そもそも、今のスイッチならワイヤスピード出るでしょう? 廉価な機種では全ポートでフルにトラフィック流せばバックプレーンが飽和するかもしれないけど、繋ぐのは開発 PC なのでそんなトラフィックが発生することはまずありえない。
コンソールからメンテしたりする機能は不要。壊れたら交換するだけ。統計も取る必要がないので SNMP なども不要。VLAN も不要。IP 電話は別のネットワークなので、QoS (Quality of Service) も不要。
- バッファローの LSW-TX-24NSR が手頃な値段で良い
まず、いくつかウェブのお店を見てまわった。上記要件の24ポート 100Base-TX スイッチだと、だいたい1万円から2万円くらいだった。
検討したメーカーはコレガ、アライドテレシス、バッファロー、シスコ、ネットギア、プラネックス。オーバースペック過ぎる製品しか持たないメーカーもあった。2万円というのは、そういったものは除外した価格。
検討した中では、バッファローの LSW-TX-24NSR が手頃な値段で良さそう。24ポートの 100Base-TX AUTO-MDX 対応スイッチで、実売1万円を切っていたのはこれだけだ。税、送料、振り込み手数料込みで1万円と考えてポート数の24で割ると、ポート単価417円。これで十分でしょう。
ちなみに、Amazon の LSW-TX-24NSR の商品画像は間違ってるね。どう見ても USB ハブです。商品名に「10/100M スイッチングHub」って入ってるのに、商品画像には USB2.0 とか書いてあって笑える。
- 見積もりを即時発行できるネットショップって NTT-X Store くらいしかない?
上記要件でまずは見積もり。ネットで見積もりを即時発行してくれるところって少ない。まず、amazon はダメ。ヘルプを検索しても見積もり発行機能は見つけられなかった。他の量販店のウェブサイトでも同様。いつも価格リストを送ってくれている愛三電気も、見積もり自動発行フォームはない模様。私が探した限りでは、NTT レゾナントが運営する NTT-X Store だけが見積もりの自動発行機能を備えていた。ただし、仮の見積もりであるため、当日限り有効という制約が付く。有効期限が短くても無いよりは良いので、ここで見積もりを取得。ショッピングカートに入れた後に、画面下部の「購入手続き/見積書作成」のボタンを使って得た。
NTT-X Store
あと、近所のコジマ電気とヤマダ電機に見積もりを FAX してくれるよう電話で依頼した。内容としては、「貴店で取り扱っているなかで最も安価な24ポートの100Base-TX スイッチ2台分の見積もりをください」というもの。もし在庫があればそのまま店舗に行って調達するところだが、今は見積もりを取るだけのために店舗に行く時間的余裕はない。後輩に頼んでもいいんだけど、一度は一通りの手続きを経験しておきたかったので自分でやることにした。
まずコジマ電気。私が電話したコジマ電気の支店では、店頭でしか見積もりを発行していないとのこと。それは残念。仕方がない、またの機会ということで。ヤマダ電機は見積もりを FAX してくれた。ありがたい。発行された見積もりの機種は奇しくもバッファローの LSW-TX-24NSR だった。しかし、残念ながら今回は送料を含めても NTT-X の方が安い。結局、NTT-X から購入することにした。
- 購入
Web から注文。個人だったらクレジットカードで決済するところだが、今回は経理処理の関係上銀行振り込みとした。Windows のタスクマネージャの「ネットワーク」タブで、「タブを常にアクティブにする(T)」を選択しておけば、タスクマネージャ起動直後から計測している状態にできる。
しかし、「ネットワーク」タブには不便な点がある。タスクマネージャを起動した後、一度「ネットワーク」タブを選択してからでないと計測を開始しないのだ。計測には負荷がかかるからこういう仕様なんだろうが、手間がかかる。可能なら、タスクマネージャ起動直後から計測をしていてほしい。
最近、この不便さを解消する設定項目を見つけた。
1. タスクマネージャの「ネットワーク」タブを開く。
2. オプション(O) の「タブを常にアクティブにする(T)」を選択する。
たったこれだけ。
また、タスクマネージャのユーザーインターフェイスは表示系の設定は「表示 (V)」で、その他の設定は「オプション(O)」で設定するため、私にはわかりにくかった。また、ある程度使い慣れたツールなので、まさかそんなオプションがあるとは思わなかったということもある。
ユーザーインターフェイスの設計ってやっぱり難しいなあ。今回の場合、どうなっていれば私は迷わなかったんだろう? 一覧性のあるオプション設定画面でもあれば良かったのかな。
- タスクマネージャのネットワークタブは一度選択してからでないと計測がおこなわれない
タスクマネージャは、マシンのリソースの使用状況や起動中のプロセスを表示するツールだ。WidnowsXP や Windows Server 2003 では、タスクマネージャに機能追加が行われて、「ネットワーク」というタブが追加された。「ネットワーク」タブではマシンのネットワークインターフェイスのトラフィックを表示することができるようになった。しかし、「ネットワーク」タブには不便な点がある。タスクマネージャを起動した後、一度「ネットワーク」タブを選択してからでないと計測を開始しないのだ。計測には負荷がかかるからこういう仕様なんだろうが、手間がかかる。可能なら、タスクマネージャ起動直後から計測をしていてほしい。
最近、この不便さを解消する設定項目を見つけた。
- タスクマネージャのネットワークタブを常にアクティブにして、常に計測状態にする
タスクマネージャのネットワークタブを常にアクティブにして、タスクマネージャ起動直後から計測状態にする方法。1. タスクマネージャの「ネットワーク」タブを開く。
2. オプション(O) の「タブを常にアクティブにする(T)」を選択する。
たったこれだけ。
- 「オプション」の項目が動的に変化することに気づかなかった
なぜこんな簡単な手順に気づかなかったか。その理由は、タスクマネージャのオプションを選んだときに表示される項目は、現在表示しているタブによって動的に変化するからだ。また、タスクマネージャのユーザーインターフェイスは表示系の設定は「表示 (V)」で、その他の設定は「オプション(O)」で設定するため、私にはわかりにくかった。また、ある程度使い慣れたツールなので、まさかそんなオプションがあるとは思わなかったということもある。
ユーザーインターフェイスの設計ってやっぱり難しいなあ。今回の場合、どうなっていれば私は迷わなかったんだろう? 一覧性のあるオプション設定画面でもあれば良かったのかな。
Solaris で一枚の NIC に複数の IP アドレスを設定する方法のメモ。論理的インターフェイスとか、仮想インターフェイスと呼んだりするもの。
ネットワークインターフェイス (NIC) の情報は以下の通り。でも、これだけだと何もわからないなあ。
作業前に ifconfig して現在の状況を確認。
その後、ifconfig インターフェイスの作成と有効化。ブロードキャストアドレスはサブネットマスクから計算してくれるようなので明示的には指定していない。
ifconifg して確認。できてるできてる。
再起動後もこのインターフェイスが必要なので、起動スクリプトに追加しておきたい。でも、Solaris ではどこが適切なんだろう? ランレベル3のときに起動する Squid のためだけのインターフェイスなので、/etc/init.d に追加して /etc/rc3.d にシンボリックリンクを作ってもいいのだが、どちらかというとシステム系の設定だから、別のところがいいんだろうなあ。調査中。
確認すると、インターフェイスが無くなっている。これでよしと。
すると、ターミナルが反応しなくなった。ネットワークが全部切断されてるようだ。このテストマシンはキーボードもディスプレイも接続していないので、対処する方法がない。仕方ないので電源をプチって切りました。ごめんなさいごめんなさい。
- 対象マシンと OS
対象はいつもの Solaris 2.6 マシン。2006-05-11 の「Squid と Squirm でリダイレクタ付き SSL リバースプロキシ」で、SSL 用に IP アドレスを追加する必要が出たので設定。$ uname -a
SunOS lodis 5.6 Generic_105181-32 sun4u sparc SUNW,Ultra-1
ネットワークインターフェイス (NIC) の情報は以下の通り。でも、これだけだと何もわからないなあ。
$ dmesg
(略)
SUNW,hme0: FEPS (Rev Id = 22) Found
SUNW,hme0 at sbus0: SBus0 slot 0xe offset 0x8c00000 and slot 0xe offset 0x8c02000 and slot 0xe offset 0x8c04000 and slot 0xe offset 0x8c06000 and slot 0xe offset 0x8c07000 Onboard device sparc9 ipl 6
SUNW,hme0 is /sbus@1f,0/SUNW,hme@e,8c00000
SUNW,hme0: Using Internal Transceiver
SUNW,hme0: 100 Mbps full-duplex Link Up
作業前に ifconfig して現在の状況を確認。
$ /sbin/ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
inet 10.64.128.202 netmask ffffff00 broadcast 10.64.128.255
- 論理インターフェイスの追加
まず、ホスト名定義ファイルを /etc に追加。ファイル名の書式は hostname.IF:N で、IF にインターフェイス名、N に 1 から始まる番号を入れる。私の環境だったら以下のようにした。# echo ivalice >/etc/hostname.hme0:1
その後、ifconfig インターフェイスの作成と有効化。ブロードキャストアドレスはサブネットマスクから計算してくれるようなので明示的には指定していない。
# ifconfig hme0:1 10.64.128.204 netmask 255.255.255.0 up
ifconifg して確認。できてるできてる。
# ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
inet 10.64.128.202 netmask ffffff00 broadcast 10.64.128.255
ether 8:0:20:86:c3:47
hme0:1: flags=843<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.64.128.204 netmask ffffff00 broadcast 10.64.128.255
再起動後もこのインターフェイスが必要なので、起動スクリプトに追加しておきたい。でも、Solaris ではどこが適切なんだろう? ランレベル3のときに起動する Squid のためだけのインターフェイスなので、/etc/init.d に追加して /etc/rc3.d にシンボリックリンクを作ってもいいのだが、どちらかというとシステム系の設定だから、別のところがいいんだろうなあ。調査中。
- 論理インターフェイスの無効化
インターフェイスを無効化するには down を付けて ifconfig する。# ifconfig hme0:1 0 down
確認すると、インターフェイスが無くなっている。これでよしと。
# ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
inet 10.64.128.202 netmask ffffff00 broadcast 10.64.128.255
ether 64:64:64:64:64:64
- man ifconfig
参考にした ifconfig の man page。LOGICAL INTERFACES
Solaris TCP/IP allows multiple logical interfaces to be
associated with a physical network interface. This allows a
single machine to be assigned multiple IP addresses, even
though it may have only one network interface. Physical
network interfaces have names of the form driver-name
physical-unit-number, while logical interfaces have names of
the form driver-name physical-unit-number:logical-unit-
number. A physical interface is configured into the system
using the plumb sub-command. For example:
ifconfig le0 plumb
Logical interfaces do not need to be "plumbed". Once a phy-
sical interface has been "plumbed", logical interfaces asso-
ciated with the physical interface can be configured by nam-
ing them in subsequent ifconfig commands. However, only
root can create or delete a logical interface. For example,
when executed by root the command:
ifconfig le0:1
allocates a logical interface associated with the physical
interface le0 and reports its status. When executed by a
non-privileged user, ifconfig will report the status of the
interface if it already exists, or give an error message if
it does not exist.
A logical interface can be configured with parameters
(address, netmask, and so on) different from the physical
interface with which it is associated. Logical interfaces
that are associated with the same physical interface can be
given different parameters as well. Each logical interface
must be associated with a physical interface. So, for exam-
ple, the logical interface le0:1 can only be configured
after the physical interface le0 has been plumbed.
To delete a logical interface, simply name the interface
specifying an address of 0, after ensuring that the inter-
face has been marked as "down". For example, the command:
ifconfig le0:1 0 down
will delete the logical interface le0:1.
- 失敗
調査の過程で /etc/hostname.IF:N ファイルを作らず、かつサブネットマスクを指定せず、そのうえ N に2を指定してテキトーに ifconfig してみた。# ifconfig hostname.hme0:2 10.64.128.204 up
すると、ターミナルが反応しなくなった。ネットワークが全部切断されてるようだ。このテストマシンはキーボードもディスプレイも接続していないので、対処する方法がない。仕方ないので電源をプチって切りました。ごめんなさいごめんなさい。
業務で SSL 対応のリバースプロキシを作ることになった。Squid とリダイレクタの Squirm を使って実現しようとしたが、Squirm 1.0betaB が POST メソッドに対応していないために別の構成をとることとなった。
第二候補は Apache 2.2 系 + mod_proxy だ。しかし、運用するマシンも OS も古いし、Apache を使ったリバースプロキシの運用ノウハウはあまりないため、Squid では役者不足の時だけお出まし願う予定。第三候補は Pound だが、これもノウハウがないので今回の案件ではまず使わないだろう。ちなみに運用マシンは Solaris 2.6。現在テスト中のマシンのスペックは以下の通り。
SSL の部分は透過的な SSL アクセラレータを別途利用する予定なので、Squid はとくに何もしない。
Squid は前の担当者がインストールしていた squid-2.5.STABLE12 を使う。安定版の最新は 2006年3月12日リリースの squid-2.5.STABLE13 だが、とくに問題がなければ squid-2.5.STABLE12 のまま運用に乗せる予定。
つまり、以下のように外向けの URL のパス部分を基準に中継先を決めるようにしたい。
example.jp/sonic64/ へのリクエストは sonic64.intranet.example.jp にリダイレクト。
example.jp/landscape/ へのリクエストは landscape.intranet.example.jp にリダイレクト。
この要件は Squid 単体では実現できないので、リダイレクタと呼ぶサブシステムと Squid を連携させて成し遂げる。今回はリダイレクタには Squirm (スクワーム) を使うことにした。採用の理由は解説しているウェブサイトがあったことと、ライセンスが GPL だから。Perl か C でリダイレクタを書いても良いんだけど、広く使われているものがあるならそっちの方がいい。
http://squirm.foote.com.au/
上記サイトから squirm-1.0betaB.tar をダウンロード。tar ball を展開した後は、サイトに書かれていた説明に従ってコンパイルとインストールを進める。
なんだか結構手間がかかるなあ。「configure script の動作について知って欲しいから」みたいなことが上記サイトに書かれてたけど、そういうことなのか。
正規表現ライブラリのコンパイルと make は終わった。しかし、いざ make install しようとしたらエラー。
install のオプションがおかしいの? 私は make はよく知らないんだけど、これはコマンドラインの指定の仕方がおかしいってエラーだよね。Squirm のサイトに書かれてる記述が変なのかな。それとも、私が使ってる make がおかしいのかな。そういえば、私の使っている make って GNU make じゃなくて Solaris の特別な make なの? 確認してみる。
以下の出力を見る限り、ごく普通の GNU make のようだ。
仕方がない。結局 make install がやってることって、ファイルのコピーとパーミッションの設定とかでしょう? というわけで、とりあえず手作業で /usr/local/squirm へファイルをコピーしてパーミッションを設定した。strip はやったんだっけ? まあとりあえずはどちらでもいいや。
squid.conf には以下のリダイレクタのための設定を追加。
Squid 起動。とりあえず何パターンかのリダイレクトを試してみたが、うまく動いているようだ。
しかし、ASP.NET + IIS 6.0 を動かしているサーバにリダイレクトしたときの挙動を確認しようとしたときに問題発生。どうも HTTP の POST メソッドによるリクエストがリダイレクトされていない模様。リダイレクタに処理が渡らず、Squid だけで処理しているように見える。これは Squid が悪いのか? Squirm が悪いのか?
squirm-1.0betaB の squirm.c の load_in_buff()
となると、Apache + mod_proxy を使うか、あとはリバース先のサーバ構成を変えるか、自分でリダイレクタを書くか。うーん。
いろいろ検討した結果、URL のパス部分を基準にした振り分けは要件として必須でないということになり、リダイレクタを使う必要はなくなった。つまり、Squid だけでよいということだ。
1.0BetaB から一気にバージョンが進んで 1.26 になってるわけだから、もしかして POST メソッドにも対応してるかもしれない。もう必要なくなったけど、一応 tar ball をダウンロードしてソースだけは見てみよう。
squirm 1.26 の squrim.c
上記を見る限り、Squirm 1.26 なら HTTP POST メソッドにも対応してるようだ。もしかしたら、対応しているように見せかけて、別のところでリダイレクトせずに素通ししてるかもしれないけど、さすがにそんなことはなさそう。POST 対応してるなら最初からこれ使えば良かったね。
- Squid を使って SSL リバースプロキシ
今回の案件で使うリバースプロキシソフトウェアの第一候補は Squid (スキッド) だ。他の担当者が作りかけていたということと、Squid なら組織内で利用している実績があって運用のノウハウ比較的もあるというのが理由。第二候補は Apache 2.2 系 + mod_proxy だ。しかし、運用するマシンも OS も古いし、Apache を使ったリバースプロキシの運用ノウハウはあまりないため、Squid では役者不足の時だけお出まし願う予定。第三候補は Pound だが、これもノウハウがないので今回の案件ではまず使わないだろう。ちなみに運用マシンは Solaris 2.6。現在テスト中のマシンのスペックは以下の通り。
$ uname -a
SunOS sonic64 5.6 Generic_105181-32 sun4u sparc SUNW,Ultra-1
$ dmesg
cpu0: SUNW,UltraSPARC (upaid 0 impl 0x10 ver 0x40 clock 200 MHz)
SunOS Release 5.6 Version Generic_105181-32 [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1997, Sun Microsystems, Inc.
mem = 131072K (0x8000000)
avail mem = 125919232
SSL の部分は透過的な SSL アクセラレータを別途利用する予定なので、Squid はとくに何もしない。
Squid は前の担当者がインストールしていた squid-2.5.STABLE12 を使う。安定版の最新は 2006年3月12日リリースの squid-2.5.STABLE13 だが、とくに問題がなければ squid-2.5.STABLE12 のまま運用に乗せる予定。
- Squid + Squirm でリダイレクタ付きリバースプロキシ
いろいろな事情を検討した結果、外向けのドメインは一つにしておきたい。しかし、リバースプロキシは複数のドメインにリクエストを中継したい。つまり、以下のように外向けの URL のパス部分を基準に中継先を決めるようにしたい。
example.jp/sonic64/ へのリクエストは sonic64.intranet.example.jp にリダイレクト。
example.jp/landscape/ へのリクエストは landscape.intranet.example.jp にリダイレクト。
この要件は Squid 単体では実現できないので、リダイレクタと呼ぶサブシステムと Squid を連携させて成し遂げる。今回はリダイレクタには Squirm (スクワーム) を使うことにした。採用の理由は解説しているウェブサイトがあったことと、ライセンスが GPL だから。Perl か C でリダイレクタを書いても良いんだけど、広く使われているものがあるならそっちの方がいい。
- Squirm のコンパイルとインストール
Squirm - A redirector for Squidhttp://squirm.foote.com.au/
上記サイトから squirm-1.0betaB.tar をダウンロード。tar ball を展開した後は、サイトに書かれていた説明に従ってコンパイルとインストールを進める。
cd regex
./configure
make clean
make
cp -p regex.o regex.h ..
cd ..
make
なんだか結構手間がかかるなあ。「configure script の動作について知って欲しいから」みたいなことが上記サイトに書かれてたけど、そういうことなのか。
正規表現ライブラリのコンパイルと make は終わった。しかし、いざ make install しようとしたらエラー。
# make install
install -m 755 -o root -g root -d /usr/local/squirm \
/usr/local/squirm/bin
usage: install [options] file [dir1 ...]
make: *** [install] Error 2
install のオプションがおかしいの? 私は make はよく知らないんだけど、これはコマンドラインの指定の仕方がおかしいってエラーだよね。Squirm のサイトに書かれてる記述が変なのかな。それとも、私が使ってる make がおかしいのかな。そういえば、私の使っている make って GNU make じゃなくて Solaris の特別な make なの? 確認してみる。
以下の出力を見る限り、ごく普通の GNU make のようだ。
$ make -v
GNU Make version 3.78.1, by Richard Stallman and Roland McGrath.
Built for sparc-sun-solaris2.6
仕方がない。結局 make install がやってることって、ファイルのコピーとパーミッションの設定とかでしょう? というわけで、とりあえず手作業で /usr/local/squirm へファイルをコピーしてパーミッションを設定した。strip はやったんだっけ? まあとりあえずはどちらでもいいや。
- squirm.conf と squid.conf を設定して動作確認
squirm.conf に以下を設定。regex ^http://.*?/ivalice/(.*) http://ivalice.intranet.example.jp/\1
regex ^http://.*?/landscape/(.*) http://landscape.intranet.example.jp/\1
squid.conf には以下のリダイレクタのための設定を追加。
redirect_program /usr/local/squirm/bin/squirm
redirect_children 10
Squid 起動。とりあえず何パターンかのリダイレクトを試してみたが、うまく動いているようだ。
しかし、ASP.NET + IIS 6.0 を動かしているサーバにリダイレクトしたときの挙動を確認しようとしたときに問題発生。どうも HTTP の POST メソッドによるリクエストがリダイレクトされていない模様。リダイレクタに処理が渡らず、Squid だけで処理しているように見える。これは Squid が悪いのか? Squirm が悪いのか?
- Squirm は POST をリダイレクトしない
Squirm のソースを確認してみた。あー、なるほど。対応しているのは GET メソッドだけで、POST メソッドによるリクエストは受け付けないようになってる。Squid というより Squirm の仕様なのか。squirm-1.0betaB の squirm.c の load_in_buff()
/* all methods must be GET */
if((strcmp(in_buff->method, "") == 0) ||
(strcmp(in_buff->method, "GET"))) {
#ifdef DEBUG
log(LOG_DEBUG, "in_buff.method not \"GET\"\n",
in_buff->src_address);
#endif
return 1;
}
となると、Apache + mod_proxy を使うか、あとはリバース先のサーバ構成を変えるか、自分でリダイレクタを書くか。うーん。
いろいろ検討した結果、URL のパス部分を基準にした振り分けは要件として必須でないということになり、リダイレクタを使う必要はなくなった。つまり、Squid だけでよいということだ。
- Squirm は バージョン 1.26 が最新
今ふと Squirm のサイトを見ると、なんだかページの上の方に「Squirm は 1.26 が最新だよ。でも、ドキュメント書く暇がないよ。」みたいなことが書いてある。気づかなかった。Note: This web page documents version 1.0-BetaB. There is, in fact, a newer version: squirm-1.26, but I haven't documented it yet. This new version has some new features:
new squirm.conf file allows different redirection lists based upon different sets of source network addresses in CIDR notation.
Automagic accelerator string generation.
It compiles with a simple 'make'
A few other minor features.
Use your systems regex library
1.0BetaB から一気にバージョンが進んで 1.26 になってるわけだから、もしかして POST メソッドにも対応してるかもしれない。もう必要なくなったけど、一応 tar ball をダウンロードしてソースだけは見てみよう。
squirm 1.26 の squrim.c
/* match_method() returns 1 on match, 0 for no-match */
int match_method(char *method, int accept) {
lower_case(method);
/* match all first */
if (accept == ALL) {
return 1;
}
/* and then the most common */
if (strcmp(method,"get") == 0) {
return ((GET & accept) != 0 ? 1 : 0);
}
if (strcmp(method,"put") == 0) {
return ((PUT & accept) != 0 ? 1 : 0);
}
if (strcmp(method,"post") == 0) {
return ((POST & accept) != 0 ? 1 : 0);
}
if (strcmp(method,"head") == 0) {
return ((HEAD & accept) != 0 ? 1 : 0);
}
return 0;
}
上記を見る限り、Squirm 1.26 なら HTTP POST メソッドにも対応してるようだ。もしかしたら、対応しているように見せかけて、別のところでリダイレクトせずに素通ししてるかもしれないけど、さすがにそんなことはなさそう。POST 対応してるなら最初からこれ使えば良かったね。
「自分のペースでゆったり学ぶ TCP/IP」 を読了。「圏外からのひとこと」「アンカテ(Uncategorizable Blog)」の essa さんが新人向けの教育本として超おすすめと書いてた本。たまたま見かけたので読んでみた。
アンカテ(Uncategorizable Blog) - 新人向けネットワーク教育超オススメ本
http://d.hatena.ne.jp/essa/20060324/p1
確かに良くできてる。
ネットワークでもプログラミングでも、機能をカプセル化してレイヤに分ける重要性を理解することが鍵となるが、それを繰り返し解説している。「『ホームページ』や『メール』は使ったことあるけど、それらのサービスがどう成り立っているかは知らない」というレベルの人には良い本だ。
入門書としては最適。ただ、概念を理解する上で不要な要素はかなり削り、本質の説明にページを費やしている本なので、それ以上を求めるのは酷。とっかかりとして読んだ後は、他の本に進んだり、ウェブサイトで補ったり、経験を積んでいくのがよいだろう。
理解しなければならないポイントは強調されているし、節ごとにまとめが入るので本質を理解しやすい。説明は会話形式で進められるので、この形式に抵抗がある人には読みにくいかもしれないが。
244ページで、「インターネットで最も重要なサービスは DNSであり、Web じゃない」とい言い切っているのが良い。ネットワークがどう成り立っていて、欠かせない要素とは何なのかを伝えようとしているのがわかる。
著者略歴。網野衛二 (あみのえいじ) さん。失礼ながら初めて聞く名前だ。ん? 網野さんが管理している「3分間 Networking」って、あのサイトか! 過去に読んだことあるよ。ICMP というか ping の説明のところで突然入る「沈黙の艦隊」ネタが好きだった。
3 Minutes Networking No.35 第35回レイヤ3 ICMP(ping)
http://www5e.biglobe.ne.jp/~aji/3min/35.html
他のページでもやってた。沈黙の艦隊好きなんだなあ。
アンカテ(Uncategorizable Blog) - 新人向けネットワーク教育超オススメ本
http://d.hatena.ne.jp/essa/20060324/p1
- 新人向けの本として良くできてる
確かに良くできてる。
ネットワークでもプログラミングでも、機能をカプセル化してレイヤに分ける重要性を理解することが鍵となるが、それを繰り返し解説している。「『ホームページ』や『メール』は使ったことあるけど、それらのサービスがどう成り立っているかは知らない」というレベルの人には良い本だ。
入門書としては最適。ただ、概念を理解する上で不要な要素はかなり削り、本質の説明にページを費やしている本なので、それ以上を求めるのは酷。とっかかりとして読んだ後は、他の本に進んだり、ウェブサイトで補ったり、経験を積んでいくのがよいだろう。
理解しなければならないポイントは強調されているし、節ごとにまとめが入るので本質を理解しやすい。説明は会話形式で進められるので、この形式に抵抗がある人には読みにくいかもしれないが。
244ページで、「インターネットで最も重要なサービスは DNSであり、Web じゃない」とい言い切っているのが良い。ネットワークがどう成り立っていて、欠かせない要素とは何なのかを伝えようとしているのがわかる。
著者略歴。網野衛二 (あみのえいじ) さん。失礼ながら初めて聞く名前だ。ん? 網野さんが管理している「3分間 Networking」って、あのサイトか! 過去に読んだことあるよ。ICMP というか ping の説明のところで突然入る「沈黙の艦隊」ネタが好きだった。
3 Minutes Networking No.35 第35回レイヤ3 ICMP(ping)
http://www5e.biglobe.ne.jp/~aji/3min/35.html
博士:
そうだ。
それで水中にある物体を探すソナーが出す信号音の事を探信音[ping]という。このコマンドの名前の由来はそれらしい。
助手:
探信音…。
博士:
うむ。
探信音を出すと、音が物体に当たって跳ね返ってくる。そこから擬音の[ping]が使われているのではないかな。
助手:
…。
…!! 交響曲(シンフォニー)です!!
博士:
…沈黙の艦隊かよ。
他のページでもやってた。沈黙の艦隊好きなんだなあ。
助手:
探信音(ピンガー)ー!!
博士:
おいおい。
助手:
浮上角(アップトリム(20°から最大!! 前部タンク全ブロー、機関全速!!
* ssh + bzip2 + gpg で bzip2 の internal error number 1007 エラー
この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ssh] [gpg] [ネットワーク] [PC]
毎日リモートにあるサーバのバックアップを ssh + tar + bzip2 + gpg で取っているのだが、7回に一回くらいの頻度で、tar の中から呼び出してる bzip2 が internal error number 1007 というエラーを出力してしまう。
クライアントは cygwin 環境。転送しているデータはだいたい数百メガバイトから数ギガバイトくらいのオーダー。下り 1.5Mbps の ADSL の回線で接続している。
エラーの内容は、bzip2/libbzip2 のバグか、メモリなどのハードウェア障害が考えられるというもの。散発的に発生するようなら ハードウェア障害の疑いがあるので、memtest86 などのメモリチェックツールで確認してとのこと。結構レアなエラーみたいだね。
私のマシンのメモリは 1GB * 2 の DDR-SDRAM ECC なし の Unbuffered なのがいけないの? でも、今までは問題なかった。もしかして私のマシン、壊れてきてるの? ネットワーク経由でやってるから、前段の ssh からうまくデータを受け取れてないとか? でもそれだったら bzip2 の内部エラーにはならず、もっと前の方でエラーになるだろうしなあ。
これだけじゃよくわからない。もっと詳細なログが必要だな。とりあえずログのレベルを上げた上でログを検分し、ハードウェアの交換も視野に入れた上で調査していこう。
クライアントは cygwin 環境。転送しているデータはだいたい数百メガバイトから数ギガバイトくらいのオーダー。下り 1.5Mbps の ADSL の回線で接続している。
bzip2/libbzip2: internal error number 1007.
This is a bug in bzip2/libbzip2, 1.0.3, 15-Feb-2005.
Please report it to me at: jseward@bzip.org. If this happened
when you were using some program which uses libbzip2 as a
component, you should also report this bug to the author(s)
of that program. Please make an effort to report this bug;
timely and accurate bug reports eventually lead to higher
quality software. Thanks. Julian Seward, 15 February 2005.
*** A special note about internal error number 1007 ***
Experience suggests that a common cause of i.e. 1007
is unreliable memory or other hardware. The 1007 assertion
just happens to cross-check the results of huge numbers of
memory reads/writes, and so acts (unintendedly) as a stress
test of your memory system.
I suggest the following: try compressing the file again,
possibly monitoring progress in detail with the -vv flag.
* If the error cannot be reproduced, and/or happens at different
points in compression, you may have a flaky memory system.
Try a memory-test program. I have used Memtest86
(www.memtest86.com). At the time of writing it is free (GPLd).
Memtest86 tests memory much more thorougly than your BIOSs
power-on test, and may find failures that the BIOS doesn't.
* If the error can be repeatably reproduced, this is a bug in
bzip2, and I would very much like to hear about it. Please
let me know, and, ideally, save a copy of the file causing the
problem -- without which I will be unable to investigate it.
エラーの内容は、bzip2/libbzip2 のバグか、メモリなどのハードウェア障害が考えられるというもの。散発的に発生するようなら ハードウェア障害の疑いがあるので、memtest86 などのメモリチェックツールで確認してとのこと。結構レアなエラーみたいだね。
私のマシンのメモリは 1GB * 2 の DDR-SDRAM ECC なし の Unbuffered なのがいけないの? でも、今までは問題なかった。もしかして私のマシン、壊れてきてるの? ネットワーク経由でやってるから、前段の ssh からうまくデータを受け取れてないとか? でもそれだったら bzip2 の内部エラーにはならず、もっと前の方でエラーになるだろうしなあ。
これだけじゃよくわからない。もっと詳細なログが必要だな。とりあえずログのレベルを上げた上でログを検分し、ハードウェアの交換も視野に入れた上で調査していこう。
RingServer は巨大ミラーサーバ群。様々なソフトウェアをミラーして、本家サイトにトラフィックが集中することを防いだり、他のサイトがダウンしている間もファイルの取得ができるようにしている。私の場合、Cygwin をインストールするときや、Linux ディストリビューションの ISO イメージやパッケージ、Firefox や Mozilla をダウンロードするときなどにお世話になっている。
Ring Server Project - FAQ
http://www.ring.gr.jp/ring/uvoice.html
うーん、これはアーカイブへのリンクではなくウェブサイトへのリンクの張り方についての問答な気がする。ファイルやディレクトリへの直リンクも http://www.ring.gr.jp/ でいいのかな? RingServer へリンクを張るなら負荷分散システムの TENBIN とか DNSBALANCE などを経由した方がいい、という話をどこかで読んだ覚えがあるんだけど、公式にはそうは言ってないってことか。
それとも、www.ring.gr.jp にアクセスすると自動的に振り分けられるのかな? トップページにアクセスすると右上の served by のロゴが仕事場と自宅で異なっているような気がするので、ネットワーク的な距離に応じて自動的に変わってるのかも。上記 FAQ には「負荷分散の意味から」という記述もあるし、www.ring.gr.jp に張っておけばいいんだろうな。
追記。
いくつか言及を頂いた。ありがとうございます。結局みんなどの URL にリンクを張るのかは自分で決めてるようだ。TENBIN や DNSBALANCE による負荷分散をさせたいと考える人はその URL でリンクすればいい、そうでなければ www.ring.gr.jp でいいというのが私の結論。
私の使っているプロバイダの上流がパワードコムだったから、たいていここを利用していた。お世話になりました。私のサイトから張っていたリンクも修正しておこう。
- RingServer へのリンクの張り方
RingServer は大量のミラーサーバを抱えていて、かつそれぞれのサーバは ring.sakura.ad.jp や ring.ocn.ad.jp というように異なる名前が付けられている。リンクするときはどこのサーバに張るのが良いのだろう?Ring Server Project - FAQ
http://www.ring.gr.jp/ring/uvoice.html
自分のホームページから RingServer へリンクを張ってもよろしいでしょうか?
はい,ご自由にどうぞ.
リンク先は負荷分散の意味から各サーバへの直接リンクではなく,WWWについてはhttp://www.ring.gr.jp/へ、FTPについてはftp://ftp.ring.gr.jp/へお願いいたします.
ただし,個人のホームページではなく,相当なアクセス数が見込まれるような商用WWWからリンクされる場合には事前に一声かけて下さい.
うーん、これはアーカイブへのリンクではなくウェブサイトへのリンクの張り方についての問答な気がする。ファイルやディレクトリへの直リンクも http://www.ring.gr.jp/ でいいのかな? RingServer へリンクを張るなら負荷分散システムの TENBIN とか DNSBALANCE などを経由した方がいい、という話をどこかで読んだ覚えがあるんだけど、公式にはそうは言ってないってことか。
それとも、www.ring.gr.jp にアクセスすると自動的に振り分けられるのかな? トップページにアクセスすると右上の served by のロゴが仕事場と自宅で異なっているような気がするので、ネットワーク的な距離に応じて自動的に変わってるのかも。上記 FAQ には「負荷分散の意味から」という記述もあるし、www.ring.gr.jp に張っておけばいいんだろうな。
追記。
いくつか言及を頂いた。ありがとうございます。結局みんなどの URL にリンクを張るのかは自分で決めてるようだ。TENBIN や DNSBALANCE による負荷分散をさせたいと考える人はその URL でリンクすればいい、そうでなければ www.ring.gr.jp でいいというのが私の結論。
- パワードコムの RingServer がサービスを終了していた
昨年12月でパワードコムの RingServer がサービスを終了していた。株式会社パワードコムのサーバは,12/20でサービスを終了いたしました.いままでどうもありがとうございました.(2005/12/20)
私の使っているプロバイダの上流がパワードコムだったから、たいていここを利用していた。お世話になりました。私のサイトから張っていたリンクも修正しておこう。
* 暗号化に WEP しか使えないニンテンドーDS は無線 LAN のセキュリティを弱くする
この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [セキュリティ] [ゲーム] [ネットワーク]
暗号化に WEP しか使えないニンテンドーDS は無線 LAN のセキュリティを弱くする。
これは 2006-01-29 の「ニンテンドーDS を考慮した無線 LAN のセキュリティ設定」では本筋ではないので書かなかった。ユーザーの設定で解決するには難しく、完全に解決するには機器の買い増しなどが必要になるし、「より強固なセキュリティ」よりも「最低限のセキュリティ」を重視したからだ。
ネットワーク全体で AES などが使えなくなる。ニンテンドーDS が WEP しか使えないという問題の本質はここにある。
2006-01-29 では「WEP128 を使って通信を暗号化すればいい」と書いたが、WEP は暗号強度が弱いので本当は AES を使いたいところ。しかし、ニンテンドーDS が参加すると無線 LAN 全体で WEP を使わなければならなくなる。無線 LAN における暗号は、そのネットワークに参加するすべてのクライアントが使える方式を選択しなければならないからだ。
ニンテンドーDS だけ WEP を使って、他のクライアントは AES を使うということができればいいのだが、それをするためには後述する何らかの方法で 無線 LAN アクセスポイントを追加しなければならない。
たとえば、IEEE 802.11b と IEEE 802.11a を同時使用可能な無線 LAN アクセスポイントを使う。ニンテンドーDS を IEEE 802.11b + WEP で接続し、他のクライアントは IEEE 802.11a + AES で接続すればよい。私の使っている無線 LAN アクセスポイント AirStation WHR-G54S では IEEE 802.11b にしか対応してないので、買い換えになってしまうけど。
または、Wi-Fi USB コネクタを使い、既存の無線 LAN アクセスポイントとチャンネルを離してそれぞれ独立した無線 LAN ネットワークとして運用する。
ただ、それだけのためにわざわざ Wi-Fi USB コネクタを買うのも不経済だ。PC を立ち上げていないと使えないし。
“PSP”(プレイステーション・ポータブル)|“PSP” システムソフトウェア アップデート
http://www.playstation.jp/psp/update/ud_01_hty.html
結局、ニンテンドーDS が AES をサポートしてくれれば済むことだが、コストをかけられないゲーム機では難しいのだろう。2006年3月発売予定と発表されたニンテンドーDS の軽量化版「ニンテンドーDS Lite」が AES をサポートしてくれればいいのになあ、と思ったりもしている。現行のニンテンドーDS よりも1800円高い価格設定とのことだし、やってくれるとうれしいんだけどな。
私は速度と強度のバランスがとれている AES が好き。AES については 2004-04-30 の「暗号技術入門 秘密の国のアリス を発注」で書いた「暗号技術入門」がわかりやすかった。2004-11-09 の「GMail をバックアップストレージとして使う」でも暗号化は AES256 を使っているし、2005-08-16 には「C# でファイルを暗号化・復号化する」というメモも書いた。
これは 2006-01-29 の「ニンテンドーDS を考慮した無線 LAN のセキュリティ設定」では本筋ではないので書かなかった。ユーザーの設定で解決するには難しく、完全に解決するには機器の買い増しなどが必要になるし、「より強固なセキュリティ」よりも「最低限のセキュリティ」を重視したからだ。
- ニンテンドーDS が WEP しか使えないという問題の本質
WEP よりも強度の強い AES (Advanced Encryption Standard) などを使っている 無線 LAN ネットワークにニンテンドーDS が参加する場合、ニンテンドーDS が使用可能な WEP までネットワーク全体の暗号の強度を落とさなければならない。ネットワーク全体で AES などが使えなくなる。ニンテンドーDS が WEP しか使えないという問題の本質はここにある。
2006-01-29 では「WEP128 を使って通信を暗号化すればいい」と書いたが、WEP は暗号強度が弱いので本当は AES を使いたいところ。しかし、ニンテンドーDS が参加すると無線 LAN 全体で WEP を使わなければならなくなる。無線 LAN における暗号は、そのネットワークに参加するすべてのクライアントが使える方式を選択しなければならないからだ。
ニンテンドーDS だけ WEP を使って、他のクライアントは AES を使うということができればいいのだが、それをするためには後述する何らかの方法で 無線 LAN アクセスポイントを追加しなければならない。
- 解決方法は 無線 LAN アクセスポイントの追加
根本的な解決策は、ニンテンドーDS 専用の無線 LAN アクセスポイントを追加で設置することだ。たとえば、IEEE 802.11b と IEEE 802.11a を同時使用可能な無線 LAN アクセスポイントを使う。ニンテンドーDS を IEEE 802.11b + WEP で接続し、他のクライアントは IEEE 802.11a + AES で接続すればよい。私の使っている無線 LAN アクセスポイント AirStation WHR-G54S では IEEE 802.11b にしか対応してないので、買い換えになってしまうけど。
または、Wi-Fi USB コネクタを使い、既存の無線 LAN アクセスポイントとチャンネルを離してそれぞれ独立した無線 LAN ネットワークとして運用する。
ただ、それだけのためにわざわざ Wi-Fi USB コネクタを買うのも不経済だ。PC を立ち上げていないと使えないし。
- ニンテンドーDS が AES に対応してくれればなあ・・・
SCE の PSP (プレイステーションポータブル) はファームウェアのバージョンアップで AES への対応を果たした。PSP はコンテンツ保護のために AES をハードウェアで処理する機能を持っているようなので、それを活用するようにしただけなのかもしれないけど、とにかく実現したことは素晴らしい。“PSP”(プレイステーション・ポータブル)|“PSP” システムソフトウェア アップデート
http://www.playstation.jp/psp/update/ud_01_hty.html
PSP システムソフトウェア バージョン 2.50の更新内容 [2005.10.13]
[ネットワーク設定]のセキュリティ方式に[WPA-PSK(AES)]を追加しました。
結局、ニンテンドーDS が AES をサポートしてくれれば済むことだが、コストをかけられないゲーム機では難しいのだろう。2006年3月発売予定と発表されたニンテンドーDS の軽量化版「ニンテンドーDS Lite」が AES をサポートしてくれればいいのになあ、と思ったりもしている。現行のニンテンドーDS よりも1800円高い価格設定とのことだし、やってくれるとうれしいんだけどな。
- 補足 AES (Advanced Encryption Standard) とは
AES について、Airstation のヘルプから引用。AES
AES(Advanced Encryption Standard)は、次世代の標準暗号とし て米国NISTで採用されたデータの暗号/複合化方式です。このエアステーシ ョンではIEEE802.11i(WPA)を用いた場合、データの暗号化方式として指定 することができます(AES/CCM)。 従来の暗号化方式と比較し、第三者からの攻撃・改竄などに対して強く、 セキュリティを大幅に強化することができます。また、このエアステーショ ンはAES暗号/復号化のための専用ハードウェアを持っており、速度低下など のデメリットを受けずに強力な暗号を使用することができます。 また、AESを利用するためには、接続する無線LAN機器全てがAESをサポート している必要があります。
私は速度と強度のバランスがとれている AES が好き。AES については 2004-04-30 の「暗号技術入門 秘密の国のアリス を発注」で書いた「暗号技術入門」がわかりやすかった。2004-11-09 の「GMail をバックアップストレージとして使う」でも暗号化は AES256 を使っているし、2005-08-16 には「C# でファイルを暗号化・復号化する」というメモも書いた。
私はニンテンドーDSのWI-FIコネクションを利用した通信を行うために無線LANを導入した。ニンテンドーDSを繋ぐ事を考慮した無線 LAN アクセスポイントのセキュリティ設定についてのメモ。
私はすべて手動で設定した。「AOSS」や「らくらく無線スタート」などの自動設定システムを使うと、セキュリティ的に甘い設定になってしまうかもしれないし、何より私はエンジニアなのでセキュリティと使い勝手のバランスをどう取るかを自分で決めたかったからだ。
他の人に勝手に無線 LAN に接続されてしまう。
無線 LAN では、何も制限していない場合は電波が届けばだれでも接続できてしまう。近所の子供がマリオカートのWIFI対戦のために接続してくるくらいならかわいいものだが、特定のサイトを攻撃する際の踏み台や、掲示板に殺人予告を書くために使われる恐れもある。
無線 LAN を流れるデータを読み取られる。
こっちは実際はあまり問題にならない。盗聴されると困るデータは、最初から暗号化されて通信することが多いからだ。ただ、Windows ファイル共有などではデータが暗号化されないので、財務データを記録したファイルなどを無線 LAN 上でやりとりするのはリスクがある。新たな情報漏洩の口ができるという意味で、有線の LAN のときよりはリスクが増えてしまう。
・指定した MAC アドレスを持つクライアントのみ接続許可する。
・SSID を知っているクライアントのみ接続許可する。
・WEP128で通信を暗号化する。
上記はどれか一個で十分というものではない。できる限りすべて実施しておくことが重要。攻撃側は一番弱いところだけを突けばよいので、防御側の私は弱いところをできる限り減らすようにする必要があるからだ。
ただし、MAC アドレスを好きな値に変更できるクライアントもあるので、MAC アドレス自体を知られてしまうとクライアントを偽装されてしまう。MAC アドレス制限だけでなく、他の対策と組み合わせることが重要。
ニンテンドーDS 本体の MAC アドレスは、WI-FI コネクション設定画面のオプションで「本体情報」を見ることで確認できる。00-09-BF-64-64-64 などと表示される。
SSID も MAC アドレスと同じく知られてしまうと効果がない。やはり他の対策と組み合わせることが重要。
ニンテンドーDS の WIFI 接続先設定画面で、無線 LAN アクセスポイントの SSID を入力できる。
ただし、WEP128の暗号化は強度が弱く暗号解読ツールも出回っているので、暗号化しているから絶対通信内容が漏洩しない、というわけではない。つまり他の対策と組み合わせることが重要。
暗号化方式には他に AES と TKIP があるが、ニンテンドーDS は AES も TKIP もサポートしていないので、これらを選ぶとニンテンドーDS を接続できなくなってしまう。WEP64 というのもあるが、WEP128よりも暗号化強度が弱い。現在のところ、WEP128 がニンテンドーDS で使用できる一番強固な暗号だ。
追記。おいでよ どうぶつの森に付いてきた「ニンテンドー Wi-Fi コネクション ガイドブック」19ページによると、ニンテンドーDS は WEP128よりも強固な WEP152 もサポートしている。しかし、私の AirStation WHR-G54S は WEP128 までしか対応していないので WEP128 を選択した。
ニンテンドーDS の WIFI 接続先設定画面で、無線 LAN アクセスポイントの WEP キーを入力できる。アルファベット13文字または 0-9とA-F までの26文字を入力する。
2006-01-30 に「暗号化に WEP しか使えないニンテンドーDS は無線 LAN のセキュリティを弱くする」という記事を書いた。
- 私の無線 LAN 環境
ちなみに、私が利用している無線 LAN アクセスポイントは 2005-11-18 の「ニンテンドーWi-Fiコネクション用 無線LANルータ/アクセスポイント選び」で購入した、バッファローの AirStation WHR-G54S という無線 LAN ルータだ。私の無線 LAN には ニンテンドーDS のほかに、PC2台も接続している。私はすべて手動で設定した。「AOSS」や「らくらく無線スタート」などの自動設定システムを使うと、セキュリティ的に甘い設定になってしまうかもしれないし、何より私はエンジニアなのでセキュリティと使い勝手のバランスをどう取るかを自分で決めたかったからだ。
- セキュリティ的に弱い無線 LAN を使っているとどうなるのか
無線 LAN のセキュリティが弱いままだと、以下のような事態を招くおそれがある。他の人に勝手に無線 LAN に接続されてしまう。
無線 LAN では、何も制限していない場合は電波が届けばだれでも接続できてしまう。近所の子供がマリオカートのWIFI対戦のために接続してくるくらいならかわいいものだが、特定のサイトを攻撃する際の踏み台や、掲示板に殺人予告を書くために使われる恐れもある。
無線 LAN を流れるデータを読み取られる。
こっちは実際はあまり問題にならない。盗聴されると困るデータは、最初から暗号化されて通信することが多いからだ。ただ、Windows ファイル共有などではデータが暗号化されないので、財務データを記録したファイルなどを無線 LAN 上でやりとりするのはリスクがある。新たな情報漏洩の口ができるという意味で、有線の LAN のときよりはリスクが増えてしまう。
- ニンテンドーDS を接続する無線 LAN で最低限設定すべきセキュリティの項目は3つ
私が無線 LAN アクセスポイントに設定した項目は3つ。とりあえずこれだけやっておけば大丈夫。実は、この3項目はニンテンドーDS を接続するしないに関係なく、無線 LAN セキュリティの基本だ。・指定した MAC アドレスを持つクライアントのみ接続許可する。
・SSID を知っているクライアントのみ接続許可する。
・WEP128で通信を暗号化する。
上記はどれか一個で十分というものではない。できる限りすべて実施しておくことが重要。攻撃側は一番弱いところだけを突けばよいので、防御側の私は弱いところをできる限り減らすようにする必要があるからだ。
- 指定した MAC アドレスを持つクライアントのみ接続許可する
MAC アドレスというのはネットワーク機器一つ一つに割り振られた ID。クライアントの MAC アドレスを無線 LAN アクセスポイントに事前に登録しておき、登録された MAC アドレスを持つ機器からの接続だけを許可する。ただし、MAC アドレスを好きな値に変更できるクライアントもあるので、MAC アドレス自体を知られてしまうとクライアントを偽装されてしまう。MAC アドレス制限だけでなく、他の対策と組み合わせることが重要。
ニンテンドーDS 本体の MAC アドレスは、WI-FI コネクション設定画面のオプションで「本体情報」を見ることで確認できる。00-09-BF-64-64-64 などと表示される。
- SSID を知ってるクライアントのみ接続許可する
無線 LAN クライアントからアクセスポイントに存在確認要求があったとき、SSID が一致しないときは要求を無視するようにする。これにより「SSID を知っているクライアントだけにアクセスポイントが見える」という状態にすることができる。SSID も MAC アドレスと同じく知られてしまうと効果がない。やはり他の対策と組み合わせることが重要。
ニンテンドーDS の WIFI 接続先設定画面で、無線 LAN アクセスポイントの SSID を入力できる。
- WEP128で通信を暗号化する
データを WEP キーを使って暗号化し、「WEP キーを知っているクライアントのみ通信ができる」という状態にすることができる。ただし、WEP128の暗号化は強度が弱く暗号解読ツールも出回っているので、暗号化しているから絶対通信内容が漏洩しない、というわけではない。つまり他の対策と組み合わせることが重要。
暗号化方式には他に AES と TKIP があるが、ニンテンドーDS は AES も TKIP もサポートしていないので、これらを選ぶとニンテンドーDS を接続できなくなってしまう。WEP64 というのもあるが、WEP128よりも暗号化強度が弱い。現在のところ、WEP128 がニンテンドーDS で使用できる一番強固な暗号だ。
追記。おいでよ どうぶつの森に付いてきた「ニンテンドー Wi-Fi コネクション ガイドブック」19ページによると、ニンテンドーDS は WEP128よりも強固な WEP152 もサポートしている。しかし、私の AirStation WHR-G54S は WEP128 までしか対応していないので WEP128 を選択した。
ニンテンドーDS の WIFI 接続先設定画面で、無線 LAN アクセスポイントの WEP キーを入力できる。アルファベット13文字または 0-9とA-F までの26文字を入力する。
- 追記
追記。2006-01-30 に「暗号化に WEP しか使えないニンテンドーDS は無線 LAN のセキュリティを弱くする」という記事を書いた。
* rsync と ssh でミラーリングアップロード
この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ssh] [ネットワーク] [sonic64.com]
当サイト Landscape - エンジニアのメモのコンテンツのアップロードに、rsync を使うようにしてみた。
使ってみると、rsync は実に良くできた便利なツールであることがわかった。ちなみに今までは lftp を使っていた。詳しくは 2004-05-08 の「lftp を使った ftp ミラーリングと便利機能」を参照。さくらインターネットを使う前までは ftp しか許可されていなかったので仕方がないが、もっと早くから rsync に切り替えるべきだった。
コマンドの意味。
-t はファイルのタイムスタンプを転送先に反映させる。
-r はディレクトリを再帰的に転送する。
-z は圧縮を有効にする。
--include=*.html* --exclude=* はとりあえずあらゆるファイルとディレクトリを転送の対象外にして、その後 .html の拡張子を持つファイルのみ明示的に転送を許可している。要するに html だけ転送しているわけだ。$HOME/public_html/log.sonic64/*.html を転送対象に指定してもいいのだが、ファイル数が多すぎるために引数が長すぎるというエラーになってしまう。それを回避するため、$HOME/public_html/log.sonic64/ を転送対象として指定してから --include=*.html* --exclude=* で対象を *.html に絞っている。もっと上手いやり方もあると思うが、とりあえずこれで。
-e は ssh を使って接続を構成する。暗号化や公開鍵暗号による認証を利用できる。
ちなみに、ローカルに存在しないファイルをリモートから削除したい場合は、--delete オプションを指定する。私の場合はリモートにのみ存在するファイルやディレクトリがあるし、Landscape のコンテンツは増える一方で減ることはまずないので指定していない。
13460480 バイトしか送信していないのに、合計サイズが43120469 バイトになっている。これは圧縮の恩恵だ。
私の使っている回線のアップロード速度は、理論値で 512Kbps。実際の速度はだいたい秒間50KB くらいになる。 Landscape のコンテンツは合計で50MB 弱。圧縮せずに転送すると単純計算で1000秒、すなわち17分弱かかることになる。圧縮を有効にするだけで、17分が6分程度に短縮される。これは非常に便利だ。
ちなみに、-W オプションは 後述する「rsync アルゴリズム」を無効にするためのオプション。今回は圧縮による速度向上度合だけを計測したいので -W を指定したが、私の平常時の運用では指定していない。-v は詳細な転送情報を表示するためのオプション。
rsync アルゴリズムの良いところは、ファイルを一定サイズごとのブロックに分割して必要なブロックだけを転送している点にある。大きなファイルの一部分だけが変更されたとしても、変更を含むブロックだけを転送すればよいことになり、転送量を減らすことができる。
P2P ファイル共有ソフトの Winny でも類似の機能を実装している。2005-11-29 の「Winny の技術を読了」には詳しく書かなかったが、Winny はダウンロードに失敗しても、最初からダウンロードをやり直す必要はない。Winny は共有ファイルを64KB ごとのブロックに区切り、そのブロック単位でデータをやりとりするからだ。これと同じようなもの。
以下は記事を追加してミラーリングを行った場合。
今の Landscape の HTML は、新規記事が追加されるとサイドバーに新規記事へのリンクなどが追加されるため、全ファイルが更新される。ftp だったら全ファイルを再アップロードする必要があるところだが、rsync は全ファイルの全データ分を転送するという挙動を見せていない。送っているのは 1771974 バイトだけ。ブロックの差分だけ転送している結果だ。このおかげで、通常の 19.98 倍という速度を達成している。素晴らしい。
ローカル生成 + サーバへ一括転送という仕組みのツールなら rsync は非常に有用だ。記事数2000くらいまでなら、今の仕組みのままでも大丈夫そうだ。rsync にはもっといろんな機能があるだろうから、しばらくは man rsync をじっくり読んでみることにする。
使ってみると、rsync は実に良くできた便利なツールであることがわかった。ちなみに今までは lftp を使っていた。詳しくは 2004-05-08 の「lftp を使った ftp ミラーリングと便利機能」を参照。さくらインターネットを使う前までは ftp しか許可されていなかったので仕方がないが、もっと早くから rsync に切り替えるべきだった。
- rsync でミラーリングアップロード
以下のコマンドで、ローカルで生成済みの Landscape のコンテンツをリモートのさくらインターネットのサーバに転送している。rsync -t -r -z --include=*.html* --exclude=* -e "ssh -i $HOME/.ssh/sonic64.com_upload" $HOME/public_html/log.sonic64/ sonic64@sonic64.com:/home/sonic64/www/sonic64
コマンドの意味。
-t はファイルのタイムスタンプを転送先に反映させる。
-r はディレクトリを再帰的に転送する。
-z は圧縮を有効にする。
--include=*.html* --exclude=* はとりあえずあらゆるファイルとディレクトリを転送の対象外にして、その後 .html の拡張子を持つファイルのみ明示的に転送を許可している。要するに html だけ転送しているわけだ。$HOME/public_html/log.sonic64/*.html を転送対象に指定してもいいのだが、ファイル数が多すぎるために引数が長すぎるというエラーになってしまう。それを回避するため、$HOME/public_html/log.sonic64/ を転送対象として指定してから --include=*.html* --exclude=* で対象を *.html に絞っている。もっと上手いやり方もあると思うが、とりあえずこれで。
-e は ssh を使って接続を構成する。暗号化や公開鍵暗号による認証を利用できる。
ちなみに、ローカルに存在しないファイルをリモートから削除したい場合は、--delete オプションを指定する。私の場合はリモートにのみ存在するファイルやディレクトリがあるし、Landscape のコンテンツは増える一方で減ることはまずないので指定していない。
- rsync のデータ圧縮
rsync ではデータの圧縮をサポートしている。圧縮を使う場合は -z を指定する。テキストファイルを一気にミラーリングする場合などは、転送量を三分の一程度に減らすことができる。$ rsync -W -v -t -r -z --include=*.html* --exclude=* -e "ssh -i $HOME/.ssh/sonic64.com_upload" $HOME/public_html/log.sonic64/ sonic64@sonic64.com:/home/sonic64/www/sonic64
sent 13460480 bytes received 17636 bytes 45457.39 bytes/sec
total size is 43120469 speedup is 3.20
13460480 バイトしか送信していないのに、合計サイズが43120469 バイトになっている。これは圧縮の恩恵だ。
私の使っている回線のアップロード速度は、理論値で 512Kbps。実際の速度はだいたい秒間50KB くらいになる。 Landscape のコンテンツは合計で50MB 弱。圧縮せずに転送すると単純計算で1000秒、すなわち17分弱かかることになる。圧縮を有効にするだけで、17分が6分程度に短縮される。これは非常に便利だ。
ちなみに、-W オプションは 後述する「rsync アルゴリズム」を無効にするためのオプション。今回は圧縮による速度向上度合だけを計測したいので -W を指定したが、私の平常時の運用では指定していない。-v は詳細な転送情報を表示するためのオプション。
- rsync アルゴリズムと転送量の削減
rsync は独自の rsync アルゴリズムを使ってデータ転送量を削減している。しかもこれは圧縮と組み合わせることができる。rsync アルゴリズムの良いところは、ファイルを一定サイズごとのブロックに分割して必要なブロックだけを転送している点にある。大きなファイルの一部分だけが変更されたとしても、変更を含むブロックだけを転送すればよいことになり、転送量を減らすことができる。
P2P ファイル共有ソフトの Winny でも類似の機能を実装している。2005-11-29 の「Winny の技術を読了」には詳しく書かなかったが、Winny はダウンロードに失敗しても、最初からダウンロードをやり直す必要はない。Winny は共有ファイルを64KB ごとのブロックに区切り、そのブロック単位でデータをやりとりするからだ。これと同じようなもの。
以下は記事を追加してミラーリングを行った場合。
$ rsync -v -t -r -z --include=*.html* --exclude=* -e "ssh -i $HOME/.ssh/sonic64.com_upload" $HOME/public_html/log.sonic64/ sonic64@sonic64.com:/home/sonic64/www/sonic64
sent 1771974 bytes received 389842 bytes 40407.78 bytes/sec
total size is 43182507 speedup is 19.98
今の Landscape の HTML は、新規記事が追加されるとサイドバーに新規記事へのリンクなどが追加されるため、全ファイルが更新される。ftp だったら全ファイルを再アップロードする必要があるところだが、rsync は全ファイルの全データ分を転送するという挙動を見せていない。送っているのは 1771974 バイトだけ。ブロックの差分だけ転送している結果だ。このおかげで、通常の 19.98 倍という速度を達成している。素晴らしい。
ローカル生成 + サーバへ一括転送という仕組みのツールなら rsync は非常に有用だ。記事数2000くらいまでなら、今の仕組みのままでも大丈夫そうだ。rsync にはもっといろんな機能があるだろうから、しばらくは man rsync をじっくり読んでみることにする。
ipchains で OutGoing (外向き) のパケットを DENY する。
諸般の事情で iptables じゃなくて ipchains を使った。
REJECT はパケットを捨てた上で、拒否したことを ICMP を使って発信元に通告する。
ipchains -A output -d 10.87.64.215 -j DENY
諸般の事情で iptables じゃなくて ipchains を使った。
- DENY/DROP と REJECT の違い
DENY と DROP は同義で、パケットを単に捨てるだけ。発信元へはなにも返さない。REJECT はパケットを捨てた上で、拒否したことを ICMP を使って発信元に通告する。
2005-11-23 の「無線 LAN ルータ WHR-G54S のファームウェア更新に失敗」で書いた、バッファローの無線 LAN ルータ WHR-G54S の修理についてのメモ。
- 修理の流れ
11/24 にコンビニに持ち込んでバッファローの修理センターへ発送。クロネコヤマトで630円くらいだったかな。クロネコヤマトの荷物お問い合わせシステムによると、以下のようになっていた。一部伏せ字。
荷物状況 日 付 時 刻 担当店名 担当店コード
発送 11/25 16:56 宇都宮******宅急便センタ− *******
作業店通過 11/25 19:07 栃木ベース店 022990
作業店通過 11/26 05:23 名古屋ベース店 054990
配達日・時間帯指定(保管中) 11/26 08:35 南忠次宅急便センター 054181
配達完了 11/28 11:52 南忠次宅急便センター 054181
さらに、以下をバッファローのサイトから閲覧できた。
修理期間データ
https://online.buffalo.jp/newirai/noukisearch.asp
修理予約日 2005/11/23
修理品到着日
修理受付日 2005/11/29
修理完了予定日 2005/12/15
修理完了日 2005/11/30
発送日 2005/11/30
修理の状況を閲覧できるのはいいシステムだね。安心感がある。バッファロー、なかなかやるな。ただ、どうもデータの反映が遅い模様。イベントが発生してから2日くらい経たないと上記サイトに反映されない感じ。11/30 に閲覧しても「修理受付日」さえ記録されていなかったし。
最終的に、修理が終わって私の家に着いたのが12/2くらいだったかな?
平均修理期間について
・弊社での平均修理期間は製品到着後、弊社営業日で7日〜10日を予定しています。
(お客様から製品をご送付頂く期間・弊社より製品を返送する期間は修理期間に含んでおりません)
修理に要する期間は予想より短かった。短かった理由は本体が完全に交換になったからだろう。ファームウェアが吹っ飛んでしまったら、修理方法は他にないということか。フラッシュ ROM を交換できる仕組みになってないのかな?
- 修理内容と修理費用
本体は完全に交換となったので、本体に貼ってあったシリアルナンバーのシールは手作業で貼り替えてあった。シールの左上の角には剥がして皺が寄った跡がある。名誉の負傷と呼ぶことにしよう。修理代金は無料だった。これで有償だったらバッファロー製品は二度と買わないところだったけど、この対応なら及第だ。今後もおつきあいしたいところ。ちなみに、バッファローの修理センターへの返送にかかる送料のみ負担した。まあ、これは仕方ないでしょう。逆に私に送られてくるときの送料はバッファロー負担。
- 修理後の経過
本体が交換になったので、設定はやり直し。設定をファイルにダンプしておいたのだが、トラブルがあると困るので手で丹誠込めて設定し直した。いまのところ快調に動作している。「Winny の技術」を読了した。この本はピアツーピア (P2P) のファイル共有ソフト Winny を、その作者の金子勇氏が解説した技術解説本。純粋に Winny の設計と実装を解説した技術本であるため、Winny の使い方や法律論などは載っていない。
2005-10-05 の『Winny の技術解説本「Winny の技術」を発注』で購入しておいたのだが、読むのがだいぶ遅くなってしまった。
- 資料的価値がある
今まで Winny のソースコードやプロトコルは非公開だった。Winny の設計や実装を学ぶためには、配布された実行ファイルをソースコードに逆変換したりするリバースエンジニアリングや、通信パケットを解析するのが一般的だったようだ。また、作者自身とユーザーが掲示板などに書き込んだ情報を元に推測するということもおこなわれていた。Winny のネットワークは大規模といえるレベルまで成長しており、その設計と実装を作者自らが解説したこの本は、資料的価値がある。以下に参考になった部分を列挙する。
- 上流と下流によるノードの重み付け
Winny では、Winny ネットワークに参加するノードを対等な関係とするのではなく、上流と下流という概念を取り入れ、回線速度や処理性能で分類している。過去の P2P アプリケーションは参加するノードが入り交じり、全体の効率を落としていた。回線と処理性能に余裕があるノードは上流に位置づけ、大量のデータをやりとりさせる。また、人気のあるファイルは上流でキャッシュするようにし、Winny ネットワーク内での流通速度を上げる。一方、回線や処理性能に余裕のない下流ノードは上流のノードにぶら下がるようにし、相応の負荷に抑える。
この仕組みであれば、上流は負荷が高いがその分大量のファイルを受信できるし、下流よりも広い範囲でファイルを探すことができる。下流は自分の身の丈にあった範囲でファイルを探すことができ、それぞれの住み分けができる。
上流と下流の概念があることで、どんな参加ユーザーでも受け入れることができ、ネットワーク全体の受容能力が高まる。ネットワークの価値は、まず参加しているノードの数で決まる。もちろん、各ノードの持っているリソースの質も重要だが、量は質に転換する。それを踏まえた設計になっているのが素晴らしい。
- クラスタリングによる分割統治
Winny はクラスタという概念を取り入れ、ネットワークの規模が大きくなっても効率を落とさない仕組みを実現している。参加しているノードの数が増え、ファイルの流通量が爆発的に増えると、流通量全体に占める目当てのファイルの比率が下がる。これはネットワークが成長すると避けられない事態だ。この問題への対処は上流と下流だけでは難しい。そのため、目当てのファイルや保持しているファイルの傾向でノードを分類し、集団 (クラスタ) を形成するようになっている。これにより、目当てのファイルの検索ヒット率と、キャッシュヒット率が向上する。
問題解決の基本は「分割して統治せよ」だ。上流と下流という一次元の軸しかなかった Winny ネットワークにクラスタという別の次元の軸を与えることで、大量のノードを分割して統治することができる。しかも、お互いのクラスタは明確に分割されるのではなく、ある程度のつながりを保持したままゆるく分割されていく。良くできた仕組みだ。
- 自動ダウンロード、自動ハッシュチェック
Winny は自動ダウンロード、自動リトライ、自動ファイルハッシュチェックなど、Winny ネットワークとアプリケーションの信頼性を高める仕組みを導入している。欲しいファイルを「予約」して Winny を起動しておけば、あとは Winny 自身が勝手にファイルを持っているノードを検索し、リクエストを発行してダウンロードし、ファイルの整合性のチェックまでしてくれる。
この仕組みはユーザの手間を減らすという点で非常に強力だ。とくに、ネットワークアプリケーションで懸念されるデータ化けやファイル破損を、MD5 ハッシュのチェックをおこなうことで回避している点が良い。TCP 自体にエラーチェックの仕組みがあるが、アプリケーションが保証していることが重要だ。
この仕組みがあることで、数百メガバイトを超えるファイルの共有も安心してできるようになる。チェックは自動でおこなわれるので、ユーザーに手間をかけさせない。安心して任せられるので、流通するファイルが増える。その結果、Winny ネットワークはより大きくなる。
全体的に見て、Winny はファイルの交換を促進する良い仕組みを持っている。IX やプロバイダーが Winny のトラフィックの増加に悩んでいたようだが、これだけの機能を備えていれば、それも頷ける。
- 疑問点
共有できるファイルサイズの上限が 2GB というのはちょっと少ない。たとえば、Debian GNU/Linux sarge の DVD ISO イメージは 4GB くらいあったはず。こういう巨大ファイルは分割しなければならない。開発当時のネットワーク回線事情では、この程度のサイズのファイルを気軽に流通させることはできなかったのかもしれない。表紙がグレーなのは、Winny の利用される形態が「グレーゾーン」だからかな?
2ページ目の鍵の指紋が気になる。金子氏はこれで何をしようとしているんだろう?
Fingerprint:
16B6 7953 A7C1 2DCA 9DEF C7D1 2546 1CCE C03F 2BA3
- Winny の技術 pdf 版を Winny でダウンロード
Winny の技術 winny ネットワーク上で流通しているようだ。以下がファイル情報。左から順に、ファイル名、 Winny 上のトリップ、ファイルサイズ、md5 ハッシュ。PDF(一般書籍) [金子勇] Winnyの技術 [05-10-03].zip cbwdWRCPoE 1,900,259 9d2dd618c580e38ea6869c51d9ed1107
無線 LAN ルータを壊してしまった。原因はファームウェアの更新失敗。
壊したのはバッファローの AirStation WHR-G54S という無線 LAN ルータ。ニンテンドーDS の「おいでよ どうぶつの森」を接続するために、2005-11-18 の「ニンテンドーWi-Fiコネクション用 無線LANルータ/アクセスポイント選び」でいろいろ検討した結果選んだものだ。
ちなみにファームウェアは、 ハードウェアほど固定的でなく、ソフトウェアほど頻繁に変更されないものを指す。ファームのスペルは firm で、固いという意味。組み込み機器に搭載されたソフトウェアをこう呼ぶことが多い。
ファームウェアは組み込み機器自身を制御することが多いため、アップデートに失敗するとその機器が使えなくなったりするというリスクがある。リスクがあるので、私はアップデートの必要がなければ手を出さない派なのだが、1.23 では機能追加だけでなく、いくつかの不具合修正がなされているとのこと。
ドライバ ダウンロード WHR-G54S
http://buffalo.melcoinc.co.jp/download/driver/lan/whr-g54s.h ...
気になるのは 5番、10番、11番だ。私はブリッジモードで使う予定なのでとくに11番は困る。10番のセキュリティ系の不具合も、ルータモードの時のみに問題になることなのですぐには影響がないかもしれないが、こういうのは早めに手当てしておきたい。
しかし、更新中を示す本体のランプの点滅がいつまで経っても収まらない。1時間くらい待ってもずーっと点滅中。不具合の5番「Flash-ROMへ設定保存時、異常に時間がかかる場合がある不具合」に該当しているのかもしれないが、それにしても時間がかかりすぎる。やばいかも。
メーカーのウェブサイトの FAQ を探してみる。
ファームウェアの更新に失敗した場合の対処方法【AirStation、BroadStation】
http://qa.buffalo.jp/eservice/qid.asp?id=BUF2943
うん、やってみよう。・・・。DIAG ランプの点滅は収まったけど、パワーランプしか点灯しなくなった。これってどうなの?
ダメじゃん。壊れたー。一応本体の初期化スイッチを押してみるが、症状は変わらず。えー、ファームウェアのアップデート失敗って、こんな簡単に発生するものなの? マニュアルの手順を踏んだだけなのに? 今までマザーボードのファームウェア更新とか何度もやってきたけど、失敗したのは初めてだ。マザーボードなどでは、BIOS 用のフラッシュメモリを複数搭載していて、一個がダメになったらスペアから起動できるようになってるものがあるが、家庭用ルータではまだ一般的ではないようだ。
あ、ファームウェアが壊れていても、無線とルータ部分が使えないだけで、スイッチングハブとしては使えるのね。って、それじゃあ買った意味がないよー。購入してから5時間くらいで、無線 LAN ルータが単なるスイッチングハブになっちゃった・・・。
仕方ないのでメーカーのサポート行き。web から修理依頼をかけて修理受付番号を発行してもらい、それを書いた紙を添えてメーカーに送る。早くよくなって帰ってきてね。
ちなみに今日はニンテンドーDS の「おいでよ どうぶつの森」の発売日。amazon にはすでに発注済みだけど、まだ発送されていない模様。
なんだか不運が続くなあ。もっとも、まだニンテンドーDS 本体を買ってないから、ソフトだけ到着してもプレイできないんだけどね。ルータの修理には6から9営業日かかると書いてあったし、まあ気長に待ちますか。
壊したのはバッファローの AirStation WHR-G54S という無線 LAN ルータ。ニンテンドーDS の「おいでよ どうぶつの森」を接続するために、2005-11-18 の「ニンテンドーWi-Fiコネクション用 無線LANルータ/アクセスポイント選び」でいろいろ検討した結果選んだものだ。
- WHR-G54S の最新ファームウェア 1.23 ではいくつかの不具合修正済み
amazon で購入し、今日のお昼頃に我が家に配送されてきた。いろいろ設定などをしていたところ、ファームウェアが最新のものでないことに気づいた。私の WHR-G54S のファームウェアのバージョンは 1.20 で、最新版は 1.23 だ。ちなみにファームウェアは、 ハードウェアほど固定的でなく、ソフトウェアほど頻繁に変更されないものを指す。ファームのスペルは firm で、固いという意味。組み込み機器に搭載されたソフトウェアをこう呼ぶことが多い。
ファームウェアは組み込み機器自身を制御することが多いため、アップデートに失敗するとその機器が使えなくなったりするというリスクがある。リスクがあるので、私はアップデートの必要がなければ手を出さない派なのだが、1.23 では機能追加だけでなく、いくつかの不具合修正がなされているとのこと。
ドライバ ダウンロード WHR-G54S
http://buffalo.melcoinc.co.jp/download/driver/lan/whr-g54s.h ...
Ver1.21→Ver1.23
【不具合修正】
1. マルチクライアント機能を有効にしたイーサネットコンバータを使用した機器が
IPアドレスの更新が出来ない不具合を修正しました。
2. 機能設定「インターネット対応ゲームを使う」の設定画面内の補足説明を変更
しました。
3. IPフィルタ設定で登録最大数まで入力するとページエラーになる不具合を修正
しました。
4. エアステーション名に不正な入力が出来る不具合を修正しました。
5. Flash-ROMへ設定保存時、異常に時間がかかる場合がある不具合を再度、修正
しました。
6. システム情報ページの「製品名」項目に詳細な機器情報を表示する様にしました。
7. アドレス変換を使用しない設定で使用した場合に正常に動作しない不具合を修正
しました。
8. アタックブロック情報を消去しても再表示される不具合を修正しました。
9. DHCPサーバ設定のDNSサーバとWINSサーバ項目に不正な入力ができる不具合を修正
しました。
10. パケットフィルタの設定変更した場合、わずかな時間だけフィルタが効かなくなる
不具合を修正しました。
11. ブリッジモード時に機能設定「無線LANの暗号化を設定する」のページで表示されない
ページがある不具合を修正しました。
12. アドレス変換設定でポート変換テーブルを既存のグループに対して新規追加した場合に、
既存グループの有効無効状態に合わせて追加するように修正しました。
13. WEB設定画面のヘルプの誤記修正/内容追加をしました。
気になるのは 5番、10番、11番だ。私はブリッジモードで使う予定なのでとくに11番は困る。10番のセキュリティ系の不具合も、ルータモードの時のみに問題になることなのですぐには影響がないかもしれないが、こういうのは早めに手当てしておきたい。
- WHR-G54S のファームウェアをアップデートする
アップデートした方が良さそうなので、バッファローのウェブサイトからファームウェア whrg54s-123.exe をダウンロード。自己解凍ファイルを展開して、ブラウザの AirStation 設定画面からアップデートファイルのパスを指定して POST する。「更新には180秒ほどかかる」という画面が出た。どうやら正常にアップデートファイルを WHR-G54S に転送できたようだ。更新が終わるまでしばらく待つ。しかし、更新中を示す本体のランプの点滅がいつまで経っても収まらない。1時間くらい待ってもずーっと点滅中。不具合の5番「Flash-ROMへ設定保存時、異常に時間がかかる場合がある不具合」に該当しているのかもしれないが、それにしても時間がかかりすぎる。やばいかも。
メーカーのウェブサイトの FAQ を探してみる。
ファームウェアの更新に失敗した場合の対処方法【AirStation、BroadStation】
http://qa.buffalo.jp/eservice/qid.asp?id=BUF2943
ファームウェア更新失敗後、製品本体前面のDIAGランプが点滅(点灯)している場合、
一度電源の抜き差しを行ない、点滅(点灯)が消えることを確認ください。
うん、やってみよう。・・・。DIAG ランプの点滅は収まったけど、パワーランプしか点灯しなくなった。これってどうなの?
電源の抜き差しを行ってもDIAGランプが点滅(点灯)し続ける場合、もしくは
Powerランプのみが点灯し、Wirelessが点灯しない場合、誠に申し訳ございませんが、
製品本体とACアダプタを弊社修理センターまでお送りください。
ダメじゃん。壊れたー。一応本体の初期化スイッチを押してみるが、症状は変わらず。えー、ファームウェアのアップデート失敗って、こんな簡単に発生するものなの? マニュアルの手順を踏んだだけなのに? 今までマザーボードのファームウェア更新とか何度もやってきたけど、失敗したのは初めてだ。マザーボードなどでは、BIOS 用のフラッシュメモリを複数搭載していて、一個がダメになったらスペアから起動できるようになってるものがあるが、家庭用ルータではまだ一般的ではないようだ。
あ、ファームウェアが壊れていても、無線とルータ部分が使えないだけで、スイッチングハブとしては使えるのね。って、それじゃあ買った意味がないよー。購入してから5時間くらいで、無線 LAN ルータが単なるスイッチングハブになっちゃった・・・。
仕方ないのでメーカーのサポート行き。web から修理依頼をかけて修理受付番号を発行してもらい、それを書いた紙を添えてメーカーに送る。早くよくなって帰ってきてね。
- 「おいでよ どうぶつの森」もまだ届かない
ちなみに今日はニンテンドーDS の「おいでよ どうぶつの森」の発売日。amazon にはすでに発注済みだけど、まだ発送されていない模様。
なんだか不運が続くなあ。もっとも、まだニンテンドーDS 本体を買ってないから、ソフトだけ到着してもプレイできないんだけどね。ルータの修理には6から9営業日かかると書いてあったし、まあ気長に待ちますか。
任天堂公式サイトで、ニンテンドーWi-Fiコネクション対応の無線 LAN ルータやアクセスポイントの製品一覧が発表された。
Wi-Fiコネクションサービスにつながる動作確認済み「無線LANアクセスポイント」機種一覧
http://wifi.nintendo.co.jp/information/router/
2005-11-15 の「ニンテンドー DS の Wi-Fi コネクションの接続テスト」では「ニンテンドーWi-Fi USBコネクタ」を検討したが、他に接続したい PC もあるし、そろそろ我が家のネットワークにも無線 LAN を導入しても良い頃。では、私はどの機種を買ったらいいんだろう?
この他に、PSP (プレイステーションポータブル)、プレイステーション3、任天堂の次世代機「レボリューション」もいずれ購入するので無線で繋ぎたい。購入予定は全くの未定だが。XBOX360は今のところ購入予定無しなので気にしない。
ルータは持っていないが、プロバイダ貸し出しのモデム付きルータはある。貸し出し品なのでプロバイダを乗り換えると返却しなければならない。スイッチングハブは4ポートのものが1台、8ポートのものが1台ある。
無線 LAN アクセスポイント
無線 LAN 対応機器の基地局となり、各機器の中継をするもの。「無線 LAN ブリッジ」や「無線 LAN ルータ」などのこと。
無線 LAN ブリッジ
無線 LAN 機器をレイヤ2で接続するだけの無線 LAN アクセスポイント。スイッチングハブのようなもの。
無線 LAN ルータ
レイヤ3のルーティング機能を持った無線 LAN アクセスポイント。ルータモードとブリッジモードを切り替えられる機種もある。
予算は2万円で。安い機種でもいい。
メーカーにもこだわりがないが、ニンテンドー DS は BUFFALO 無線 LAN 自動設定ツール「AOSS」と NEC の 無線 LAN 自動設定ツール 「らくらく無線スタート」に対応しているので、これら2社のものがいい。私はエンジニアなので、自動設定はたぶん使わないと思うけど。
IEEE802.11a は不要。あってもいいけど、無くても構わない。IEEE802.11g があればいい。
で、選んだ機種が BUFFALO の WHR-G54S。1万円でおつりが来る。無線 LAN ルータとブリッジを切り替えられる。IEEE802.11g にも対応。4ポートのスイッチングハブ付き。私にはこれで十分だな。
WHR-HP-G54 は交信性能を強化したハイパワー版。こっちも検討したけど、私の家ならたぶん WHR-G54S で十分だと思う。
NEC の AtermWR7850S と AtermWR6650S の2機種は IEEE802.11a にも対応。でも、IEEE802.11a は必須じゃないし、BUFFALO の方が手頃な値段なので見送り。
Wi-Fiコネクションサービスにつながる動作確認済み「無線LANアクセスポイント」機種一覧
http://wifi.nintendo.co.jp/information/router/
amazon で買うのも楽でいいけど、これを印刷して近くの電器店に行って品定めして買うのが良いと思う。そのために価格と納期がわかるような形で表示した。
http://media.ds.ign.com/media/682/682877/vids_1.html
Wi-Fiコネクションサービスにつながる動作確認済み「無線LANアクセスポイント」機種一覧
http://wifi.nintendo.co.jp/information/router/
2005-11-15 の「ニンテンドー DS の Wi-Fi コネクションの接続テスト」では「ニンテンドーWi-Fi USBコネクタ」を検討したが、他に接続したい PC もあるし、そろそろ我が家のネットワークにも無線 LAN を導入しても良い頃。では、私はどの機種を買ったらいいんだろう?
- 我が家のネットワーク構成
確実に無線で接続する機器は、ノート PC 2台とニンテンドーDS。デスクトップ PC は有線 LAN で接続予定。この他に、PSP (プレイステーションポータブル)、プレイステーション3、任天堂の次世代機「レボリューション」もいずれ購入するので無線で繋ぎたい。購入予定は全くの未定だが。XBOX360は今のところ購入予定無しなので気にしない。
ルータは持っていないが、プロバイダ貸し出しのモデム付きルータはある。貸し出し品なのでプロバイダを乗り換えると返却しなければならない。スイッチングハブは4ポートのものが1台、8ポートのものが1台ある。
- 無線LAN 機器の種類
無線 LAN 機器の種類をメモ。無線 LAN アクセスポイント
無線 LAN 対応機器の基地局となり、各機器の中継をするもの。「無線 LAN ブリッジ」や「無線 LAN ルータ」などのこと。
無線 LAN ブリッジ
無線 LAN 機器をレイヤ2で接続するだけの無線 LAN アクセスポイント。スイッチングハブのようなもの。
無線 LAN ルータ
レイヤ3のルーティング機能を持った無線 LAN アクセスポイント。ルータモードとブリッジモードを切り替えられる機種もある。
- ニンテンドーWi-Fiコネクション用 無線LANルータ/アクセスポイント選び
私はルータを持っていないので、家庭用のものなら一台くらい手元にあってもいい。というわけで、無線 LAN ブリッジではなく、無線 LAN ルータを買おう。予算は2万円で。安い機種でもいい。
メーカーにもこだわりがないが、ニンテンドー DS は BUFFALO 無線 LAN 自動設定ツール「AOSS」と NEC の 無線 LAN 自動設定ツール 「らくらく無線スタート」に対応しているので、これら2社のものがいい。私はエンジニアなので、自動設定はたぶん使わないと思うけど。
IEEE802.11a は不要。あってもいいけど、無くても構わない。IEEE802.11g があればいい。
で、選んだ機種が BUFFALO の WHR-G54S。1万円でおつりが来る。無線 LAN ルータとブリッジを切り替えられる。IEEE802.11g にも対応。4ポートのスイッチングハブ付き。私にはこれで十分だな。
WHR-HP-G54 は交信性能を強化したハイパワー版。こっちも検討したけど、私の家ならたぶん WHR-G54S で十分だと思う。
NEC の AtermWR7850S と AtermWR6650S の2機種は IEEE802.11a にも対応。でも、IEEE802.11a は必須じゃないし、BUFFALO の方が手頃な値段なので見送り。
- 動作確認済みルータ・無線アクセスポイント
任天堂のオフィシャルサイトから、動作検証の結果に ○ が付いていた機種を抜粋。なので、NEC のモデルは掲載していない。すべて2005年11月18日現在。たぶん今後検証機種は増えていくだろうし、ユーザーからの報告もあるだろう。Wi-Fiコネクションサービスにつながる動作確認済み「無線LANアクセスポイント」機種一覧
http://wifi.nintendo.co.jp/information/router/
amazon で買うのも楽でいいけど、これを印刷して近くの電器店に行って品定めして買うのが良いと思う。そのために価格と納期がわかるような形で表示した。
- BUFFALO の Wi-Fiコネクション動作確認済み無線LANアクセスポイント
バッファローは任天堂と提携しているだけあって、最多の動作確認済み機種数を誇る。ただ、どう見ても業務用としか思えないモデルも入ってるね。値段も3倍くらいするものとか。BUFFALO HighPower無線LAN AirStation BroadBandルータコンプリートモデル (2.4GHz・54Mbps)WZR-HP-G54
バッファロー
発売日: 2004/08/31
amazon で詳しく見る
バッファロー
発売日: 2004/08/31
amazon で詳しく見る
BUFFALO IEEE802.11g 無線LAN AirStation BroadBandルータ リモートアクセス HighPowerモデル WZR-RS-G54HP
バッファロー
発売日: 2004/11/30
amazon で詳しく見る
バッファロー
発売日: 2004/11/30
amazon で詳しく見る
BUFFALO AirStationPro 無線LANアクセスポイント ハイゲインアンテナ&PoE受電アダプタセット WLAH-HG-G54/R
バッファロー
発売日: 2004/11/30
amazon で詳しく見る
バッファロー
発売日: 2004/11/30
amazon で詳しく見る
- コレガの Wi-Fiコネクション動作確認済み無線LANアクセスポイント
「無線LANアクセスポイントの送信レートを2Mbpsに設定する。」「無線LANアクセスポイントのXR機能をオフに設定する」必要があるものは除外したので、4機種のみ。{CG-WLBARAGL 切換利用対応無線LANルータ: エレクトロニクス}:amazon:B0009QZWPI
{corega CG-WLBARAG: エレクトロニクス}:amazon:B0001VCT2K
{corega WLBAR-54GT White 802.11g/54Mbps 無線ルーター: エレクトロニクス}:amazon:B00009RGHG
- ELECOM の Wi-Fiコネクション動作確認済み無線LANアクセスポイント
- ICOM の Wi-Fiコネクション動作確認済み無線LANアクセスポイント
{SR-5000VOIP VOIP対応ワイヤレスブロードバンドルータ: エレクトロニクス}:amazon:B0001931H4
- I-O DATA の Wi-Fiコネクション動作確認済み無線LANアクセスポイント
- LINKSYS の Wi-Fiコネクション動作確認済み無線LANアクセスポイント
- NETGEAR の Wi-Fiコネクション動作確認済み無線LANアクセスポイント
- PLANEX の Wi-Fiコネクション動作確認済み無線LANアクセスポイント
{PLANEX BRC-W14V eXgateシリーズ マルチユースワイヤレスVPNルータ: エレクトロニクス}:amazon:B000127XTS
{PLANEX BRC-AP04 eXgateシリーズ マルチユースアクセスポイント: エレクトロニクス}:amazon:B000127XT8
- Apple の Wi-Fiコネクション動作確認済み無線LANアクセスポイント
- マリオカート DS 動画
マリオカート DS の動画。やばいよ、これ。ちゃんと秒間60フレームで動いてる! Wi-Fi 通信対戦だとここまでのフレームレートは出ないかもしれないけど、普通の通信対戦ならこれくらい行けるのか。http://media.ds.ign.com/media/682/682877/vids_1.html
* sonic64.com の転送量の80%が RSS
この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [sonic64.com] [Apache] [ネットワーク] [RSS]
当サイト Landscape が infoseek isweb から移転して sonic64.com を使うようになってから、1か月ほど経った。というわけでアクセスログを見てみる。
月間総転送量は 63557488KB。約60GB、一日あたり2GBというところか。なんだか減ってる気がする。旧サイトを置いていた infoseek isweb では、多いときで一日5GB、少ないときで1GBくらいだったと思う。平均すると一日あたり 3GB から 4GB くらいだったかな。移転後に転送量が減ってる理由は、移転に伴って検索エンジンの順位が下がったりとか、あとは 2005-09-15 の「mod_rewrite でリクエストに応じて gzip 圧縮ファイルを返す」などの効果のためだろう。
解析の結果、転送量のほとんどが http://sonic64.com/cl-full.xml に集中してることがわかった。60GB の転送量のうち、50816191KB、すなわち 50GB 程度がこの RSS の転送のために使われていた。cl-full.xml は「すべての記事全文を含む RSS」 なので、サイズが大きいのは仕方がないが、それが sonic64.com の転送量の約80%を占めているとは、ちょっと意外だった。20%80%のパレートの法則を超えるような状態だ。
ちなみに、トップページ http://sonic64.com/ の月間転送量は 471425KB で、471MB。全体に占める割合はたったの 0.74%。まあ、こんなものでしょ。
月間60GBという転送量は、私の見積もりの範囲内なのでまったく問題ない。必要ならどんどんアクセスしてほしい。全体の転送量の80%が RSS というのはちょっと意外だったのだけど。infoseek からの移転先としてさくらインターネットを選んだ理由の一つは、転送量制限の値が高めで余裕があるからだ。
cl-full.xml は今日現在 4MB 弱のサイズがあるが、Accept-Encoding: gzip をつけて送れば900KB くらいに圧縮されたデータがサーバから返される。そのために 2005-09-15 の「mod_rewrite でリクエストに応じて gzip 圧縮ファイルを返す」などの仕組みを取り入れたんだけど、それが使われてなかったとしたら残念だ。無駄は嫌いなんだ。無駄、無駄、と。昨日のアクセスログを grep して調べてみる。
上記のようにして 200 OK で完結したリクエストのログをざーっと眺めてみる。うん、以下の Mozilla Thunderbird は圧縮された cl-full.xml を取ってきてるね。返された cl-full.xml のサイズが 942606 バイトになってる。
一方、 Accept-Encoding: gzip をリクエストにつけていないため、圧縮してないデータを返されたクライアントも結構あった。とくに、ロボットや Web 型 RSS リーダーのクローラーにこの傾向が強いように感じる。
以下、UserAgent 名だけ列挙。
Bloglines はちゃんと Accept-Encoding: gzip をつけてリクエストしてる。さすがだね。
そうだ。Accept-Encoding: gzip を送ってきてないクライアントは、HTTP 302 Moved Temporarily で RSS 広告社の Trend Match の RSS http://rss.rssad.jp/rss/qArzgZHGLg5Z/rss_0002 にリダイレクトするようにしよう。Trend Match から 返される RSS は gzip 圧縮がかかってないから、問答無用で圧縮したファイルを返すよりもずっといい。
2005-10-12 の「RSS広告社の広告プログラム Trend Match に参加」で書いたように、http://rss.rssad.jp/rss/qArzgZHGLg5Z/rss_0002 にアクセすると、Internal Server Error になってしまっていた。その後、2005-10-26 の「RSS広告社の Trend Match の RSS サイズ制限が緩和された?」で、エラーにならずにアクセスできるようになったのを確認した。正式対応のアナウンスはまだ無いが、いまのところ問題がない。そのうち cl-full.xml への全リクエストをリダイレクトしようかと思っていた。でもやっぱりいきなり全リクエストをリダイレクトするのは不安なので、まず一部だけでテストしたいところ。Accept-Encoding: gzip を送ってきてないリクエストにそのテスターになってもらうことにしよう。
さっそく mod_rewrite の RewriteRule を書こう。
できた。これを .htaccess に設定して、Firefox と LiveHttpHeaders の HTTP リクエストリプレイ機能で、Accept-Encoding: gzip があるリクエストと、ないリクエストの両方でテスト。よし、OK だ。これで全員が幸せになれるね。Win-Win-Win だ。
- Landscape - エンジニアのメモ 2005年10月のアクセス
総ページビューとか、人気のあったページとかはまあどうでもいいんだけど、いちおうメモ。ページビューは372969。約37万。Webalizer によるページビューなので、今までとはカウント方法が異なっている可能性はある。月間総転送量は 63557488KB。約60GB、一日あたり2GBというところか。なんだか減ってる気がする。旧サイトを置いていた infoseek isweb では、多いときで一日5GB、少ないときで1GBくらいだったと思う。平均すると一日あたり 3GB から 4GB くらいだったかな。移転後に転送量が減ってる理由は、移転に伴って検索エンジンの順位が下がったりとか、あとは 2005-09-15 の「mod_rewrite でリクエストに応じて gzip 圧縮ファイルを返す」などの効果のためだろう。
- sonic64.com の転送量の80%が RSS
興味深かったのが、転送量の内訳。infoseek ではこういう統計は提供されなかったし、httpd の生のアクセスログも提供されなかったので調べられなかったけど、今は生ログがもらえるので解析できた。解析の結果、転送量のほとんどが http://sonic64.com/cl-full.xml に集中してることがわかった。60GB の転送量のうち、50816191KB、すなわち 50GB 程度がこの RSS の転送のために使われていた。cl-full.xml は「すべての記事全文を含む RSS」 なので、サイズが大きいのは仕方がないが、それが sonic64.com の転送量の約80%を占めているとは、ちょっと意外だった。20%80%のパレートの法則を超えるような状態だ。
ちなみに、トップページ http://sonic64.com/ の月間転送量は 471425KB で、471MB。全体に占める割合はたったの 0.74%。まあ、こんなものでしょ。
月間60GBという転送量は、私の見積もりの範囲内なのでまったく問題ない。必要ならどんどんアクセスしてほしい。全体の転送量の80%が RSS というのはちょっと意外だったのだけど。infoseek からの移転先としてさくらインターネットを選んだ理由の一つは、転送量制限の値が高めで余裕があるからだ。
- HTTP リクエストヘッダ Accept-Encoding: gzip をちゃんと送ってる?
気になるのは、http://sonic64.com/cl-full.xml へアクセスするときに、HTTP リクエストヘッダ Accept-Encoding: gzip を送ってないクライアントが多いんじゃないかということ。cl-full.xml は今日現在 4MB 弱のサイズがあるが、Accept-Encoding: gzip をつけて送れば900KB くらいに圧縮されたデータがサーバから返される。そのために 2005-09-15 の「mod_rewrite でリクエストに応じて gzip 圧縮ファイルを返す」などの仕組みを取り入れたんだけど、それが使われてなかったとしたら残念だ。無駄は嫌いなんだ。無駄、無駄、と。昨日のアクセスログを grep して調べてみる。
grep 'GET /cl-full.xml' ~/log/access_log_`date +%Y%m%d` |grep ' 200 '
上記のようにして 200 OK で完結したリクエストのログをざーっと眺めてみる。うん、以下の Mozilla Thunderbird は圧縮された cl-full.xml を取ってきてるね。返された cl-full.xml のサイズが 942606 バイトになってる。
"GET /cl-full.xml HTTP/1.1" 200 942606 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.10) Gecko/20050716 Thunderbird/1.0.6"
一方、 Accept-Encoding: gzip をリクエストにつけていないため、圧縮してないデータを返されたクライアントも結構あった。とくに、ロボットや Web 型 RSS リーダーのクローラーにこの傾向が強いように感じる。
"GET /cl-full.xml HTTP/1.1" 200 4147427 "-" "Mozilla/4.0 (compatible; Google Desktop)"
以下、UserAgent 名だけ列挙。
InfoSeek RssReader/0.1"
FEEDBRINGER/0.1 (http://feedbringer.net/; 10 subscribers)"
Google Desktop
blogWatcher_crawler/0.2
Accelatech RSSCrawler/0.4
HepCat: http://www.witha.jp/
Hatena RSS/0.2 (http://r.hatena.ne.jp; 7 subscribers)
cococ/1.04
gooRSSreader2/2.0-build 20050818 (based on glucose)
Headline-Reader [t] (http://www.infomaker.jp/)
Bloglines はちゃんと Accept-Encoding: gzip をつけてリクエストしてる。さすがだね。
- Accept-Encoding: gzip なしのリクエストは mod_rewrite でリダイレクト
今のところ転送量にはまだ余裕がある。Accept-Encoding: gzip なしのリクエストを、圧縮しなきゃダメと 403 Forbidden で追い返したり、問答無用で圧縮したファイルを返すようなことはしたくない。でも、今時の HTTP クライアントなら Accept-Encoding: gzip くらい送ってきて欲しい。一般的なクライアント型 RSS リーダーだと、ファイアウォールソフトや proxy によって Accept-Encoding: gzip を削除されてしまうことがあるようだけど、ロボット系はそんなこともないだろうしなあ。そうだ。Accept-Encoding: gzip を送ってきてないクライアントは、HTTP 302 Moved Temporarily で RSS 広告社の Trend Match の RSS http://rss.rssad.jp/rss/qArzgZHGLg5Z/rss_0002 にリダイレクトするようにしよう。Trend Match から 返される RSS は gzip 圧縮がかかってないから、問答無用で圧縮したファイルを返すよりもずっといい。
2005-10-12 の「RSS広告社の広告プログラム Trend Match に参加」で書いたように、http://rss.rssad.jp/rss/qArzgZHGLg5Z/rss_0002 にアクセすると、Internal Server Error になってしまっていた。その後、2005-10-26 の「RSS広告社の Trend Match の RSS サイズ制限が緩和された?」で、エラーにならずにアクセスできるようになったのを確認した。正式対応のアナウンスはまだ無いが、いまのところ問題がない。そのうち cl-full.xml への全リクエストをリダイレクトしようかと思っていた。でもやっぱりいきなり全リクエストをリダイレクトするのは不安なので、まず一部だけでテストしたいところ。Accept-Encoding: gzip を送ってきてないリクエストにそのテスターになってもらうことにしよう。
さっそく mod_rewrite の RewriteRule を書こう。
RewriteCond %{REQUEST_URI} cl-full\.xml(\.gz)?$
RewriteCond %{HTTP:Accept-Encoding} !gzip
RewriteRule .+ http://rss.rssad.jp/rss/qArzgZHGLg5Z/rss_0002 [L,R]
できた。これを .htaccess に設定して、Firefox と LiveHttpHeaders の HTTP リクエストリプレイ機能で、Accept-Encoding: gzip があるリクエストと、ないリクエストの両方でテスト。よし、OK だ。これで全員が幸せになれるね。Win-Win-Win だ。
語尾変換プログラムで変換されたページが検索エンジンにインデックスされてしまい、それを見たオリジナルのサイトの作者が困っている。私は、語尾変換プロキシのサービス提供者はロボット避けを実装すべきだと考える。
によないざーが不評です
http://circle.cc.hokudai.ac.jp/cgi/ryu/tdiary/index.rb?date= ...
また、以下のようにページ自体の存在に困惑している人もいるようだ。
ツッコミ[6]
http://circle.cc.hokudai.ac.jp/cgi/ryu/tdiary/index.rb?date= ...
たとえば、「によないざー」という語尾変換プログラムを通すと、朝日新聞社の asahi.com も以下のように語尾に「にょ」が付く。
http://circle.cc.hokudai.ac.jp/cgi/ryu/rplace.rb?source=uri& ...
翻訳サイトなども同じような技術を使っている。以下は、Landscape を英語に翻訳したページ。こちらは当然ながら変換対象は語尾にとどまらない。
http://www.excite.co.jp/world/english/web/?wb_url=http%3A%2F ...
まず、変換結果ページが検索エンジンに載らないようにすることが効果的だろう。そうすれば人目に触れることが少なくなり、変換ページが内輪で完結する確率が高くなる。変換プログラム作成者側としても、オリジナルページの作成者から苦情があったときに「検索エンジンには載らないように対処してます」と言えるし。
meta タグによるロボット避けでもいいし、robots.txt によるロボット避けでもいい。
ちなみに前述のエキサイトの翻訳サービスでは robots.txt によるロボット避けを設定している。
http://www.excite.co.jp/robots.txt
次に、GET メソッドを使わずに、POST メソッドを使うこと。POST するには基本的にフォームを使う必要があるので、一般のユーザーには「変換アプリケーション」という特別なシステムである、という印象を与えることができる。特別なものなので、ただ、これだと問題があって、変換結果のページからリンクをたどったときは GET になってしまうので、JavaSctipt などで一工夫する必要がある。
あとは、エキサイトの翻訳サービスのように上部にフレームを設けたりするなどして、迷い込んできたユーザに情報を提示するなどしてもいい。
2004-02-07 の 「クマー アスキーアート化 Bookmarklet」も語尾変換プログラムと同じような技術だが、変換後のページの URL が存在しないという点が大きく異なる。何かのリソースに URL を与えると、そのリソースは「アクセスされたがっている」状態になる。その「アクセスされたがっている」リソースのせいで問題が起きるなら、それを解決する仕組みを考えなければならない。
時間がないので、今日はここまで。当記事にはあとで追記するかもしれない。
- 語尾変換プログラムの何が問題なのか
語尾変換プログラムを通した後の変換結果ページが Google などの検索エンジンにインデックスされ、多数の人の目に触れることが問題。によないざーが不評です
http://circle.cc.hokudai.ac.jp/cgi/ryu/tdiary/index.rb?date= ...
によないざーとは、昔作ったプログラムで、これを通すと語尾がにょ。になる似非変換プロキシーである。 はすみないざーなどにインスパイヤされて作成したものだ。
が、これによって変換された結果が、googleの検索結果に載るらしく、当該サイトの管理人さんから苦情のメールが来た。しかも僕個人宛ではなくサークルサーバー委員会あてである。
googleの検索結果にまで文句言われてもなあ。というのが正直なところなのだが。どういう対応が正解なのだろうか。
また、以下のようにページ自体の存在に困惑している人もいるようだ。
ツッコミ[6]
http://circle.cc.hokudai.ac.jp/cgi/ryu/tdiary/index.rb?date= ...
突然の書き込みお許し下さい。
先日、私のブログがそちらのプログラムで語尾を書き換えされたものがアップさせているのをみつけました。プログラムをみて誰かがやったものが残ってるのかと思いますが・・・どうやったら削除できますか。メールアドレスが公開されていなかったので・・・こちらで、すみません。
- 語尾変換プログラムとは
語尾変換プログラムは、文章の一部をを書き換える機能を持つ。たとえば、「によないざー」という語尾変換プログラムを通すと、朝日新聞社の asahi.com も以下のように語尾に「にょ」が付く。
http://circle.cc.hokudai.ac.jp/cgi/ryu/rplace.rb?source=uri& ...
翻訳サイトなども同じような技術を使っている。以下は、Landscape を英語に翻訳したページ。こちらは当然ながら変換対象は語尾にとどまらない。
http://www.excite.co.jp/world/english/web/?wb_url=http%3A%2F ...
- 語尾変換プログラム作成者は何をすればいいのか
変換結果を見たオリジナルページの作成者から問い合わせを受け、それに一つ一つ対処するというやり方では、双方の手間がかかりすぎる。また、そういった対処を煩わしく感じる語尾変換プログラム作成者がサービスをやめてしまうというのも寂しい。オリジナルページの作成者、語尾変換プログラム作成者、変換プログラム利用者それぞれにメリットがあるようするのが理想。まず、変換結果ページが検索エンジンに載らないようにすることが効果的だろう。そうすれば人目に触れることが少なくなり、変換ページが内輪で完結する確率が高くなる。変換プログラム作成者側としても、オリジナルページの作成者から苦情があったときに「検索エンジンには載らないように対処してます」と言えるし。
meta タグによるロボット避けでもいいし、robots.txt によるロボット避けでもいい。
ちなみに前述のエキサイトの翻訳サービスでは robots.txt によるロボット避けを設定している。
http://www.excite.co.jp/robots.txt
User-agent: *
Disallow: /relocate/
Disallow: /search.gw
Disallow: /world/english/web/body
Disallow: /world/chinese/web/body
Disallow: /world/korean/web/body
次に、GET メソッドを使わずに、POST メソッドを使うこと。POST するには基本的にフォームを使う必要があるので、一般のユーザーには「変換アプリケーション」という特別なシステムである、という印象を与えることができる。特別なものなので、ただ、これだと問題があって、変換結果のページからリンクをたどったときは GET になってしまうので、JavaSctipt などで一工夫する必要がある。
あとは、エキサイトの翻訳サービスのように上部にフレームを設けたりするなどして、迷い込んできたユーザに情報を提示するなどしてもいい。
- URL を与えるということ
個人的には、こういった変換プログラムは好きだ。「大阪弁変換プロキシ」とかで楽しんだ覚えがあるし。2004-02-07 の 「クマー アスキーアート化 Bookmarklet」も語尾変換プログラムと同じような技術だが、変換後のページの URL が存在しないという点が大きく異なる。何かのリソースに URL を与えると、そのリソースは「アクセスされたがっている」状態になる。その「アクセスされたがっている」リソースのせいで問題が起きるなら、それを解決する仕組みを考えなければならない。
時間がないので、今日はここまで。当記事にはあとで追記するかもしれない。
タスクマネージャを見ていたら POP3Trap.exe という名前のプログラムが動いている。私には心当たりがない。もしかしてウイルスやスパイウェアか? とドキドキしながら Google で POP3Trap.exe を検索するとヒット。
POP3Trap.exe はウイルスバスターが起動するプロセスだそうだ。POP3 の通信を検疫するため、ローカルに POP3 プロキシを立てて通信を中継している模様。最初は気味が悪いと思ったけど、まあウイルスチェックのためだし仕方ないかな。
Outlook Express だと勝手に POP サーバの設定エントリを localhost に書き換えて POP3Trap を経由するように設定するとのこと。Mozilla Thunderbird だと今のところそういった設定に書き換えられることは無いみたいだけど。
POP3Trap.exe はウイルスバスターが起動するプロセスだそうだ。POP3 の通信を検疫するため、ローカルに POP3 プロキシを立てて通信を中継している模様。最初は気味が悪いと思ったけど、まあウイルスチェックのためだし仕方ないかな。
Outlook Express だと勝手に POP サーバの設定エントリを localhost に書き換えて POP3Trap を経由するように設定するとのこと。Mozilla Thunderbird だと今のところそういった設定に書き換えられることは無いみたいだけど。
2004-12-02 に書いた「プロバイダ別 ntp サーバリスト」などをもとに、有志が ntp サーバ情報を書き込める wiki を作ってくれた。
プロバイダ別NTPサーバリスト - WikiRoom
http://www.wikiroom.com/?%A5%D7%A5%ED%A5%D0%A5%A4%A5%C0%CA%C ...
2005年1月23日追記。上記 wiki は消滅して以下に移転した模様。
NTP - wiki@nothing
http://wiki.nothing.sh/page/NTP
時刻合わせ総合スレッドに書き込まれた各プロバイダの ntp サーバ情報は 2004-12-02 にもいくつか反映させておいたが、私のページよりも上記 wiki の方が見てる人も書く人も多いので情報の質・鮮度・量において上。
私が 2004-12-02 の 「プロバイダ別 ntp サーバリスト」を書いた動機も、いつまでもボランティアの善意に甘えるわけにはいかないと思ったから。プロバイダのサービスとして ntp を提供してほしい。リストを作っておけば、それを読んだ人が自分のプロバイダの ntp サーバを使う確率が上がる。利用数が増えれば需要があるとプロバイダが判断して、より ntp のサービスが充実する。そうなって欲しいと思っていた。
私の「プロバイダ別 ntp サーバリスト」は、リストと名乗っている割には説明が多く、ntp サーバのホスト名が出てくるのは記事の後半になってからだ。ntp の仕組みや意義を知らない人が多いだろうと推測した結果、こういう構成になった。単にホスト名を羅列するだけでは意味がない。
http://slashdot.jp/articles/05/01/21/0214236.shtml?topic=12
ITmediaニュース:福岡大のNTPサーバがアクセス集中で悲鳴
http://www.itmedia.co.jp/news/articles/0501/21/news059.html
プロバイダ別NTPサーバリスト - WikiRoom
http://www.wikiroom.com/?%A5%D7%A5%ED%A5%D0%A5%A4%A5%C0%CA%C ...
2005年1月23日追記。上記 wiki は消滅して以下に移転した模様。
NTP - wiki@nothing
http://wiki.nothing.sh/page/NTP
時刻合わせ総合スレッドに書き込まれた各プロバイダの ntp サーバ情報は 2004-12-02 にもいくつか反映させておいたが、私のページよりも上記 wiki の方が見てる人も書く人も多いので情報の質・鮮度・量において上。
- 「プロバイダ別 ntp サーバリスト」を書いた理由
なんだかページビューが増えてるなと思ったら、いろんな所で 2004-12-02 の「プロバイダ別 ntp サーバリスト」が紹介されていた。福岡大の鶴岡助教授まで見てくださっていたとは光栄だ。その道のエキスパートに見られるのは怖さもあるけど、うれしさの方が大きいな。522 :福岡大学のNTP屋 [tsuruoka@fukuoka-u.ac.jp] :05/01/20 16:30:33 ID:u9Qqv67y
>>520
大学の回線を2Mbps近く食ってしまうのももったいないことですし、
ユーザにとっても精度を確保し難いわけですから、ISP内のタームサーバを
利用する方向に仕向けたいのです。
http://sonic64.hp.infoseek.co.jp/2004-12-02.html
のあたりは、それをよく説明してくれています。
学内でも居場所はそれほど自由でもないんですね。
10年前ならネットワーク構成も変更しやすかったのですが、今はどうにもなりません。
私が 2004-12-02 の 「プロバイダ別 ntp サーバリスト」を書いた動機も、いつまでもボランティアの善意に甘えるわけにはいかないと思ったから。プロバイダのサービスとして ntp を提供してほしい。リストを作っておけば、それを読んだ人が自分のプロバイダの ntp サーバを使う確率が上がる。利用数が増えれば需要があるとプロバイダが判断して、より ntp のサービスが充実する。そうなって欲しいと思っていた。
私の「プロバイダ別 ntp サーバリスト」は、リストと名乗っている割には説明が多く、ntp サーバのホスト名が出てくるのは記事の後半になってからだ。ntp の仕組みや意義を知らない人が多いだろうと推測した結果、こういう構成になった。単にホスト名を羅列するだけでは意味がない。
- こういう用途には wiki が便利
2004-12-02 の 「プロバイダ別 ntp サーバリスト」は、個人でメンテナンスして行くには限界がある。>>523 の言うとおり、wiki か何かでみんなで編集する方が良い。私の記事だっていろんな所から調べて来たのをまとめただけ。どんどん使って欲しい。2004-12-02 にリンクしておいてくれるとなおうれしいけど。523 :login:Penguin [sage] :05/01/20 16:43:24 ID:cdlCVAn2
>>522
このリスト、個人の日記に置いとくのはもったいないな。
http://linux2ch.bbzone.net/ あたりにページ作って
みんなでいじった方がよくないすか。
- リンク
スラッシュドット ジャパン | 福岡大学NTPサーバの混雑解消にご協力をhttp://slashdot.jp/articles/05/01/21/0214236.shtml?topic=12
ITmediaニュース:福岡大のNTPサーバがアクセス集中で悲鳴
http://www.itmedia.co.jp/news/articles/0501/21/news059.html
Microsoft の製品が使用するネットワークポート番号の一覧。
http://www.microsoft.com/downloads/details.aspx?FamilyID=dd6 ...
残念ながら MS Excel 形式での提供。しかも、ダウンロードの方法の説明文が間違っている。「ダウンロードのリンク」は存在せずフォームボタンしかない。
Excel をインストールしてなくても閲覧できるような配慮があるとうれしいんだけどなあ。簡単に参照できるように html 形式でも用意しておくとか。仕方がないので以下に自分用にメモ。Excel は持ってないので OpenOffice.org で開いてコピー & ペーストしたもの。
ブラウザの横幅を広げ、フォントサイズを小さくしないと見づらいかもしれない。でも、こういうリストってポート番号から調べる使い方が多いので、ポート番号さえ左端にあれば十分。何十個もカラムがあるわけでもないし、迅速に閲覧できることが重要。
2004-12-19 追記。詳細な内容を記述した html ページもあった。
Windows: Microsoft Windows サーバー システムのポート要件
http://support.microsoft.com/default.aspx?scid=kb;ja;832017
だめだめ日記(2004-12-19) から。
http://damedame.monyo.com/?date=20041219#p01
http://www.microsoft.com/downloads/details.aspx?FamilyID=dd6 ...
http://www.microsoft.com/downloads/details.aspx?FamilyID=dd6 ...
残念ながら MS Excel 形式での提供。しかも、ダウンロードの方法の説明文が間違っている。「ダウンロードのリンク」は存在せずフォームボタンしかない。
Excel をインストールしてなくても閲覧できるような配慮があるとうれしいんだけどなあ。簡単に参照できるように html 形式でも用意しておくとか。仕方がないので以下に自分用にメモ。Excel は持ってないので OpenOffice.org で開いてコピー & ペーストしたもの。
ブラウザの横幅を広げ、フォントサイズを小さくしないと見づらいかもしれない。でも、こういうリストってポート番号から調べる使い方が多いので、ポート番号さえ左端にあれば十分。何十個もカラムがあるわけでもないし、迅速に閲覧できることが重要。
2004-12-19 追記。詳細な内容を記述した html ページもあった。
Windows: Microsoft Windows サーバー システムのポート要件
http://support.microsoft.com/default.aspx?scid=kb;ja;832017
だめだめ日記(2004-12-19) から。
http://damedame.monyo.com/?date=20041219#p01
- Microsoft 製品が使用するポート番号一覧
Microsoft Windows Server System : ポート番号一覧http://www.microsoft.com/downloads/details.aspx?FamilyID=dd6 ...
マイクロソフトの製品が利用しているネットワークのポート番号を Excel のシートで参照することができます。
Port Protocol Network Service Network Service (日本語) System Service System Service (日本語) System Service Logical Name
7 TCP Echo Echo Simple TCP/IP Services 簡易 TCP/IP サービス SimpTcp
7 UDP Echo Echo Simple TCP/IP Services 簡易 TCP/IP サービス SimpTcp
9 TCP Discard Discard Simple TCP/IP Services 簡易 TCP/IP サービス SimpTcp
9 UDP Discard Discard Simple TCP/IP Services 簡易 TCP/IP サービス SimpTcp
13 TCP Daytime Daytime Simple TCP/IP Services 簡易 TCP/IP サービス SimpTcp
13 UDP Daytime Daytime Simple TCP/IP Services 簡易 TCP/IP サービス SimpTcp
17 TCP Quotd Quotd Simple TCP/IP Services 簡易 TCP/IP サービス SimpTcp
17 UDP Quotd Quotd Simple TCP/IP Services 簡易 TCP/IP サービス SimpTcp
19 TCP Chargen Chargen Simple TCP/IP Services 簡易 TCP/IP サービス SimpTcp
19 UDP Chargen Chargen Simple TCP/IP Services 簡易 TCP/IP サービス SimpTcp
20 TCP FTP default data FTP default data FTP Publishing Service FTP Publishing Service MSFtpsvc
21 TCP FTP control FTP control FTP Publishing Service FTP Publishing Service MSFtpsvc
21 TCP FTP control FTP control Application Layer Gateway Service アプリケーション層ゲートウェイ サービス ALG
23 TCP Telnet Telnet Telnet Telnet TlntSvr
25 TCP SMTP SMTP Simple Mail Transport Protocol Simple Mail Transport Protocol SMTPSVC
25 UDP SMTP SMTP Simple Mail Transport Protocol Simple Mail Transport Protocol SMTPSVC
25 TCP SMTP SMTP Exchange Server Exchange Server
25 UDP SMTP SMTP Exchange Server Exchange Server
42 TCP WINS Replication WINS Replication Windows Internet Name Service Windows インターネット ネーム サービス WINS
42 UDP WINS Replication WINS Replication Windows Internet Name Service Windows インターネット ネーム サービス WINS
53 TCP DNS DNS DNS Server DNS サーバー DNS
53 UDP DNS DNS DNS Server DNS サーバー DNS
53 TCP DNS DNS Internet Connection Firewall/Internet Connection Sharing インターネット接続ファイアウォール/インターネット接続の共有 SharedAccess
53 UDP DNS DNS Internet Connection Firewall/Internet Connection Sharing インターネット接続ファイアウォール/インターネット接続の共有 SharedAccess
67 UDP DHCP Server DHCP Server DHCP Server DHCP サーバー DHCPServer
67 UDP DHCP Server DHCP Server Internet Connection Firewall/Internet Connection Sharing インターネット接続ファイアウォール/インターネット接続の共有 SharedAccess
69 UDP TFTP TFTP Trivial FTP Daemon Service Trivial FTP Daemon Service tftpd
80 TCP HTTP HTTP Windows Media Services Windows Media サービス WMServer
80 TCP HTTP HTTP World Wide Web Publishing Service World Wide Web 発行サービス W3SVC
80 TCP HTTP HTTP SharePoint Portal Server SharePoint Portal Server
88 TCP Kerberos Kerberos Kerberos Key Distribution Center Kerberos キー配布センター Kdc
88 UDP Kerberos Kerberos Kerberos Key Distribution Center Kerberos キー配布センター Kdc
102 TCP X.400 X.400 Microsoft Exchange MTA Stacks Microsoft Exchange MTA Stacks
110 TCP POP3 POP3 Microsoft POP3 Service Microsoft POP3 サービス POP3SVC
110 TCP POP3 POP3 Exchange Server Exchange Server
119 TCP NNTP NNTP Network News Transfer Protocol Network News Transfer Protocol NntpSvc
123 UDP NTP NTP Windows Time Windows Time W32Time
123 UDP SNTP SNTP Windows Time Windows Time W32Time
135 TCP RPC RPC Message Queuing メッセージ キュー msmq
135 TCP RPC RPC Remote Procedure Call リモート プロシージャ コール RpcSs
135 TCP RPC RPC Exchange Server Exchange Server
135 TCP RPC RPC Certificate Services 証明書サービス CertSvc
135 TCP RPC RPC Cluster Service クラスタ サービス ClusSvc
135 TCP RPC RPC Distributed File System 分散ファイルシステム DFS
135 TCP RPC RPC Distributed Link Tracking 分散リンクトラッキング TrkSvr
135 TCP RPC RPC Distributed Transaction Coordinator 分散トランザクション コーディネータ MSDTC
135 TCP RPC RPC Event Log イベント ログ Eventlog
135 TCP RPC RPC Fax Service Fax サービス Fax
135 TCP RPC RPC File Replication ファイル複製 NtFrs
135 TCP RPC RPC Local Security Authority ローカル セキュリティ機関 LSASS
135 TCP RPC RPC Remote Storage Notification Remote Storage Notification Remote_Storage_User_Link
135 TCP RPC RPC Remote Storage Server リモート記憶域サーバー Remote_Storage_Server
135 TCP RPC RPC Systems Management Server 2.0 Systems Management Server 2.0
135 TCP RPC RPC Terminal Services Licensing ターミナル サービス ライセンス TermServLicensing
135 TCP RPC RPC Terminal Services Session Directory ターミナル サービス セッション ディレクトリ Tssdis
137 TCP NetBIOS Name Resolution NetBIOS 名前解決 Computer Browser Computer ブラウザ Browser
137 UDP NetBIOS Name Resolution NetBIOS 名前解決 Computer Browser Computer ブラウザ Browser
137 TCP NetBIOS Name Resolution NetBIOS 名前解決 Server サーバー サービス lanmanserver
137 UDP NetBIOS Name Resolution NetBIOS 名前解決 Server サーバー サービス lanmanserver
137 TCP NetBIOS Name Resolution NetBIOS 名前解決 Windows Internet Name Service Windows インターネット ネーム サービス WINS
137 UDP NetBIOS Name Resolution NetBIOS 名前解決 Windows Internet Name Service Windows インターネット ネーム サービス WINS
137 TCP NetBIOS Name Resolution NetBIOS 名前解決 Net Logon Net Logon Netlogon
137 UDP NetBIOS Name Resolution NetBIOS 名前解決 Net Logon Net Logon Netlogon
137 TCP NetBIOS Name Resolution NetBIOS 名前解決 Systems Management Server 2.0 Systems Management Server 2.0
137 UDP NetBIOS Name Resolution NetBIOS 名前解決 Systems Management Server 2.0 Systems Management Server 2.0
138 UDP NetBIOS Datagram Service NetBIOS Datagram Service Computer Browser Computer ブラウザ Browser
138 UDP NetBIOS Datagram Service NetBIOS Datagram Service Messenger メッセンジャー Messenger
138 UDP NetBIOS Datagram Service NetBIOS Datagram Service Server サーバー サービス lanmanserver
138 UDP NetBIOS Datagram Service NetBIOS Datagram Service Net Logon Net Logon Netlogon
138 UDP NetBIOS Datagram Service NetBIOS Datagram Service Distributed File System 分散ファイル システム Dfs
138 UDP NetBIOS Datagram Service NetBIOS Datagram Service Systems Management Server 2.0 Systems Management Server 2.0
138 UDP NetBIOS Datagram Service NetBIOS Datagram Service License Logging Service ライセンス ログ サービス LicenseService
139 TCP NetBIOS Session Service NetBIOS Session Service Computer Browser Computer ブラウザ Browser
139 TCP NetBIOS Session Service NetBIOS Session Service Fax Service Fax サービス Fax
139 TCP NetBIOS Session Service NetBIOS Session Service Performance Logs and Alerts パフォーマンス ログと警告 SysmonLog
139 TCP NetBIOS Session Service NetBIOS Session Service Print Spooler 印刷スプーラ Spooler
139 TCP NetBIOS Session Service NetBIOS Session Service Server サーバー サービス lanmanserver
139 TCP NetBIOS Session Service NetBIOS Session Service Net Logon Net Logon Netlogon
139 TCP NetBIOS Session Service NetBIOS Session Service Remote Procedure Call Locator リモート プロシージャ コール ロケータ RpcLocator
139 TCP NetBIOS Session Service NetBIOS Session Service Distributed File System 分散ファイル システム Dfs
139 TCP NetBIOS Session Service NetBIOS Session Service Systems Management Server 2.0 Systems Management Server 2.0
139 TCP NetBIOS Session Service NetBIOS Session Service License Logging Service ライセンス ログ サービス LicenseService
143 TCP IMAP IMAP Exchange Server Exchange サーバー
161 UDP SNMP SNMP SNMP Service SNMP サービス SNMP
162 UDP SNMP Traps Outbound SNMP Traps Outbound SNMP Trap Service SNMP Trap サービス SNMPTRAP
270 TCP MOM 2004 MOM 2004 Microsoft Operations Manager 2004 Microsoft Operations Manager 2004 MOM
389 TCP LDAP Server LDAP Server Local Security Authority ローカル セキュリティ機関 LSASS
389 UDP LDAP Server LDAP Server Local Security Authority ローカル セキュリティ機関 LSASS
389 TCP LDAP Server LDAP Server Distributed File System 分散ファイル システム Dfs
389 UDP LDAP Server LDAP Server Distributed File System 分散ファイル システム Dfs
443 TCP HTTPS HTTPS HTTP SSL HTTP SSL HTTPFilter
443 TCP HTTPS HTTPS World Wide Web Publishing Service World Wide Web 発行サービス W3SVC
443 TCP HTTPS HTTPS SharePoint Portal Server SharePoint Portal Server
445 TCP SMB SMB Fax Service Fax サービス Fax
445 UDP SMB SMB Fax Service Fax サービス Fax
445 TCP SMB SMB License Logging Service ライセンス ログ サービス LicenseService
445 UDP SMB SMB License Logging Service ライセンス ログ サービス LicenseService
445 TCP SMB SMB Print Spooler 印刷スプーラ Spooler
445 UDP SMB SMB Print Spooler 印刷スプーラ Spooler
445 TCP SMB SMB Server サーバー サービス lanmanserver
445 UDP SMB SMB Server サーバー サービス lanmanserver
445 TCP SMB SMB Remote Procedure Call Locator リモート プロシージャ コール ロケータ RpcLocator
445 UDP SMB SMB Remote Procedure Call Locator リモート プロシージャ コール ロケータ RpcLocator
445 TCP SMB SMB Distributed File System 分散ファイルシステム Dfs
445 UDP SMB SMB Distributed File System 分散ファイルシステム Dfs
445 TCP SMB SMB Net Logon Net Logon Dfs
445 UDP SMB SMB Net Logon Net Logon Dfs
500 UDP IPSec ISAKMP IPSec ISAKMP IPSec Services IPSec サービス PolicyAgent
515 TCP LPD LPD TCP/IP Print Server TCP/IP Print Server LPDSVC
548 TCP File Server for Macintosh File Server for Macintosh File Server for Macintosh File Server for Macintosh MacFile
554 TCP RTSP RTSP Windows Media Services Windows Media サービス WMServer
563 TCP NNTP over SSL NNTP over SSL Network News Transfer Protocol Network News Transfer Protocol NntpSvc
593 TCP RPC over HTTP RPC over HTTP Remote Procedure Call リモート プロシージャ コール RpcSs
593 TCP RPC over HTTP RPC over HTTP Exchange Server Exchange Server
636 TCP LDAP SSL LDAP SSL Local Security Authority ローカル セキュリティ機関 LSASS
636 UDP LDAP SSL LDAP SSL Local Security Authority ローカル セキュリティ機関 LSASS
993 TCP IMAP over SSL IMAP over SSL Exchange Server Exchange Server
995 TCP POP3 over SSL POP3 over SSL Exchange Server Exchange Server
1270 TCP MOM-Encrypted MOM-Encrypted Microsoft Operations Manager 2000 Microsoft Operations Manager 2000 one point
1433 TCP SQL over TCP SQL over TCP Microsoft SQL Server Microsoft SQL Server SQLSERVR
1433 TCP SQL over TCP SQL over TCP MSSQL$UDDI MSSQL$UDDI SQLSERVR
1434 UDP SQL Probe SQL Probe Microsoft SQL Server Microsoft SQL Server SQLSERVR
1434 UDP SQL Probe SQL Probe MSSQL$UDDI MSSQL$UDDI SQLSERVR
1645 UDP Legacy RADIUS Legacy RADIUS Internet Authentication Service インターネット認証サービス IAS
1646 UDP Legacy RADIUS Legacy RADIUS Internet Authentication Service インターネット認証サービス IAS
1701 UDP L2TP L2TP Routing and Remote Access ルーティングとリモート アクセス RemoteAccess
1723 TCP PPTP PPTP Routing and Remote Access ルーティングとリモート アクセス RemoteAccess
1755 TCP MMS MMS Windows Media Services Windows Media サービス WMServer
1755 UDP MMS MMS Windows Media Services Windows Media サービス WMServer
1801 TCP MSMQ MSMQ Message Queuing メッセージ キュー msmq
1801 UDP MSMQ MSMQ Message Queuing メッセージ キュー msmq
1812 UDP RADIUS Authentication RADIUS 認証 Internet Authentication Service インターネット認証サービス IAS
1813 UDP RADIUS Accounting RADIUS アカウンティング Internet Authentication Service インターネット認証サービス IAS
1900 UDP SSDP SSDP SSDP Discovery Service SSDP Discovery Service SSDPRSRV
2101 TCP MSMQ-DCs MSMQ-DCs Message Queuing メッセージ キュー msmq
2103 TCP MSMQ-RPC MSMQ-RPC Message Queuing メッセージ キュー msmq
2105 TCP MSMQ-RPC MSMQ-RPC Message Queuing メッセージ キュー msmq
2107 TCP MSMQ-Mgmt MSMQ-Mgmt Message Queuing メッセージ キュー msmq
2393 TCP OLAP Services 7.0 OLAP Services 7.0 SQL Server: Downlevel OLAP Client Support SQL Server: Downlevel OLAP Client Support
2394 TCP OLAP Services 7.0 OLAP Services 7.0 SQL Server: Downlevel OLAP Client Support SQL Server: Downlevel OLAP Client Support
2460 UDP MS Theater MS Theater Windows Media Services Windows Media サービス WMServer
2535 UDP MADCAP MADCAP DHCP Server DHCP サーバー DHCPServer
2701 TCP SMS Remote Control (control) SMS リモート コントロール(コントロール) SMS Remote Control Agent SMS リモート コントロール エージェント
2701 UDP SMS Remote Control (control) SMS リモート コントロール(コントロール) SMS Remote Control Agent SMS リモート コントロール エージェント
2702 TCP SMS Remote Control (data) SMS リモート コントロール(データ) SMS Remote Control Agent SMS リモート コントロール エージェント
2702 UDP SMS Remote Control (data) SMS リモート コントロール(データ) SMS Remote Control Agent SMS リモート コントロール エージェント
2703 TCP SMS Remote Chat SMS Remote Chat SMS Remote Control Agent SMS リモート コントロール エージェント
2703 UDP SMS Remote Chat SMS Remote Chat SMS Remote Control Agent SMS リモート コントロール エージェント
2704 TCP SMS Remote File Transfer SMS Remote File Transfer SMS Remote Control Agent SMS リモート コントロール エージェント
2704 UDP SMS Remote File Transfer SMS Remote File Transfer SMS Remote Control Agent SMS リモート コントロール エージェント
2725 TCP SQL Analysis Services SQL Analysis Services SQL 2000 Analysis Server SQL 2000 Analysis Server
2869 TCP UPNP UPNP Universal Plug and Play Device Host ユニバーサル プラグ アンド プレイ サービス UPNPHost
2869 TCP SSDP event notification SSDP event notification SSDP Discovery Service SSDP Discovery Service SSDPRSRV
3268 TCP Global Catalog Server グローバル カタログ サーバー Local Security Authority ローカル セキュリティ機関 LSASS
3269 TCP Global Catalog Server グローバル カタログ サーバー Local Security Authority ローカル セキュリティ機関 LSASS
3343 UDP Cluster Services クラスタ サービス Cluster Service クラスタ サービス ClusSvc
3389 TCP Terminal Services ターミナル サービス NetMeeting Remote Desktop Sharing NetMeeting リモート デスクトップ共有 mnmsrvc
3389 TCP Terminal Services ターミナル サービス Terminal Services ターミナル サービス TermService
3527 UDP MSMQ-Ping MSMQ-Ping Message Queuing メッセージ キュー msmq
4011 UDP BINL BINL Remote Installation Remote Installs BINL サービス BINLSVC
4500 UDP NAT-T NAT-T Routing and Remote Access ルーティングとリモート アクセス RemoteAccess
5000 TCP SSDP legacy event notification SSDP legacy event notification SSDP Discovery Service SSDP Discovery Service SSDPRSRV
5004 UDP RTP RTP Windows Media Services Windows Media サービス WMServer
5005 UDP RTCP RTCP Windows Media Services Windows Media サービス WMServer
42424 TCP ASP.Net Session State ASP.Net Session State ASP.NET State Service ASP.NET State Service aspnet_state
51515 TCP MOM-Clear MOM-Clear Microsoft Operations Manager 2000 Microsoft Operations Manager 2000 one point
2004-12-01 の「winsntp windows 用 高機能 sntp クライアント」に続き、ntp を使った時計あわせの話。
当たり前だけど、ntp/sntp クライアントだけでは時刻を合わせることはできない。サーバが必要だ。では、どこのサーバを使ったらよいのか。
そして、ネットワーク的に近いことが重要。日本からアメリカの ntp サーバを使って同期させることもできるけど、トラフィック削減と通信の安定を図るためには、できるだけ近くのサーバを利用する方が良い。私は stratum 値よりもネットワーク的に近いかどうかを重視する。stratum 1 だからといって、帯域が太く遅延が小さい良い回線と安定した ntp デーモンを持っているとは限らないからだ。遠くの stratum1 より近くの stratum2。
・・・あ、例外があった。仕事場の出勤時刻・退勤時刻を記録しているマシンの管理者は、あえて時刻あわせをしていないと言っていた。理由を聞いてみると、「勤怠管理マシンの時計は遅れる方向にずれる時計だから」という答えが返ってきた。つまり、進みがちな時計を持った勤怠管理マシンは困るが、遅れがちな時計を持った勤怠マシンは重宝ということ。遅刻者を減らすための親心だそうだ。たかが数分猶予があってもあんまり変わらないと思うかもしれないが、サッカーだってロスタイムでのプレイが勝敗を決めることがある。時間の価値というのは人によって変化するものなのだ。
話がそれた。つまり、管理者なら正確な時刻の重要性をよくわかっている。そういう管理者なら、一般ユーザ向けの ntp/sntp サーバを用意しているはずだ。
Experimental NTP Servers (Public Stratum 2)
http://www.jst.mfeed.ad.jp/
あとは Google で公開 ntp サーバを検索すれば大学や研究機関などが提供する公開 ntp サーバが見つかるだろう。
おまけで2つ公開 ntp サーバを書いておく。追記した RingServer の ntp サーバも入れると3つか。
WindowsXP 標準のタイムサーバ。タスクトレイの時計をダブルクリックして出てくるダイアログの「インターネット時刻」タブの初期設定サーバ。安定していない印象がある。これを使うくらいなら mfeed.ad.jp を使おう。
Mac 標準の ntp サーバ? 名前から推測するに、アップルのアジア向け ntp サーバかな。
2005年3月18日追記。RingServer が ntp サービスを始めた模様。個人的には実績があって安定してる mfeed.ad.jp を使うけど、それに代わる存在として活用できるだろう。たとえば、組み込みの機器のデフォルト参照先にするとか。
Ring Server Project が NTP サーバのサービスを開始
http://www.ring.gr.jp/ring/ntp.html.ja
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/357
NTPサービス
http://origin.ocn.ne.jp/ocnweb/support/staff2/ntp.html
ぷららQ&A
http://www.plala.or.jp/access/study/setup/
【テレホ不可】so-net総合スドレ Part2
http://pc6.2ch.net/test/read.cgi/isp/1065281821/309
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/316
2005年1月21日追記。サービスが終わったらしいという情報があった。
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/589
asahi-net: 設定ガイド: 各種サーバー一覧
http://www.asahi-net.or.jp/guide/0000.htm
DION の ntp サーバは 2004-12-02 の時点でも Google などで探したんだけど、全く情報がなかったので存在しないと思ってた。
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
さくらインターネットはレンタルサーバのイメージがあるけど、プロバイダもやってたんだっけ。
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/646
Excite:BB.excite接続サービス 〜フレッツ対応プロバイダ〜
http://cdn.excite.co.jp/service/guide/faq/?mode=4#06
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/781
当たり前だけど、ntp/sntp クライアントだけでは時刻を合わせることはできない。サーバが必要だ。では、どこのサーバを使ったらよいのか。
- ネットワーク的に近く、stratum 値が小さいサーバが良い
ntp/sntp では stratum という指標を使う。stratum の値が小さいほど、原子時計や GPS などの時刻の発生器に近い ntp サーバだ。つまり、stratum 値が小さいほど精度が高い。そして、ネットワーク的に近いことが重要。日本からアメリカの ntp サーバを使って同期させることもできるけど、トラフィック削減と通信の安定を図るためには、できるだけ近くのサーバを利用する方が良い。私は stratum 値よりもネットワーク的に近いかどうかを重視する。stratum 1 だからといって、帯域が太く遅延が小さい良い回線と安定した ntp デーモンを持っているとは限らないからだ。遠くの stratum1 より近くの stratum2。
- 具体的にどこのサーバがいいのか
自分の利用しているプロバイダや所属する企業が ntp サーバを提供しているなら、それを使おう。ネットワーク的にも近くなるし、精度とトラフィックの節約の観点からも良い選択だ。- 時刻合わせはマシン管理者の基本
多数のマシンを管理している管理者であれば、必ず ntp/sntp などを使って管理しているマシンの時計を合わせるようにしているはずだ。それぞれのマシンの時計がてんでばらばらでは、日々取得してるログの時刻を信頼することができない。また、cron などで毎日決まった時刻にスケジュールしているジョブの稼働時刻も信頼できなくなってしまう。ソースコード管理システムのタイムスタンプが不正確なのも困る。正確な時刻をサービスすることは基本中の基本だ。・・・あ、例外があった。仕事場の出勤時刻・退勤時刻を記録しているマシンの管理者は、あえて時刻あわせをしていないと言っていた。理由を聞いてみると、「勤怠管理マシンの時計は遅れる方向にずれる時計だから」という答えが返ってきた。つまり、進みがちな時計を持った勤怠管理マシンは困るが、遅れがちな時計を持った勤怠マシンは重宝ということ。遅刻者を減らすための親心だそうだ。たかが数分猶予があってもあんまり変わらないと思うかもしれないが、サッカーだってロスタイムでのプレイが勝敗を決めることがある。時間の価値というのは人によって変化するものなのだ。
話がそれた。つまり、管理者なら正確な時刻の重要性をよくわかっている。そういう管理者なら、一般ユーザ向けの ntp/sntp サーバを用意しているはずだ。
- 公開 ntp サーバを使う
運悪く自分のプロバイダや所属している組織が ntp サーバを提供していない場合は、公開 ntp サーバを使う。日本からだったら精度とネットワーク的な距離を勘案しても、mfeed.ad.jp の ntp サーバがベストだろう。Experimental NTP Servers (Public Stratum 2)
http://www.jst.mfeed.ad.jp/
ntp1.jst.mfeed.ad.jp (210.173.160.27)
ntp2.jst.mfeed.ad.jp (210.173.160.57)
ntp3.jst.mfeed.ad.jp (210.173.160.87)
あとは Google で公開 ntp サーバを検索すれば大学や研究機関などが提供する公開 ntp サーバが見つかるだろう。
おまけで2つ公開 ntp サーバを書いておく。追記した RingServer の ntp サーバも入れると3つか。
WindowsXP 標準のタイムサーバ。タスクトレイの時計をダブルクリックして出てくるダイアログの「インターネット時刻」タブの初期設定サーバ。安定していない印象がある。これを使うくらいなら mfeed.ad.jp を使おう。
time.windows.com
Mac 標準の ntp サーバ? 名前から推測するに、アップルのアジア向け ntp サーバかな。
time.asia.apple.com
2005年3月18日追記。RingServer が ntp サービスを始めた模様。個人的には実績があって安定してる mfeed.ad.jp を使うけど、それに代わる存在として活用できるだろう。たとえば、組み込みの機器のデフォルト参照先にするとか。
Ring Server Project が NTP サーバのサービスを開始
http://www.ring.gr.jp/ring/ntp.html.ja
ntp.ring.gr.jp
- プロバイダ別 ntp サーバリスト
日本の代表的な大手のプロバイダの ntp サーバを調べてみた。ただし、プロバイダ提供の ntp サーバはその会員のみ利用可能にしている場合があるので、外部から接続してもファイアウォールで弾かれてしまい、サービスの生存確認ができない場合がある。- Yahoo BB の ntp サーバは ntp.bbtec.net ?
いままで存在しないと思いこんでたけど、Yahoo BB ユーザ向けの ntp サーバ ntp.bbtec.net が存在する模様。Yahoo BB 外からは接続できなかった。2005年5月15日 に頂いたメールによると、Yahoo! BB 内からは接続できるとのこと。時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/357
357 :login:Penguin :04/03/07 15:38 ID:svzsNHyq
お、ntp.bbtec.net なんてのもあった
- OCN の ntp サーバ
いずれも OCN の外からでも接続できた。NTPサービス
http://origin.ocn.ne.jp/ocnweb/support/staff2/ntp.html
ntp-tk01.ocn.ad.jp (東日本用)
ntp-tk02.ocn.ad.jp (東日本用)
ntp-os01.ocn.ad.jp (西日本用)
- ぷららの ntp サーバ
テスト中の模様。いずれもぷららの外からでも接続できた。ぷららQ&A
http://www.plala.or.jp/access/study/setup/
■NTPサーバ<試行サービス>
東日本エリアの方 西日本エリアの方
プライマリ ntp1.plala.or.jp ntp2.plala.or.jp
セカンダリ ntp2.plala.or.jp ntp1.plala.or.jp
- so-net の ntp サーバ
いずれも so-net の外からでも接続できた。【テレホ不可】so-net総合スドレ Part2
http://pc6.2ch.net/test/read.cgi/isp/1065281821/309
309 :名無しさんに接続中… :04/02/17 18:59 ID:vM4QNcSP
So-netってNTPサーバー用意してない?
310 :名無しさんに接続中… :04/02/17 22:21 ID:NMQ9aadl
>>309
昔、サポートに問い合わせたことある。
| So-netではサービスとしてNTPサーバーをご提供しておりません。
| So-netネットワーク内でご利用いただけるサーバー名を以下にご紹介させて
| いただきますのでお試しください。
|
| サーバー名 : ux02.so-net.ne.jp
| ポート : 123
|
| なお、上記のNTPサーバーは予告なくサービスを停止する場合がございますので予
| めご了承ください。
311 :名無しさんに接続中… :04/02/17 23:43 ID:1BRHb/jk
ntp.so-net.ne.jp で普通に時刻が引けますよ…
- ODN の ntp サーバ
ODN の外からでは接続できなかった。廃止されたのか、接続制限のせいなのかは不明。時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/316
316 :login:Penguin :03/12/07 08:03 ID:17bNG255
ODN にもあった。例によって判りやすい名前(w
ntp1.odn.ne.jp
2005年1月21日追記。サービスが終わったらしいという情報があった。
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/589
589 :login:Penguin [sage] :05/01/21 18:21:56 ID:QviypMgH
おれODNだけどntp1.odn.ne.jpに繋がらなかったよ
終了したと思われ。
- asahi-net の ntp サーバ
asahi-net の外からでも接続できた。asahi-net: 設定ガイド: 各種サーバー一覧
http://www.asahi-net.or.jp/guide/0000.htm
ntp.asahi-net.or.jp
- DION の ntp サーバ
2005年1月21日追記。括弧の中の値は stratum値だそうだ。? マークが付いてるけど。DION の ntp サーバは 2004-12-02 の時点でも Google などで探したんだけど、全く情報がなかったので存在しないと思ってた。
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
ntp02.dion.ne.jp (?)
ntp03.dion.ne.jp (?)
- WAKWAK の ntp サーバ
2005年1月21日追記。括弧の中の値は stratum値だそうだ。時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
ntp1.wakwak.com (3)
ntp2.wakwak.com (3)
- USEN の ntp サーバ
2005年1月21日追記。括弧の中の値は stratum値だそうだ。時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
ntp01.usen.ad.jp (3)
ntp02.usen.ad.jp (3)
ntp03.usen.ad.jp (3)
- SAKURA Internet の ntp サーバ
2005年1月21日追記。括弧の中の値は stratum値だそうだ。さくらインターネットはレンタルサーバのイメージがあるけど、プロバイダもやってたんだっけ。
時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/568
ntp1.sakura.ad.jp (1) IPv6対応 :-)
- BB.Excite の ntp サーバ
2005年1月21日追記。時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/646
646 :login:Penguin :05/01/21 21:30:05 ID:3X2wq/UM
BB.Exciteなら
つ ntp.excite.co.jp
See:
http://cdn.excite.co.jp/service/guide/faq/?mode=4
Excite:BB.excite接続サービス 〜フレッツ対応プロバイダ〜
http://cdn.excite.co.jp/service/guide/faq/?mode=4#06
Q. NTPサーバのアドレスを教えてください。
A. ntp.excite.co.jpを設定して下さい。
なお、当社の正式なサービスではございませんので、動作が不安定になることや予告なく機能が停止する場合がございます。あらかじめご了承ください。
- biglobe の ntp サーバ
2005年1月22日追記。時刻合わせ総合スレッド
http://pc5.2ch.net/test/read.cgi/linux/1008318869/781
781 :login:Penguin [sage] :05/01/22 19:19:02 ID:uL1i5yci
BIGLOBEのNTPサーバ見つけた!
ntp01.tk.mesh.ad.jp
ntp02.tk.mesh.ad.jp
ntp03.tk.mesh.ad.jp
3つとも stratum 2。網外からは接続不可。
日経バイト2004年7月号の Yahoo BB ネットワーク設計者 平宮康広氏の話はちょっと面白かった。BB テクノロジー社の前身と、Yahoo BB のネットワーク構築思想が語られていた。
この人はこういう経歴だったのか。社員二人しかいないのに宣伝のために駅前でティッシュ配りをしようかと話していた、というくだりには笑った。
DHCP 問題やファイル共有問題についても語られていた。この問題はずいぶん前にいろんなところで読んだ気がするが、設計者が語ったものは初めて読んだと思う。平宮氏はこの問題発生時には直接関わっていなかったとのこと。原因は DSLAM のフィルタを VoIP 開始に伴って外してしまい、ブロードキャストを通すようにしてしまったことと、ルータの HSRP (Hot Standby Routing Protocol) の設定ミスだそうだ。
そういえば、日経IT Pro に掲載されていた P2P よりも経路情報のトラフィックの方が多いという記述はなかったな。あ、IT Pro のは日経コミュニケーション誌のインタビューか。聞き手も違うな。日経コミュニケーションのバックナンバーを何冊か見てみたが、該当の記事は見つけられなかった。本誌には掲載しない Web だけの記事なのかな。
P2Pは悪くない,事業者が考えるべき策はまだある : IT Pro インタビュー
http://itpro.nikkeibp.co.jp/free/NCC/INTERVIEW/20040728/1478 ...
この人はこういう経歴だったのか。社員二人しかいないのに宣伝のために駅前でティッシュ配りをしようかと話していた、というくだりには笑った。
DHCP 問題やファイル共有問題についても語られていた。この問題はずいぶん前にいろんなところで読んだ気がするが、設計者が語ったものは初めて読んだと思う。平宮氏はこの問題発生時には直接関わっていなかったとのこと。原因は DSLAM のフィルタを VoIP 開始に伴って外してしまい、ブロードキャストを通すようにしてしまったことと、ルータの HSRP (Hot Standby Routing Protocol) の設定ミスだそうだ。
そういえば、日経IT Pro に掲載されていた P2P よりも経路情報のトラフィックの方が多いという記述はなかったな。あ、IT Pro のは日経コミュニケーション誌のインタビューか。聞き手も違うな。日経コミュニケーションのバックナンバーを何冊か見てみたが、該当の記事は見つけられなかった。本誌には掲載しない Web だけの記事なのかな。
P2Pは悪くない,事業者が考えるべき策はまだある : IT Pro インタビュー
http://itpro.nikkeibp.co.jp/free/NCC/INTERVIEW/20040728/1478 ...
Port80 Software: Fortune 1000 HTTP Compression Survey
http://www.port80software.com/surveys/top1000compression/#ch ...
以下をチェックしてくれる。
・指定した url のサイトでは http 圧縮がされているかどうか
・圧縮されているならフォーマットは何か。deflate なのか gzip なのか。
・圧縮されてないときは、仮に圧縮したらどの程度のサイズになり、どれくらい高速化できるか
Port 80 に telnet して Accept-encoding: gzip 付きのリクエストを送ってレスポンスを見ればいいんだけど、フォームから確認できるのは簡単でいい。
Webビジネスコンサルタントのネタ帳「パケット料金が気になるなら圧縮転送を試すべき」から。
http://neta.ywcafe.net/000107.html
知らなかった。Content-Encoding に対応してるなんて、今の i-mode って高機能なんだなあ。
追記。i-mode が Content-Encoding 対応というのは誤報だった模様。
http://www.port80software.com/tools/compresscheck.asp?url=ht ...
http://www.port80software.com/surveys/top1000compression/#ch ...
以下をチェックしてくれる。
・指定した url のサイトでは http 圧縮がされているかどうか
・圧縮されているならフォーマットは何か。deflate なのか gzip なのか。
・圧縮されてないときは、仮に圧縮したらどの程度のサイズになり、どれくらい高速化できるか
Port 80 に telnet して Accept-encoding: gzip 付きのリクエストを送ってレスポンスを見ればいいんだけど、フォームから確認できるのは簡単でいい。
Webビジネスコンサルタントのネタ帳「パケット料金が気になるなら圧縮転送を試すべき」から。
http://neta.ywcafe.net/000107.html
そしてiモードなどの携帯電話用ブラウザも、とっくの昔から対応している。
知らなかった。Content-Encoding に対応してるなんて、今の i-mode って高機能なんだなあ。
追記。i-mode が Content-Encoding 対応というのは誤報だった模様。
- 2ちゃんねるを救ったのも gzip だったなあ
そういえば、2001年8月の 2ch.net の閉鎖の危機、いわゆる「8月危機」を救ったのも gzip ということになってたなあ。あのときの2ちゃんねるは確か160Mbps というすさまじい転送量に悩んでいた。なんとかして転送量を減らしたいが、ホスティング先との契約だか手間だかの問題で、mod_gzip なんてインストールできないとのことだった。結局、read.cgi 改良チームは 直接 gzip コマンドを呼び出して圧縮させるというすごい手法を選んだ。そのときの2ちゃんねるは転送量に悩んではいたが CPU は余ってたのでこの方法でも劇的な効果を上げていた。- Landscape は gzip 転送されてるのかな
やってみよう。http://www.port80software.com/tools/compresscheck.asp?url=ht ...
Compression status: Uncompressedあ、生なんだ。infoseek は CPU 負荷を気にしてるのかな。
サーバを設置しにとあるデータセンターへ行った。そこで Linux マシン2台がネットワークにつながらないというトラブルに見舞われた。今後、類似のトラブルを招かぬよう、教訓とするためメモしておく。また、このメモを読んだ人がトラブルを疑似体験できるように、結論から書くことはせずに、時系列に沿って書くことにする。
デフォルトゲートウェイを 10.16.50.129 に設定。
ブロードキャストアドレスは 10.16.50.191 に設定。
この環境で、まずデフォルトゲートウェイ 10.16.50.129 に ping が通らない。
ブロードキャストアドレスに ping -b しても返ってこない。
10.16.50.145 から 10.16.50.146 に ping しても返ってこない。
10.16.50.146 から 10.16.50.145 に ping しても返ってこない。
ping のサイズを変えてみる。
/sbin/ifconfig で、ドロップパケットと エラーパケットが発生していないかを確認。どちらも値はゼロ。Full Duplex なのでコリジョンも発生していない。
Catalyst 2950 にログインして確認。ポートは 100Base Full 固定で動作中。ドロップもエラーも発生していない。ICMP パケットは受け取っているようだ。
10.16.50.145 から ping を Catalyst 2950 の管理用アドレスに流しっぱなしにして、ethereal で パケットをキャプチャしてみる。キャプチャ結果で見る限り、パケットは Linux マシンから正常に Catalyst に飛んでいるようだ。しかし、リプライが返ってこない。キャプチャを続けていると、不可解な現象2が起きた。
10.16.50.129 ではなく、10.16.50.130 が正しいアドレスだった。これが今回の障害の原因だ。
まったくこんなことで30分以上悩むなんて、もう二度としちゃいけないよなあ。
同じサブネット内だったらブロードキャストアドレスに arp して MAC アドレスを解決しさえすれば、後はそのノードだけで通信ができるはず。
- 現象
Linux マシンは2台。それぞれの IP アドレスは 10.16.50.145/26 と 10.16.50.146/26 が割り当てられている。ネットワークインターフェイスはどちらのマシンも一つのみ。デフォルトゲートウェイを 10.16.50.129 に設定。
ブロードキャストアドレスは 10.16.50.191 に設定。
この環境で、まずデフォルトゲートウェイ 10.16.50.129 に ping が通らない。
ブロードキャストアドレスに ping -b しても返ってこない。
10.16.50.145 から 10.16.50.146 に ping しても返ってこない。
10.16.50.146 から 10.16.50.145 に ping しても返ってこない。
- 確認したこと
スイッチは Cisco Catalyst 2950。スイッチのポートは 100Base-TX Full Duplex 固定なので、Linux マシンの NIC が 100Base Full 固定になっていることを確認。/etc/modules.conf のパラメータは正しく 100Base Full を指定していた。念のため dmesg でカーネルメッセージを確認したところ、100 Full で Link up していた。eth0: Intel(R) 8255x-based Ethernet Adapter
Mem:0xfa021000 IRQ:11 Speed:100 Mbps Dx:Full
Hardware receive checksums enabled
ping のサイズを変えてみる。
ping -s 1000 10.16.50.129として、パケットのサイズを大きくしてみるが、やはり返ってこない。
/sbin/ifconfig で、ドロップパケットと エラーパケットが発生していないかを確認。どちらも値はゼロ。Full Duplex なのでコリジョンも発生していない。
Catalyst 2950 にログインして確認。ポートは 100Base Full 固定で動作中。ドロップもエラーも発生していない。ICMP パケットは受け取っているようだ。
10.16.50.145 から ping を Catalyst 2950 の管理用アドレスに流しっぱなしにして、ethereal で パケットをキャプチャしてみる。キャプチャ結果で見る限り、パケットは Linux マシンから正常に Catalyst に飛んでいるようだ。しかし、リプライが返ってこない。キャプチャを続けていると、不可解な現象2が起きた。
- 現象2
ping を30秒くらい流しっぱなしにしていると、突如リプライが返ってくる。表示を見ると、シーケンス番号 1から40のリプライが返ってきているが、その次のリプライのシーケンス番号は70に飛ぶ。シーケンス番号だけを見ると、周期的につながったり切れたりを繰り返しているように見える。- わからない
まったくもって原因がわからない。現象2から察するに、何かタイムアウトを待ってるような気もするが、わからない。こういうときは下のレイヤから疑っていくべきだと思い、ケーブルとスイッチの交換を提案しようとしたとき、担当者の一人が気づいた。「デフォルトゲートウェイのアドレスって、10.16.50.129 で良かったんでしたっけ?」- 原因判明
データセンターが発行した資料に書かれていたデフォルトゲートウェイのアドレスが間違っていた。10.16.50.129 ではなく、10.16.50.130 が正しいアドレスだった。これが今回の障害の原因だ。
- 教訓
ネットワークにつながらないときは、もう一度 IP アドレス、サブネットマスク、デフォルトゲートウェイをネットワーク管理者 (ここ重要) に確認しよう。まったくこんなことで30分以上悩むなんて、もう二度としちゃいけないよなあ。
- 疑問
10.16.50.145 から 10.16.50.146 への ping は同じサブネット内の通信なのに、なんでデフォルトゲートウェイのアドレスが関係あるんだろう?同じサブネット内だったらブロードキャストアドレスに arp して MAC アドレスを解決しさえすれば、後はそのノードだけで通信ができるはず。
- 疑問への回答と教訓2
ping コマンドが DNS を逆引きしようとしていたようだ。そのため、ローカルの通信でも DNS を引きに行こうとするが、DNS サーバは同じセグメントには存在しない。同じセグメントに存在しないので、ping はデフォルトゲートウェイを経由して名前解決をしようとするが、肝心のデフォルトゲートウェイのアドレスが間違っているため、パケットを渡しても中継されずにタイムアウトしてしまう。今回は素の ping ではなく、逆引きをしない ping -n を使うべきだったのだ。連載:ロードバランサの本質(1)パケットフローから負荷分散の基本を理解する 〜NAT/コネクションテーブル/MAT〜
http://www.atmarkit.co.jp/fnetwork/rensai/lb01/lb01.html
負荷分散装置を利用したシステム構築
http://www.soi.wide.ad.jp/iw2001/slides/11/11-1/
http://ultramonkey.jp/
http://ultramonkey.jp/2.0.1/topologies/
Linux仮想サーバーを使用したレイヤ4スイッチング
リバースプロキシ & ロードバランサ − Pound
http://www10.ocn.ne.jp/~sayu/other/pound.html
レイヤ7でのロードバランシングが可能
pound
http://www.apsis.ch/pound/
The Linux Virtual Server Project - Linux Server Cluster
http://www.linuxvirtualserver.org/
mod_perl における C10K Problem
http://www.google.co.jp/search?q=cache:y_K-VLZSdd4J:shibuya. ...
応用事例
ネットワーク負荷分散技術 概要
http://www.microsoft.com/japan/windows2000/techinfo/howitwor ...
Windwos 版 Ultra Monkey みたいな機能。NLB と呼ばれる。Windows2003 Serer か、Windows2000 Advanced Server が必要。
heart beat 検出のために複数の NIC が必要。
http://www.atmarkit.co.jp/fnetwork/rensai/lb01/lb01.html
負荷分散装置を利用したシステム構築
http://www.soi.wide.ad.jp/iw2001/slides/11/11-1/
- ソフトウェアロードバランサ
UltraMonkey - VA Linux Systems ジャパンhttp://ultramonkey.jp/
http://ultramonkey.jp/2.0.1/topologies/
Linux仮想サーバーを使用したレイヤ4スイッチング
リバースプロキシ & ロードバランサ − Pound
http://www10.ocn.ne.jp/~sayu/other/pound.html
レイヤ7でのロードバランシングが可能
pound
http://www.apsis.ch/pound/
The Linux Virtual Server Project - Linux Server Cluster
http://www.linuxvirtualserver.org/
mod_perl における C10K Problem
http://www.google.co.jp/search?q=cache:y_K-VLZSdd4J:shibuya. ...
応用事例
ネットワーク負荷分散技術 概要
http://www.microsoft.com/japan/windows2000/techinfo/howitwor ...
Windwos 版 Ultra Monkey みたいな機能。NLB と呼ばれる。Windows2003 Serer か、Windows2000 Advanced Server が必要。
heart beat 検出のために複数の NIC が必要。
- 書籍
TCP の 3ウェイハンドシェイク (3way handshake) の SYN や ACK の略称ではない名前。
SYN: synchronize
ACK: acknowledge
RFC 793 TRANSMISSION CONTROL PROTOCOL
サーバは SYN + ACK をクライアントに返信する。
クライアントは ACK をサーバに送信する。これで TCP 接続が成立する。
SYN: synchronize
ACK: acknowledge
RFC 793 TRANSMISSION CONTROL PROTOCOL
- 3ウェイハンドシェイクによる接続の流れ
クライアントが SYN をサーバに送信する。サーバは SYN + ACK をクライアントに返信する。
クライアントは ACK をサーバに送信する。これで TCP 接続が成立する。
1023 番までのポートを well known port と呼ぶ。
では、それ以降の1024番から65535番までのポートを何と呼ぶかというと、
ephemeral port と呼ぶそうな。ephemeral は「儚い」とか、「短命な」という意味だそうだ。
http://dictionary.goo.ne.jp/search.php?MT=%65%70%68%65%6D%65 ...
エフェメラルってなんか発音しにくいなあ。
では、それ以降の1024番から65535番までのポートを何と呼ぶかというと、
ephemeral port と呼ぶそうな。ephemeral は「儚い」とか、「短命な」という意味だそうだ。
http://dictionary.goo.ne.jp/search.php?MT=%65%70%68%65%6D%65 ...
エフェメラルってなんか発音しにくいなあ。
ちょっとデータ転送量について計算。
もう少し厳密に計算する。
100Mpbs = 12.5MB/Second = 750MB/Min = 45GB/Hour = 1080GB/Day = 32.4TB/Month = 379TB/Year
300TB から 400TB 弱というところ。テラバイトか。逆に言うと、1テラバイトのハードディスクを100Mps の LAN で転送しようとすると一日がかりの仕事になるってことだ。ギガビットイーサが欲しくなるね。
441000 * 16 * 2 / 8 = 1764000byte
172.265625 KB/Sec
10.09368896484375 MB/Min
606 MB/Hour
14.1942501068115234375 GB/Day
425.827503204345703125 GB/Month
5.05947391502559185028076171875 TB/Year
上記にプロトコルごとのヘッダなどのオーバーヘッド加わるので、実際のデータ量はもっと大きくなるはず。
- 100Mbps フルに転送し続けた場合のデータ量
10 MB/Second = 600 MB/Min = 35 GB/Hour = 863 GB/Day = 24 TB/Month = 288 TB/Yearもう少し厳密に計算する。
100Mpbs = 12.5MB/Second = 750MB/Min = 45GB/Hour = 1080GB/Day = 32.4TB/Month = 379TB/Year
300TB から 400TB 弱というところ。テラバイトか。逆に言うと、1テラバイトのハードディスクを100Mps の LAN で転送しようとすると一日がかりの仕事になるってことだ。ギガビットイーサが欲しくなるね。
- 44.1KHz 16bit 2ch を転送し続けた場合のデータ転送量
CD 音質のデータである 44.1KHz 16bit 2ch を転送し続けた場合のデータ転送量。441000 * 16 * 2 / 8 = 1764000byte
172.265625 KB/Sec
10.09368896484375 MB/Min
606 MB/Hour
14.1942501068115234375 GB/Day
425.827503204345703125 GB/Month
5.05947391502559185028076171875 TB/Year
上記にプロトコルごとのヘッダなどのオーバーヘッド加わるので、実際のデータ量はもっと大きくなるはず。