More from: サーバ

static-routeの記事に間違いが・・・・・・

4/22の記事に書いたstatic-routesの記述。
間違いあったorz、、、、、
>ネットワーク単位の場合は
>インターフェイス host ネットワークアドレス gw ゲートウェイアドレス netmask サブネットマスク
>のようだ。
と書いたけど、本当は
hostのところがnetとなるので、
インターフェイス(全部ならany) net ネットワークアドレス gw ゲートウェイアドレス netmask サブネットマスク
か、
インターフェイス(全部ならany) net ネットワークアドレス netmask サブネットマスク gw ゲートウェイアドレス
か、
インターフェイス(全部ならany) net ネットワークアドレス/マスクビット数 gw ゲートウェイアドレス
となるようだ。
routeコマンドで経路情報を追加する時はtargetのアドレスでクラスを判断する(特にプライベートアドレスの場合)ので、マスクの指定は無くても良いとのことだ。
そのために記述時にネットマスクを忘れてしまいがち。
けっこうstatic-routesで検索してくる人が多いので修正&追加しておくことにしよう。

←クリックしてくれると嬉しいです。

かぁーなぁーりぃ

腹が立ってる。
500VAのUPSから業務用FAXの電源取るか?ふつー
おかげで過負荷になってサーバ2台とネットワーク機器全ての電源が落ちたじゃねーか!

バカ野郎ー!!と叫びたい気分。
どっかで憂さ晴らししてくっかぁ?

←クリックしてくれると嬉しいです。

VISTAの不思議

今週頭の福岡出張の目的であるアプリケーションのインストールは問題なく終わったかの様だったが、昨日になって問題が発生した。
そのアプリがサーバと接続できなくなったという連絡が入った。
さらにデスクトップに起動用にショートカットを置いてきたのだが、それも無くなっているという。
最初はネットワークのトラブルかと思ったが、IEでのWEBブラウジングやネットワークプリンタへの印刷は問題なく行えるというので、ネットワークの問題では無さそう。
じゃぁWindowsファイヤーウォールで接続が遮断されているかも知れないと思い、設定を確認してもらうとファイヤーウォール設定の例外にそのアプリが登録されていないとのこと。
インストール後の設定時にファイヤーウォールのブロックに引っ掛かり、その際にブロックを解除しているし、なによりも一昨日までは問題なく接続できていたのだから、例外に登録されていないわけは無い。
アプリを再インストールしてみようと思い、まずはアンインストールしようとしたが、インストール情報が無くなっているのか「プログラムのアンインストール」の中にそのアプリが無く、アンインストールが出来ない。
ならばと強制的に上書きしようとしてインストーラを起動すると動作中ということでインストーラが強制終了してしまう。
じゃぁWindowsの機能の一つである「システムの復元」で問題なく動作していた時点に戻そうとした。
最初に直近の復元ポイントに戻す処理をしたが、再起動後に「不明なエラー」が発生し復元に失敗。
たまたま復元ポイントが壊れていたのかと思い、その一つ前のポイントに戻そうとしたが結果は同じ。
さらにもう一つ前も同じだったので復元は諦めた。WEBで検索してみるとVISTAの「システムの復元」に失敗している事例は山ほど出てくるが、対処法が見つからなかった。VISTAのBUGだろうか?
今のところ問題は未解決のまま。VISTAのリカバリなんぞやりたくは無いし、そもそもそのPCは2000Kmの彼方だぞ?
どうすりゃいいんだぁ?なんか良い手は無いかなぁ?、、、、、、、

←クリックしてくれると嬉しいです。

LANカードだったのかなぁ?

昨日のサーバ、メモリテストではエラーが出なかったので、LANカードを交換してみた。
まずは同じ型番のカードと交換したが改善せず。
ドライバファイルかカーネルの一部が破損したのを疑い、カーネルのリコンパイルとモジュールのリコンパイルをして入れ替えてみた。
それでも改善しないので他のチップを使ったカードと交換したところ、OSのブート時にドライバが読み込まれない。
insmodで手動で組み込むとまともに動作するが、起動時にドライバが読み込まれないと、起動の度に<コンソール>での操作が必要になり、遠隔地には置けない。
マザー自体を交換して(メモリも一緒に交換した)元のLANカードに戻したが最初と同じくパケットが飛ばない。
(ifconfigで見るとTXではエラーが無いが、RXでエラーが発生しているので、送信はしているが応答を受信できないみたい)
ということはハードウェアの問題では無いようだ。カーネルもドライバ(モジュール)もリコンパイルしているので、単なるファイルの破損でもなさそう。
ってことは何が悪いんだろうか?
このままでは埒が明かないので動作したLANカードを使うことにして、起動時にドライバを読み込ませる方法を探ったところ、/etc/conf.modulesでalias設定がされているのを発見。
元のカードのモジュール名が指定されているので、それを新しいカードのモジュール名に書き換えて再起動すると無事にドライバが読み込まれて動作するようになった。
なんとか復旧して使えるようになったが、元々の原因がはっきりしないのが気に食わない。一体何が起こっていたのか謎である。
ちなみにパケットが飛ばなくなったカードは3Comの3C905B、代わりに入れたのがRTL8139D搭載の安物カード。
ドライバは3c59x.oとrtl8139.o。

←クリックしてくれると嬉しいです。

SPAM

SPAMと言えばポークランチョンミートの缶詰の商品名の一つ。
自分的にはTULIPのほうが好みだなぁ。

ってな話ではなく、日本語で言うところの「迷惑メール」の話。
職場で受信するSPAMが5000通/日にもなるというので、ブロックするためのアドレス収集を再開した。
2週間程ほぼ毎日受信メールから送信元アドレスを抜き出して/etc/mail/accessに追加する作業をした結果、5000通→1500通程に減少した。
これはsendmailの場合の対処法で、qmail等他のMTAでは別の方法となる。
実際のアドレス収集は自動で行い、その中から受信が必要なアドレスを例外アドレスとして別途収集し、残りを上記のファイルに追加している。
/bin/grep ^From: ”メールスプールファイル名” | /bin/grep @ | /bin/sed “s/^From:.*</From:/” | /bin/sed “s/>//” | /bin/sed “s/ //g” | /bin/sed “s/(.*)//” | /bin/sed “s/$/ DROP/” | /bin/sort | /usr/bin/uniq | /bin/grep -v -f ”例外アドレスを列記したファイルを指定”
上記のようなスクリプトを組んで自動収集をしている。泥臭いやり方だがこれでもアドレスの収集が出来ていて、実際に効果があがっている。
このスクリプトでやっているのは、
1.受信したメールが入っているスプールファイルから送信者のメールアドレス(From行)を切り出す。
2.余分な単語を削除(sedコマンドの繰り返し)した後に行末に”DROP”の文字列を追加。
3.アルファベット順への並び直し(sortコマンドの実行)。
4.同一のアドレスがある場合は一つのみ切り出す(uniqコマンドの実行)。
5.例外アドレスを列記したファイル中にあるアドレスを”grep -v -f”で除去。
これで得られた文字列(”From:hogehoge@geshogesho.com DROP”)をファイルに書き出し新たに例外に追加するアドレスが無いかをチェックした後に/etc/mail/accessファイルに追加してmakeを実行してaccess.dbに反映している。
行の最後を”REJECT”ではなく”DROP”にしているのは余計なトラフィックを発生させないため。
また、たとえREJECTでエラーメールを送り返そうとしても、返す先のアドレスが実在するかどうかが不明で、もしも実在しないアドレスだった場合(むしろそのほうが可能性が高い)にエラーメールが返って来るのを防ぐため。
それにしても相変わらず迷惑メールが多いなぁ。法律が制定されてから初めて適用されたのがつい最近っていうもどうかと思う。
受信者の同意無しに無差別に送るメールにはSubjectに「未承諾広告」と入れなくてはならない筈なのに、最近はそのようなメールを見かけない。
一見まともな内容に見えるメールでも、このような基本的なルールが守られていない。もっと取締りを強化して貰いたいものだ。

←クリックしてくれると嬉しいです。

福岡出張

今度は本当にありそう、、、、、
サーバーの設置や設定、クライアントの接続とかやることが結構ありそう・・・・・
まぁ、さすがに日帰りは無さそうだけど、一泊二日ってのも辛そうだなぁ。
昔、北九州には何度も行ってるけど、最短でも二泊三日で行って、1日目の夕方に着いて仕事して、二日目はまるまる一日仕事、で三日目の朝一に現地を出て帰ってくるというのをよくやってた。
今回は作業量を考えると丸一日では終わらなさそうだから、三泊四日ぐらいの日程にしたいなぁ。

←クリックしてくれると嬉しいです。

HDD破損?

職場でファイルサーバにしているLinuxPC内のデータにアクセスできないとの連絡があったので、管理している担当者に連絡しておいた。
勤務後に買い物にいくつもりだったので、そろそろ帰ろうかとしていたタイミングでその担当者から連絡が来た。
聞いてみるとユーザーデータを入れてあるパーティションがmount出来ないとのこと。
fsckをかけてもエラーになり、ディスクのチェックが出来ないと言う。
試しにe2fsckをかけてみると、super blockが読み込めないので替わりのsuper blockを指定しろとのこと。
代替super blockの位置が判らないので、「mke2fs -n」で表示させてみると1ブロックサイズが4Kだったので32768にあることが判明。
そこで「e2fsck -b 32768 /dev/*****」で再度ディスクのチェックを実行すると、複数のエラーが存在したが、それらを修復したところ、無事にmountが出来た。
あとは担当者にデータのバックアップと移動をしてそちらをユーザーに公開するように指示して自分の作業は終了。
でも予定していた買い物には行けなかった(涙)。

←クリックしてくれると嬉しいです。

経路情報

先日再起動時に一部の経路情報を忘れてしまったサーバ。
ここにも書いたように設定を修正したので、起動時に反映されるかをチェックしたら無事に反映されていた。
やはり最初の記述方法が誤っていたようだ。
また追加したSWAPファイルも/etc/fstabに記述を追加しておいたので、
ちゃんとSWAPファイルとして認識されて一安心。

←クリックしてくれると嬉しいです。

VGAカード

職場のWindowsサーバからディスプレイへ画像信号が行かなくなり、デスクトップどころか何も表示されなくなって久しいので、今日(既に昨日か)サーバを止めてVGAカードを交換してみた。
交換そのものはすぐに終わったので電源を入れるとうんともすんとも言わない(汗)。
電源ユニットのリセットとかいろいろやっても電源が入らない。
電源ケーブルを接続して電源ユニットのSWを入れると、LANポートのLEDが点灯するので、通電はしているようだが、電源SWを押しても反応なし。
まぁここで考えられるのは交換したVGAカードが原因ということだ。
あまり長時間サーバを止めておく訳にもいかないので、元のVGAカードを刺すと電源が入るようになった。
無事に電源が入ったので一安心。さらに映らなかった画面にBIOSの設定画面が表示されているではないか!
これは電源の入れ直しで治ったか?と思ったが、Windowsの起動中は映っていたがVGAのドライバを読み込んだあたりで再度映らなくなってしまった。
映らない原因がハードウェアにあるのかソフトウェアにあるのかの切り分けが出来なくなってしまった。
またチャンスをみて試してみよう。

←クリックしてくれると嬉しいです。

static-routes

先日職場のサーバを再起動したところ一部のPCからネットに接続できないとの連絡が来た。
別のサブネットに属するPCだったので、再起動したサーバのルーティング情報が消えたのが原因。
とりあえず
route add -net XXX.XXX.XXX.XXX YYY.YYY.YYY.YYY
で経路情報を追加したが、以前起動時に自動で設定されるようにしていたはず。
そこで/etc/sysconfig/static-routesを見直すと記述内容に不足があって設定が反映されていなかった(爆)。
/etc/sysconfig/static-routesで経路を設定する時はホスト単位とネットワーク単位でパラメータが違うのに気がついていなかった。
ホスト単位の場合は
インターフェイス host ホスト名orIPアドレス gw ゲートウェイアドレス
ネットワーク単位の場合は
インターフェイス host ネットワークアドレス gw ゲートウェイアドレス netmask サブネットマスク
のようだ。
上記のように記述を修正したので次回の再起動時に反映されるかをチェックしよう。

つーか今晩サーバ停止する予定があるし(笑)。

←クリックしてくれると嬉しいです。