More from: サーバ

いきなりネットに繋がらなくなった(汗)

OUTLOOK2003について少々調べ物をしていたところに
「ネットに繋がらないんですけどー」
という問い合わせが入ってきた。
大半のPCはネットへの接続にプロキシサーバを経由しているので、(ここのところ調子が悪いこともあって)早速プロキシサーバの生存を確認したが、問題なく動作している(ように見えた)。
ところがプロキシの動作ログを見ると、要求されたアクセスは全てエラーとなっている。
つまりクライアント側からは全く接続できていない状態ということだ。
エラーの内容を見ると、なんと名前解決が出来ないというもの。
ここでプロキシのプロセスだけが名前解決が出来ないのか、それとも全てのプロセスで名前解決が出来ないのか(つまりnamedで名前解決が出来ないのか)を調べるためにhostコマンドを使ってwww.yahoo.co.jpのアドレスを取得しようとしたが、hostコマンドが終わらない(待ちに入ったままで終了しない)。
つまり、全システム的に名前解決が出来ないということが判明。
最初はネームデーモン(named)自体のトラブルかと思い、いろいろ試してみたが症状に変化が無いので、思い切ってサーバのリブートまでしてしまった(汗)。
ところが、リブートしても名前解決が出来ないままだったので、これは外部に原因があるのではないかと疑い、上位のネームサーバを疑ってみた。
そこで/etc/resolv.confに別のネームサーバのアドレスを追加してnamedを再起動したところ、(時間はかかるけれど)無事に名前解決が出来るようになった。
つまり、参照していた上位のネームサーバが何らかの理由でサービスを停止していたと言う訳だ。
試しに
host www.yahoo.co.jp ”応答が無いネームサーバのアドレス”
としてみると確かに応答してこない。
次に
host www.yahoo.co.jp ”応答のあるネームサーバのアドレス”
とすると即座に
Address: xxx.xxx.xxx.xxx(応答のあるネームサーバのアドレス)#53
Aliases:

www.yahoo.co.jp is an alias for www.ya.gl.yahoo.co.jp.
www.ya.gl.yahoo.co.jp has address 124.83.235.204
と回答が返って来る。
やはり外部のネームサーバが原因だったということだ。
時間がかかるのはファイルの上のほうに書いたサーバに問い合わせを出して、それがダメなら次のサーバに問い合わせを出すためなので、応答が無いサーバの記述をファイルの最後に回したところ、応答速度が改善された。

こんな事象は初めてだったので解決まで30分以上もかかってしまった。過去に同じ事例があればもっと早く解決できていたのになぁ、、、、、

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

CENT OSのインストールCD

RED HAT系のフリーのOSであるCENT OSは現在5.5が最新らしいけど、インストール用のイメージファイルを見てびっくり。
なんとCD-ROMだと7枚にもなるのね、、、、、、
DVDのイメージだとファイル容量が約3.9GBなので、こっちだと一枚で済むけど、最近購入したサーバだとDVDからのインストールで躓くことが多いので、CD-ROMのインストールメディアを作ることにした。

それにしても7枚かぁ、、、、、、、、、、焼くのが面倒だなぁ(爆)

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

タイムサーバに同期できないサーバがまだあった・・・・・

10/19付けの記事「NTPで時刻同期が出来ないサーバ」で書いたようなサーバがまだあった。
ファイルサーバにしているサーバの時刻が狂っていて、保存したファイルの更新時刻が未来の時刻になっていることに気付き、調べてみると前回と同様にタイムサーバに同期できない状態だった。
原因は前回と同じで自分自身のみしかアクセス出来ないようにしていたので、対処方法も前回と同じにしたところ、無事に同期動作が始まった。
うーん、普段問題なく動いていると監視が疎かになるなぁ、、、、、、

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

トラブルじゃ無かったんだ

昨日接続できなかった札幌市のウェブサイトは、トラブルではなくサーバー室移転作業に伴う工事のための計画的なサービス停止だったとのこと。
今朝になって見てみると、トップページに

札幌市公式ホームページ一時停止のお知らせ

平成22年(2010年)11月27日(土)9時~24時の間、サーバ室の移転作業に伴い、
札幌市役所公式ホームページが停止します。
利用者の皆さまにはご迷惑をおかけいたしますが、ご了承ください。

との記述があった。

でもなぁ、予定していたんだったら、別サーバでも立ててサービス停止中でもこの一文だけは読めるようにしておいて欲しかった。
毎日のようにアクセスするわけでは無いし、必ずしもトップページから入っていくわけでも無いのだから、上記の告知文を目にしない人だって大勢いた筈。
ちょっと不親切だよなぁー、と思った次第だが、機材のトラブルとかクラッキングされたとかでは無かったようで安心した。

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

sambaで繋がらなかったのは(汗)

先日ここに書いたサブネットをまたいで繋がらなかったsambaサーバーはなんとか繋がった。
いろいろと調べてマスタブラウザの設定やら、WINSサーバがどうたらとかの情報が出てきたが、結局のところそんな面倒なことでは無かった。
いろいろ調べた情報を見ながら/etc/samba/smb.confの内容を見ていたら、global sectionにある「hosts allow」で、自分が所属するサブネットと127.0.0.0(自分自身)のアドレスしか書いてなかった。
これは自分が所属するサブネットのクライアントと自分自身からのアクセスしか許可しないということなので、ここに繋げたいクライアントのサブネットを記述することで無事に接続できるようになった。
具体的には
hosts allow = 192.168.1. 127.
となっていたので、これを
hosts allow = 192.168.1. 192.168.2. 127.
のように「192.168.2.」の部分を書き加えたというわけ。
こんな単純なことで週末悩んでいたのはちと恥ずかしいかも(汗)

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

delegatedが起動しなくて悩んだ

職場のサーバの一台が非常に重くてクライアントから接続できないとの連絡があり、試しに自席のPCからログインしようとしたところ、タイムアウトでログインできない。
仕方が無いので現場に行ってみるとディスプレイに一瞬だけログイン画面が表示されたが、すぐにブラックアウトしてしまい状態の確認が出来ない。
かといって放っておく訳にも行かないので、電源SWを押して自動でシャットダウンをさせたが電源が落ちない。
最後の手段で電源SWを長押しして電源を切り、すぐに電源を入れなおしたところ無事に起動したが、やはりログイン画面が一瞬で消えてしまう(ディスプレイには信号が行っている)。
とにかく起動自体は出来たので、近くのPCからログインしてみると問題なく入れた。
これでひとまずは安心と思っていたが、午後になってそのサーバ経由での印刷が出来ないとの連絡が入ってきた。
サブネット間のルーターの役目もしているサーバなので、パケットの中継がうまくいっていないのが原因と思い、試しに他のサーバから反対側のサブネットの特定のホストにpingを打ったが返事が無い。
ということで中継に使っていたdelegatedが起動しているかをチェックしたところ全く起動していなかった。
以前このサーバを扱ったのはかなり前だったので、記憶を頼りにdelegated用の起動ファイルを探し、そのファイルを使って起動してみたが、
NG, this executable is not signed
のメッセージが出て起動しない。
これは以前から良く出ていた現象で、makeし直して実行ファイルを/usr/sbinの下にコピーすればとりあえず動くことを覚えていたので、早速その通りにしたがやっぱり動かない(あれ?)。
いろいろ調べて
/usr/sbin/delegated -Fesign -w
を実行してサインをし直したところ、上記のエラーは出なくなったが、今度は
ERROR: NO ACTIVE PORT
とのエラーでやはり起動しない。
うーーーーん、、、、、、、、、困った・・・・・・・・

で、気付いたのは
「要はパケットフォワーディングが出来ればいいんじゃないか!」
ということ。
で、
/proc/sys/net/ipv4/ip_forward
の中身をチェックすると”1”となっていたので、パケットフォワーディングは有効になっていた。
さらに
/etc/sysctl.conf
の中にも
net.ipv4.ip_forward = 1
と記述されている。
だとすると反対側のサブネットまでパケットは到達しているはず。
あれぇ?おかしいなぁ?と思い、それまで試さなかったホストへpingを打つとしっかり返事が来たorz
なんと複数のIPアドレスに向けてpingを打っていたが、全て動いていないホストだったらしい、、、、、、、
不調の連絡をくれた部署に連絡すると、すでに印刷は出来るようになっているということだった(設定を多少変更したとのこと)。
存在しない問題に1時間以上も時間を費やしてしまった、、、、、、

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

ネットワーク上でスキャナを共有するにはどうしたら良いんだろう?

職場の一部署から「複数台のPC(OSはWindowsXp、VISTA)でUSBのスキャナを使いたいが、どのようにしたら良いのか?」という問い合わせが来た。
聞くと使う度にPCから取り外して運ぶのが面倒だとのこと。
「同じ室内なんだからそんな怠慢をせずに持ち歩け!」と言えれば良いのだが、そんなことは言える訳も無く「判りました、調べます」と答えておいた。

プリンタとかHDDはWindowsが標準で持っている共有機能を使えば簡単に共有できるが、残念ながらスキャナのようなTWAIN機器ではそれが出来ない。
いくつか方法はあるが、比較的簡単なのはLANインターフェイスを持つスキャナや複合機を購入してLANに繋ぐ方法。
これだと機器に共有用クライアントソフトが付いていることが多いので、そのクライアントソフトをインストールすれば大概使えるようになる。
ところが今回使いたいというスキャナはLANインターフェイスを持たないので、この方法は使えない。
で、探してみるとUSB機器をネットワーク上で共有することができるという「USBデバイスサーバー」なる製品があった。
複数のメーカーから発売になっているが、機能的にはどれも似たようなもので、価格も比較的安価なものが多い。
もともとUSB機器を共有可能にするだけで良く、その他の機能はいらないので高価なものは探していないけど。
ところがこれだとどうしてもIPアドレスを消費してしまうのが難点。
というのは、職場のネットワークには多数のPCやサーバ等が繋がっていて、IPアドレスに全く余裕が無く、使う人が少数のスキャナだけのためにIPアドレスを割り当てたくは無いから。

で、次に探したのがPCにデバイスサーバの役割をさせることが出来るソフトウェア。
「NeTwain」というソフトが見つかったが、2クライアント用のシェアウェア版で7,350円と少々高く、USBデバイスサーバが買える価格だ。
3クライアント用だと9,800円となり、これだとKOKUYOが推奨するデバイスサーバーの定価と同じ。
虫が良いけどフリーソフトで無いかなぁ?と思っているが見つけることが出来ない。

他に思いついたのはWindowsサーバ系OSのPCにUSBで接続し、データを保存するフォルダを共有しておいたうえで、リモートデスクトップ接続でスキャナを使ってデータを取り込むという方法。
これだとスキャナを接続しているPCが起動していないと取り込み作業は出来ないが、PCを使いながら他のPCでスキャンすることが可能だ。
この方法のネックはサーバー系OS(Windows2000server、Windows Server2003等)をインストールしたPCがその部署に無いこと。
新たにそのようなPCを設置するとなると別途購入しなくてはならないし、そのPC用にIPアドレスが必要になるので意味が無く、素直にUSBデバイスサーバを買うほうがコストも掛からない。

うーん、IPアドレスを犠牲にするか高いお金を払うか、二つに一つなのかなぁ?

#Linux用で何か無いかな?

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

kernelのコンパイルメモ

職場のサーバが時々サービスを停止してしまうことがあり、その都度再起動をせざるを得なくなっている。
以前も書いたけど時計が進まなくなってしまい、時計に依存する処理(cron等)が止まってしまう。
少々調べたところ時計モジュールはkernel組み込みらしいので、この際kernelを新しいものにしてしまうことにした。
そこでkernelのソースをダウンロードしてきてサーバーに転送し、/usr/src以下で展開してコンパイル~インストールをした。
手順を忘れないようにここにメモしておく。

ソースの展開
tar xvjf linux-2.4.37.10.tar.bz2 (2.4系の最終版ソース)

configファイルのコピー
cp linux-2.4/.config linux-2.4.37.10/.

ディレクトリのリンクし直し
rm linux-2.4
ln -s linx-2.4.37.10 linux-2.4

.configファイルの再設定
cd linux-2.4
make oldconfig
(旧kernelのconfigの引継ぎ。追加機能があればどうするかを聞いてくるので、y/n/mで答える)

コンパイル
make dep
make clean
make bzImage

モジュールのコンパイル
make modules

モジュールのインストール
make modules_install

kernelのインストール
make install

ブートローダーの設定変更
GRUBの場合は
/etc/grub.conf
LILOの場合は
/etc/lilo.conf
の内容を修正し、LILOの場合のみ
/sbin/lilo を実行し、修正した内容を反映させる。

なんだけど、現在はkernelのインストール時に
All of your loopback devices are in use.
のエラーで止まっている。
initrd(Initial RAMDISK)の作成時のエラーなので、最初はブロックデバイスとloopback deviceを有効にしていなかったためと思ったので.configを修正したが、それでもエラーになってしまうので行き詰まっている。
手動でmkinitrd /boot/initrd-2.4.37.10.img 2.4.37.10
を実行しても同様。
うーん、なにが問題だ?

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

NTPで時刻同期が出来ないサーバ

サーバの一台が不可思議なエラーでネットワークに接続できないので、そのサーバからHDDを抜き出し他のPCに入れて代わりのサーバとした。
ところがntpdは起動しているにもかかわらずいつまで経ってもタイムサーバとの時刻同期が取れない。
最初はタイムサーバ側で接続を拒否しているかと思ったが、クライアント(問題のサーバ)側からtelnetで123番ポートに接続を試すと一応「Connected to ”タイムサーバ名”」と出るのでタイムサーバ側は拒否していない。
反対にタイムサーバ側からクライアント側に同じ事をしてみると、「Unable to connect to remote host」と出たので、クライアント側は接続を拒否している。
ntpdateを使って手動で同期を取ることは出来るので、iptables等でブロックされているわけでも無い。

調べてみると案外単純なことで、/etc/ntp.conf内でのセキュリティ設定でntpdの接続をローカルホスト(自分自身)からのみ許可していて、外部へのアクセスを拒否するようになっていた。
これでは外部のタイムサーバと同期できるわけが無い。

具体的には/etc/ntp.confファイル内の
# restrict mytrustedtimeserverip mask 255.255.255.255 nomodify notrap noquery
の部分が上記のようにデフォルトのままになっていて、外部へのアクセスを許可していなかった。
この部分を
restrict ”タイムサーバのIPアドレス” mask 255.255.255.255 nomodify notrap noquery
と書き換え、
/etc/rc.d/init.d/ntpd stop
/etc/rc.d/init.d/ntpd start
を実行してntpdを再起動したところ程無く時刻の同期が出来た。
同時にタイムサーバ側での認証が必要という設定になっていたので、
authenticate yes

authenticate no
に書き換え認証不要としておいた。

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

この大量のパケットはなんだろう?

先日からトラブル続きのサーバで、ループバックインターフェース(lo)に異常な量のパケットが流れている。
同様の機能を持たせている他のサーバに比べても非常に多い(100倍近い流量)ので、なにか異常なことが発生しているのかもしれない。
このあたりになにかトラブルの元があるような気がするが、まだ解明できていない。

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