courier-imapが接続できなくなった
自宅サーバ宛に届いたメールの確認のために、 courier-imap + courier-imap-ssl を動かし、 自宅以外でも、imap-ssl経由でメールの確認などができていた。
しかし、なぜか今朝から、imap,imap-ssl の接続が出来ないと、 Thunderbirdが文句を言う。 imapプロセスの再起動などもしてみたけど、効果なし。 パッケージ更新の影響が考えられるので、stable パッケージに してみたりしたけど、効果無し。
色々調べたけど、よく解らない。そのうち、Dovecot なる imap サーバソフトの記事が沢山ひっかかるので、 何も考えず、”aptitude install dovecot-imapd”にて、 courier-imap を捨てる….
nagios-pluginのnegateを使う
ルータにWZR-HP-G300NHを使っていて、出先からのsshのloginやァイルコピーのために、 ルータのVPNサーバの機能を使っている。 しかし、知らぬ間にパスワード総当たり攻撃などでクラックされたら、 筒抜けになるのは怖い。
そこで、VPNが使われたら携帯に警告メールを出したい。 最初、arpalert で監視すればいいと思ったけど、ルータ経由で入れるようになるんだから、 検知できるはずがない。 その代わりに、nagios で検出を考えたけど、どうすればいいのか?
WZR-HP-G300NHでは、"Internet/LAN"→"PPTPサーバ"→"拡張設定"→"サーバIPアドレス" にて、手動設定のアドレスを書き込んである。 そして、VPN未接続時に、このアドレスのpingチェックをすればいい。 ただし、pingが通らないのが通常状態で、pingが通ると"侵入の可能性あり"。
そこで、nagiosの設定は、negate を使う。
(( /etc/nagios-plugin/config/host-down.cfg )) # 'check-host-down' command definition define command{ command_name check-host-down command_line /usr/lib/nagios/plugins/negate /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 50,100% -c 50,100% -p 1 } (( /etc/nagios3/conf.d/localnet_nagios2.cfg )) define host{ use generic-host host_name router-vpn alias router-vpn address 192.168.XX.1 check_command check-host-down }
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 に更新がかかったら、 以前の状況に戻った。うーん、具体的にどの更新の影響なんだろ…