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

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

システム

最近の投稿

アーカイブ

カテゴリー

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接続に勘違いされてしまうらしい。 だめだこりゃ…

forked-daapdなかなか良いけど

MacBookを使っていて、iTunesで保存しているデータも増えてきた。 サーバ側にデータも保存しておきたいということで、コピーを取っているけど、 せっかくだしそのデータを、家の中で共有したい。 このため、mt-daapd を試したけど、うまく動いてくれなかった。

いろいろ調べていたら、mt-daapdは更新もされていないので、他の方が プログラムを新たに作り直した、forked-daapdなるソフトが出ているみたい。 んで、今回試しに入れてみた。

(( install ))
# aptitude install forked-daapd
(( /etc/forked-daapd.conf ))
# 書き換えたのは、1行だけ!!
directories = { "ディレクトリ/iTunes/Music" }

使ってみると、iTunesを立ち上げるだけで、左側メニューの共有欄に、"My Music on XXXX" が表示される。ただし、曲数が多いとデータベースの更新で時間がかかった。 動き出せば、日本語の曲名も普通に表示できている。(一部文字化けもあるけど)

再生させても、普通に再生…といいたいけど、 1曲再生で、4分ほどの曲が3分ほどで停止してしまうものがある。 最後まで普通に再生できたり、うーん、よくわからん….

USBボイスモデムを使うsl-modem-daemon

改めて、ボイスモデムを使うために、安く購入したけど、ソフトウェアもでむだったみたいだな… でも、slmodem なるパッケージがあるみたい。

(( まずはmodemを調べる ))
# lsusb
Bus 002 Device 006: ID 0483:7554 SGS Thomson Microelectronics 56k SoftModem

付属のCD-ROMには、dgcmodemやらslmodemやらのドライバが入っているけど、 dgcmodemは vendor-id とかから調べると違うみたい。 んで、slmodem は、debian では、sl-modem-daemon という名前みたい。

(( インストール ))
# aptitude install sl-modem-daemon
だけど、以下のようなエラーで動かない
Only access through ALSA is available on amd64 but slamr driver was chosen!
Make sure that an ALSA driver for your chipset is available and is loaded
and that access to SmartLink modem components is supported by it.
invoke-rc.d: initscript sl-modem-daemon, action "start" failed.

/usr/share/doc/sl-modem-daemon/README.debian を読むと、 ALSAでなければ、/etc/default/sl-modem-daemonのSLMODEMD_DEVICEに、"hw:0"とか"hw:1"とかを指定しろって書いてある。

(( /etc/default/sl-modem-daemon ))
SLMODEMD_DEVICE=hw:0
(( 動作確認 ))
# /etc/init.d/sl-modem-daemon start
# kermit -l /dev/modem
C-Kermit> connect
AT
OK

おお、ちゃんと動き出した。さて、今から AT-command の確認。

/etc/default/keyboardなのか…

サーバを更新してから、バージョン上がっていったら、キー入力が変になってきた。 キーをタイプしても、打てないキーや不規則にキーが捨てられたり。 どうも、Caps Lock / Ctrl の入れ替えで小技を使っていたのが、 最近のパッケージの流儀に合わないらしい。

(( 設定を改めて更新))
# dpkg-reconfigure -phigh xserver-xorg

これによって、Xが立ち上がってもキーが利かなくなることはなくなったが、 当然ながら Caps Lock と Control が元通り。不便極まりない。 色々調べてみると、最近は、/etc/default/keyboard で変更するらしい。

(( /etc/default/keyboard ))
XKBMODEL="a4techKB21"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS="ctrl:swapcaps"

Debian/testing に linux-image-3.0.0-1 登場、入れちゃった。

朝の暇つぶし、なにげに Debian のアップデートかけてたら、 ついに linux-3.0.0 が登場。メジャー番号が 2→3というと、大抵いろいろなトラブルが 発生するから、普通なら様子見なんだけど、 今回の、 2.6.39→3.0.0 はニュースを見ると大きな更新は無い。 2.4→2.6でさえトラブルが多かった(正確に言うとレガシーな設定を使い続けるヤツだから発生するトラブル)のに、 2.6→3.0 はすんなりNo Trouble あるね。

2.6.38→2.6.39 で ARP テーブルの管理が変わって、 自宅内の稼働しているネットワーク機器の状況が観測しづらくなっていたけど、 当然ながら、3.0 でも同じ。 おかげで、子どものゲーム機のネットワーク接続監視は、困難になった。
# なんかいい方法ないかなぁ…

USBRHをnagiosで警告メール

muninを使って、USBRHで室内温度の警告をさせていたけど、 警告状態になった時の連続メールがうざいので、 スクリプトを間に入れたけど、動きがおかしいので、 監視を nagios3 にさせてみようと実験。

nagiosであれば、管理画面で警告メールの送信などを、Webで止めたりできる!!

nagios3 でチェックするには、check_XXXX といったプログラムが必要だけど、 USBRH では、自作する必要がある。普通ならperlを使うんだけど、 簡単な処理で、巨大なPerlインタプリタを実行するのは避けたい。 以前から、モジュール機能の無い「組み込み専用Perl」が無いかと、 物色していたけど、Lua というプログラム言語を見つけた。 というわけで、初めての Lua で、check_usbrh を作ってみた。

(( Luaインストール ))
# aptitude install lua50
(( /etc/nagios3/my-plugins/check_usbrh ))
#!/usr/bin/lua
-- arg[1] warning
-- arg[2] critical
if table.getn(arg) < 2 then
print( "UNKNOWN" )
os.exit( 3 )
else
warning  = tonumber( arg[1] )
critical = tonumber( arg[2] )
end
fh = assert(io.popen("/usr/local/bin/usbrh","r"))
temp = tonumber( fh:read("*n") )
hum  = tonumber( fh:read("*n") )
fh:close()
if temp >= critical then
print( string.format( "USBRH CRITICAL - %4.2f,%4.2f%%" ,
temp , hum ) )
os.exit( 2 )
elseif temp >= warning then
print( string.format( "USBRH WARNING - %4.2f,%4.2f%%" ,
temp , hum ) )
os.exit( 1 )
else
print( string.format( "USBRH OK - %4.2f,%4.2f%%" ,
temp , hum ) )
os.exit( 0 )
end
(( /etc/nagios-plugins/config/usbrh.cfg ))
# 'check_usbrh' command definition
define command{
command_name    check_usbrh
command_line    /etc/nagios3/my-plugins/check_usbrh
'$ARG1$' '$ARG2$'
}
(( /etc/nagios3/conf.d/localhost_nagios2.cfg ))
# USBRH
define service{
use    generic-service
host_name  localhost
service_description   USBRH
check_command  check_usbrh!32!35
}

Lua 、こりゃ、ほんとに軽そうな言語。数値が絡んだら、awk とか使ったりしてたけど、 これならsh変わりにも使えそう。

arpalertを使ってみる

Wi-Fi経由の勝手な接続などの検出ということで、arpwatchを使っていたけど、 携帯で3G経由で使った後だと、そのアドレスでWi-Fi接続を試すため、 いちいち警告メールが届くのが紛らわしい。 そこで、別のARP監視システムを探してみた。

arpalert は、監視して whitelist とか、発見時のスクリプトを指定できるので、 もう少しきめ細かな警告ができそう。

Debianのパッケージで入れて、警告時に起動するスクリプトに、付属のスクリプトを修正して登録してみた。動かすとサーバ自体の警告メッセージが送られてきた。 原因は、古いサーバとの互換性を考えて、1つのインタフェースに2つのIPアドレスを割り振っているためだった。チェックの度に、2つのアドレスで変わっているとみなされている。 しかたがないので、maclist.allow の最後に、ip_change フラグを付けて、 アドレス変化を無視させる。

(( インストール ))
# aptitude install arpalert
(( /etc/arpalert/arpalert.conf ))
Debianのパッケージをそのまま。
(( /etc/arpalert/maclist.allow ))
xx:xx:xx:xx:xx:xx 192.168.xx.xx eth0
xx:xx:xx:xx:xx:xx 192.168.xx.yy eth0 ip_change
xx:xx:xx:xx:xx:xx 192.168.xx.zz eth0 ip_change
(( /etc/default/arpalert ))
ARGS="-e /etc/arpalert/send_alert.sh"
(( メール送信のひな形をコピー ))
# cp /usr/share/doc/arpalert/examples/scripts/contribs/send_alert.sh /etc/arpalert/
(( /etc/arpalert/send_alert.sh ))
#!/bin/sh
# Intruder MAC address
intruder_MAC=$1
# Intruder IP address
intruder_IP=$2
# Alert Type
intruder_AlertType=$5
# Ethernet Vendor
intruder_Vendor=$6
# Mail recipient
mail_To="root"
date=`LANG=C /bin/date`
# Subject
mail_Subject="[arpalert] IP/MAC alert"
# Body and send mail
cat << EOF | mail -s "$mail_Subject" $mail_To
[arpalert] Intruder Detected
Intrusion time stamp : $date
Intruder IP  Address : $intruder_IP
Intruder MAC Address : $intruder_MAC
Type of alert : $intruder_AlertType
Ethernet Vendor: $intruder_Vendor
EOF

perl CPANのアップデート

Debianでパッケージのアップデートで、通常は、"aptitude safe-upgrade"だけど、 時々install時に競合が多いので、久々に"aptitude dist-upgrade"かけてみた。 色々とアップデートされて、よかったけど、時間がたつと、自作perlスクリプトが 動かない。どうも、CPANで入れていた"Net::Google::Calendar.pm"が古いみたい。

google で "perl CPAN アップデート"を実行すると、やっぱり簡単に見つかる。 参考記事を見ながら、以下を実行。

(( アップデート可能なモジュールを一覧 ))
# perl -MCPAN -e 'CPAN::Shell->r'
(( 全部をアップデート ))
# perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

最近は、"aptitude install libXXXX-perl" で確かめて入れていたので、 必要最小限しか入っていないと思っていたけど、やっぱりいつのまにか CPANパッケージたっぷり入ってるな…

うーむ、Perlの更新の余波が…自作スクリプトに、関数呼び出しの do を使ってたのが 残ってた。 『Use of "do" to call subroutines is deprecated at …』なんてエラーが 出て、スクリプトが動かなくなってら…

linux-image-2.6.39-2にしたらARPモニタが…

自宅でネットワークに繋がっている機器の モニタリングということで、muninでarpを 観察させていた。 しかし、今回 linux-image-2.6.39-2 が配布されて OSを更新したら、出力グラフの表示のされ方が かわってきた。 arpのデータが廃棄されるまでの時間が延びたみたい。 うーむ….

1106221112_497x388.png

munin-limitsで警告メール

USBRHで室温監視ができるようになったけど、 暑くなったのに気づかなければいけないので、 munin-limits でメールを送るように設定。

/etc/cron.d/munin-nodeを見ると、警告を送るコンタクト名は”nagios”になっているので、 “contact.nagios.command” に送付先の携帯のメールアドレスを登録することにする。 Debianなら、余計な設定ファイルは細かく触らないに限る…

(( /etc/munin/munin.conf ))
# メールの送り先とSubjectの設定
contact.nagios.command mail -s "[Munin] ${var:group}::${var:host}" 携帯メアド
contact.root.command mail -s "[Munin] ${var:group}::${var:host}" root
# a simple host tree
[localhost.localdomain]
address 127.0.0.1
use_node_name yes
# USBRHの警告範囲
usbrh.tempreture.warning            31
usbrh.tempreture.critical           34
# CPU負荷の警告
load.load.warning                   2.5
load.load.critical                  3.5
# ディスク使用量の警告
df._dev_sdc1.warning                70
df._dev_sdc1.critical               90
df._dev_mapper_lvm_lvm0.warning     70
df._dev_mapper_lvm_lvm0.critical    90
# プロセス総数の警告
processes.processes.warning         300
processes.processes.critical        400
# S.M.A.R.Tの警告文章は大量で長いから報告させない
smart_sda.contacts                  no
smart_sdb.contacts                  no
smart_sdc.contacts                  no

Google 検索

My Google   Yahoo

Microsoft

ファンサイト