ホーム » コンピュータ » Linux (ページ 39)

Linux」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

Windows7をSNMP経由のmuninで監視

自宅サーバでは、動作状況をmuninでモニタリングしているけど、 Windows7のパソコンもモニタリングさせてみた。 どうせ、Windows Media Centerが動いているので、動きっぱなしだし。

Windows7でSNMPを動かす

Windows7 Professional であれば、SNMPは標準で入っているようで、 起動させるだけ。 Window7でSNMP設定を参考に、 権利:読み取りのみ,コミュニティ:public,追加:192.168.X.X(サーバのアドレス) を追加する。

muninの設定

パソコンのFQDN名が欲しかったので、/etc/hosts にパソコンのホスト名を登録。 監視対象としてパソコンを登録

((/etc/munin/munin.conf))
[パソコンのFQDN]
address localhost
use_node_name no

プラグインを登録するには、munin-node-configure でSNMPが使えるかどうかが 試せるので、

# munin-node-configure --snmpversion 1 --snmp パソコンのFQDN

色々な項目が表示されたら、プラグイン用のシンボリックリンクを作る。 といっても、"–shell"をつけて実行すれば、適当なシェルスクリプトを生成し てくれる。"| sh" を追加してもいいけど、いきなり全部は多いので、一旦 ファイルに吐き出して、使うものだけにしてから実行。

# munin-node-configure --snmpversion 1
--snmp パソコンのFQDN --shell >mn.sh
# vi mn.sh  # 適当な項目だけ残す
# sh mn.sh  # 本当にリンクを生成させる。

私は、df,df_ram,if_multi,processes,users,winload を残した。

最後に、snmp を実行するときの設定を、書き加える。

((/etc/munin/plugin-conf.d/munin-node))
[snmp_*]
env.version 1
env.community public

これで、Windowsパソコンの稼働状況がわかるようになったので、 春休みで勉強しないで遊んでいる子どもの状況も判るぜ….

送信者ドメイン書き換え

スイミングスクールがメールでの緊急連絡の運用を始めたみたい。 そこで指定アドレスに登録依頼メールを送ろうとしたけど、 丹南ケーブルでメールがはじかれる。 理由は、自宅内のメールサーバでは、自宅内でのみ有効なドメイン名を 使っていて「そんなドメイン知るか」と言われる。 ということで、自宅外に出るときに、ドメイン名を書き換える設定を加える。

((/etc/postfix/main.cf))
smtp_generic_maps = hash:/etc/postfix/generic
((/etc/postfix/generic))
@自宅内ドメイン   @自宅外でも有効なドメイン
@*.自宅内ドメイン @自宅外でも有効なドメイン
((更新を有効に))
# postmap /etc/postfix/generic
# postfix reload

lvmがエラー

古いマシンから取り出した中途半端なサイズのHDDを組み合わせて lvm を組んでいたけど、OS更新時の再起動で、エラーが出て マウントできなくなった。

OS起動が途中で止まってびびったけど、ひとまずlvmのマウントだけ 止めて普通に起動させ、lvm のチェック。

pvdisplay やら、lvdisplay などを実行しても、HDDを認識していない ということはないので、ハードウェア的な故障ではなさそう。

しかし、mount はやっぱりできないので、2次バックアップだし、 中身を捨てて再構築させようかともおもった。

でも単純に、fsck.ext3 /dev/lvm/lvm0 を実行したら、なんどか Fix<y>と聞かれたけど、yes で答えたら、普通に修復できた。

ちなみに、再起動のきっかけとなったOS更新だけど、 Linuxのカーネルが、linux-image-3.2.0-1-amd64 となった。 lvm のトラブルで、一旦 3.1 に戻したけど、簡単に修復できたし、 改めて 3.2.0 で起動したけど、問題ナシ~。

ついでに、lvm のマウント方法を、/dev/fstab に記載する方式から、 autofs でマウントする方法に移行させた。 どうも、エラーの原因となったのが、再起動が遅いので早めに reset を 押したためと反省中。automount なら、適度に umount するし、ちょっと危険が減るかな。

isc-dhcp-serverとauthoritative

最近、自宅ネットワークで新しいパソコンが、ネットワークに接続できなくなるトラブルが発生する。 再起動などがかかれば、普通にネットワークにつながるので、多少不気味ながらもそのままだった。 しかし、うちの奥さんのノートPCも、出先から帰ってきたらつながらない。 IPアドレス取得に失敗しているっぽいので、dhcpサーバの設定を疑う。

今まで、長年運用していた dhcpd.conf ファイルなので、壊したとも思えなかったが、 試しに、dhcpサーバの再起動をすると、普通に接続が回復した。 ということで、 "grep dhcpd /var/log/syslog"で履歴を眺めると、下記のようなメッセージが あったので、色々と調べてみた。

...: DHCPINFORM from 192.168.X.XX via eth0:
not authoritative for subnet 192.168.X.0
...: If this DHCP server is authoritative for that subnet,
...: please write an `authoritative;' directive either in the
...: subnet declaration or in some scope that encloses the
...: subnet declaration - for example, write it at the top
...: of the dhcpd.conf file.

DHCPサーバは、クライアントが使いたいIPアドレスを要求してきたとき、 サーバがこのセグメントでは正しくないと"DHCPNAK"を返すことで、 クライアントは新しいIPアドレスを要求する。 どうも、この辺で"威厳のない"設定だと、再取得に問題がでるみたい。 "とっとと新しいアドレスを要求してこんかぃ"と、「威厳をもって」返答するために、 subnet文の内部に"authoritative;"を書くといいみたい。 当初、"authoritative"を記載させてみたけど、端末をau回線に切り替えてから、自宅回線にもどすと、やはりDHCPでアドレスが取れなかった。逆に、"not authoritative"を記載したら、うまく繋がった。うーん、よくわからん….

subnet 192.168.X.0 netmask 255.255.255.0 {
not authoritative;
(略)
}

PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20090626/sqlite.so’

自宅サーバ宛のメールなんて、変なSpamにひっかからないと来ないはずなのに、 定期的にメールが飛んでいる。 確認すると、PHP5関連で以下のようなメールが出ている。

PHP Warning:  PHP Startup:
Unable to load dynamic library
'/usr/lib/php5/20090626/sqlite.so'
- /usr/lib/php5/20090626/sqlite.so:
cannot open shared object file:
No such file or directory in Unknown on line 0

色々と確認すると、/etc/cron.d/php5 の中の定時処理にて、 PHP5の設定値を参照する /usr/lib/php5/maxlifetime を動かした時に、 sqlite.so が無いとのエラー。 php5-sqlite(5.3.9-1)にて、sqlite3 中心に移行した割に、 /etc/php5/conf.d/sqlite.ini に、"extension=sqlite.so" が記載されているのが原因。 /etc/php5/conf.d/sqlite3.ini にて、"extension=sqlite3.so" があるし、 本来なら、sqlite.ini をパッケージマネージャが消すべきなんだろう。

ということで、下記を実行(sqlite.iniは後のトラブルに備え残しておく)する。

# cd /etc/php5/conf.d/
# mv sqlite.ini sqlite.ini~

arpの仕様が戻った?

自宅サーバでは、ネットワーク端末の利用状況をモニタ するために munin で arp の監視を行なっている。 端末が動いてネットを使えば、1台として観測され、 子どもがゲーム機を触っているかもある程度解る。

この観測は、arp(MACアドレス-IPアドレス対応情報) が流布されているかを見ているだけ。んで、去年7月 頃までは、状況も把握しやすかった。

でも、linux-image-2.6.39になったあたりから、 arp コマンドを使っても、arp情報がずっと保持されて しまい、ネットワークを使っていない端末も動いているように 観測されるようになった。

しかしながら、数日前 linux-image-3.1.0-1 に更新がかかったら、 以前の状況に戻った。うーん、具体的にどの更新の影響なんだろ…

1201200926_477x226.png

Panasonic CF-T1にxubuntuをインストール

ママがノートパソコンを更新したので、お古のノートパソコン Panasonic CF-T1(Pen3 900MHz) に、xubuntu(XFce)をインストールした。 CF-T1は、CD-ROMドライブも持っていないため、色々と手間取った。

最初に、USBメモリから動かそうとしたけど、こいつはUSBブートに対応していない。 このため、plop boot manager をインストールして、Windowsのブートセレクタを経由して、plopを起動するように設定した。 次に、軽量のウィンドウマネージャ XFce を使った ubuntu の日本語用の環境として、 Xubuntu 11.04 Japanese Remix をUSBに書き込んで、インストール作業を行う。

当初、USBメモリのフォーマットが間違っていたのか、USBブートに失敗していたが、 ようやく動き出した。USBブートの環境で、それなりに動きそうなのを確認して、 ハードディスク内容をママ用に一応吸い出してから、インストールを行う。

WiFi環境は、使っていたWiFiカードにあわせて、b43-fwcutterをインストールしたら、 うまく認識してくれるようになった。

未解決の問題点

このパソコンを、子どものインターネット端末として使おうと思っているため、 Windowsマシンっぽく使えるようにしたいんだけど、まだ色々と問題が残っている。

まずは、キーボード。jp106のキーボードレイアウトに設定しているのだが、 ESCキーが認識してくれない。キーコードを読み取らせてみたが、ESCで反応しない。 その他は、CtrlとCapsロックの入れ替えなどは、スムーズに終了。

それに、サスペンドがうまく動かない。 ハイバネーションであれば、うまく復帰してくれたけど、サスペンドにすると復帰後に 黒画面で固まってくれる。 ログアウトして、ユーザ選択画面も表示されずに黒画面になってくれることからすると、 ハイバネーションの問題ではなく、X Window のグラフィックドライバの問題のようにも 思える。

試しに、ubuntu を11.04から、11.10に上げてみた。ログアウトした後に、 再びlogin画面が表示されるようにはなったので、やはりサスペンドの問題のようだ。 11.10になっても、キーボードのESCは相変わらず….

自宅コンテンツフィルタのチェック漏れ

自宅では、子どもが好き勝手なWebページを見ないように、 コンテンツフィルタを動かしている。 squid の url_rewrite_program にて、自作フィルタプログラムを動くようにして、 基本は Yahoo Kids でフィルタページに飛ばされるかどうかを利用して、 制限を加えている。だから、子どもに見せたくないページは見えない。

しかし、子どもがよく行く安全なページは、制限無しにしたり、 別の携帯向けの制限解除ページにアクセスすることで、 制限時間付きで閲覧を許可できるようにしておいた。 逆に、Wii などのメール受信などがいつも制限されるのは…と思い、https は 全面的に通信許可にしていた。

でも「携帯で制限解除して…」と頼まないのに、Youtube で動画とかを見ている。 よくよく考えれば、Google や Youtube とかって、通信の除き見対策で、 https に切り替えられているんだった。それに、自宅のリンク集のページも、 先日 https のリンクに切り替えたっけ…。

ということで、フィルタプログラムを書き換える。 書き換え&実験をしていたら、横で子どもが「ページみれん…」と言い始めている。

CPANでインストールしたパッケージの整理

Perl でプログラムを書いていると、ぼちぼちとパッケージが足りなくって、 CPANでライブラリをインストールしている。 んで、古いCPANパッケージで動かないというトラブルもあって、 "perl -MCPAN -e shell あんど upgrade" を実行したら、 大量のパッケージが入ってしまっていた。 ただ、Debianでも lib*-perl にて、同じライブラリの多くは提供されている。 このままいくと、パッケージの競合もおこりそうだし、CPANで入れるものは必要最小限にしたい。

ということで、CPANでインストールしたモジュールは? を参考に、cpan-list.pl と cpan-uninstall.pl を作成し、lib*-perl で提供されているモジュールを 次々と消していく。 当初107個のモジュールが入っていたけど、32個にまで減らした。

でも、モジュールのバージョンの違いによる警告を出すプログラムがありそうだなぁ…

postgreyの設定ミス

サーバの更新後、メールサーバを qmail から postfix に変更し、 ひとまず自宅ドメインへのメール送信もできるようにしていたつもりだけど、 設定に間違いがあった。 基本、自宅ドメインへのメールなんて、自分だけしか使わない。 だから、トラブルに気付かなかった。 でも、自宅blog(movable-type)への書き込みに、たまーに使っている。

トラブルの状況は、送ったメールが451エラーで送り返される。

Delivery to the following recipient failed permanently:
ユーザ名@自宅ドメイン
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 451 451 4.3.5 Server configuration problem (state 14).

メールのエラーログを見ると、以下のように、10023ポートへの接続エラー。 これより、postgrey への接続でエラーが出ていることがわかる。

... connect from localhost[127.0.0.1]
... disconnect from localhost[127.0.0.1]
... connect from mail-pz0-f44.google.com[209.85.210.44]
... warning: connect to 127.0.0.1:10023: Connection refused
... warning: problem talking to server 127.0.0.1:10023: Connection refused
... warning: connect to 127.0.0.1:10023: Connection refused
... warning: problem talking to server 127.0.0.1:10023: Connection refused
... NOQUEUE: reject: RCPT from mail-pz0-f44.google.com[209.85.210.44]: 451 4.3.5 Server configuration problem; from=<xxxx@gmail.com> to=<xxxx@xxxxxx> proto=ESMTP helo=<mail-pz0-f44.google.com>
... disconnect from mail-pz0-f44.google.com[209.85.210.44]

いろいろ説明を調べてみると、この記事が該当しているようだ。 設定時に、古い postgrey の記事を見たため、以下のような間違いがあった。

(( /etc/default/postgrey ))
# POSTGREY_OPTS="--inet=10023" は間違い。
POSTGREY_OPTS="--inet=127.0.0.1:10023"

参照記事によれば、"–inet=10023"では、IPv6接続に勘違いされてしまうらしい。 だめだこりゃ…

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報