サーバの警告メールが届かないと思ったら…
自宅サーバのnagios3の状況監視の設定を少し変更していたけど、 警告メールが届かない。そういえば、munin の警告メールも届かない。 そういえば、数日前、携帯の迷惑Eメール防止設定を変更したっけ。
受信許可ドメインの設定ついでに、なりすまし規制の設定レベルを (高)を選択したのが原因っぽい。 自宅サーバはDynamic DNSの設定で、丹南ケーブルTVのサーバ経由で メールを送信している。このため『なりすまし』扱いをうけやすいんだった….
メールのウィルス除去postfix+amavisd+clamav
気まぐれで自宅サーバの受信メールのウィルス除去の設定。 その前に、自宅サーバ宛のメールなんてめったに来ないけど…
Debian postfix clamav にて見つかったページを参考にする。
(( インストール )) # aptitude install amavisd-new (( /etc/postfix/main.cf )) # amavisd設定 content_filter = smtp:localhost:10024 (( /etc/postfix/master.cf )) # amavisd設定 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o myhostname=localhost
/usr/share/doc/amavisd-new/README.postfix.html を見ると、 amavisfeed とか書いてあるけど、contents_filterのsmtp の欄に amavisfeed とかを 書く設定があるけど、よくわからないんだよなぁ…
Thunderbird 5.0 になったけど
メールソフトのThunderbirdが5.0になった。 Firefoxとバージョン番号の統一で、4.0すっとばし。 でも、公開されたばかりで、多少のトラブル。
まず、プラグインが未対応なのが困る。時間の問題とは思うけど、 Google Contactsがダメ。Gmailの連絡帳の同期がされないのは致命的だ。 それに、ThemeでMacのAqua風のものが未対応。シンプルなテーマがいい。
あと、最近になってようやくIMAP対応になった、yahoo.co.jp をThunderbirdで読んでいるけど、 "[CLIENTBUG] ID is not a valid IMAP Command" なるエラーメッセージが 表示される。IMAPコマンドの実装の不完全さの問題にみえるし、ぐぐれば対応策が すぐに見つかると思ったけど、思ったほどみつからない…
どーでもいいけど、Thunderbird 5号は宇宙ステーションだったか… 小さいころ、プラモデル作ったのを思い出した…
munin-limitsの警告を最小限に…
(2011/7/7追記)どうも、以下のプログラムでは、メール送信プロセスが 正しく終了せず、メール送信プロセスが溜まってしまう。 muninのcontact.XXX.command にスクリプトを書くのはまずいみたい。 "/usr/bin/perl /…PATH…/notify.pl…" とすれば動いた。 どうも、command にスクリプトが書いてある場合"sh -c" してくれているんだけど、 何か不具合があるような…
muninで、USBRTの温度監視ができて、munin-limitで警告メールがだせるようになった。 でも、本来の目的は家猫の体調のためなので、警告温度は34℃ほどに設定したら、 設定温度を越えたら5分おきに、ずーっとメールが届く。 さすがに、職場じゃ大量のメールが届くので、状態が閾値を越えたときにだけメールが欲しい。
メールを送るスクリプトに、warning,criticalのデータ件数をつけて呼び出すようにして、 件数が変化していなければ、メールを送らないようにした。
(( /etc/munin/munin.conf )) contact.nagios.command \ /usr/bin/perl /etc/munin/my-plugins/notify.pl \ # (7/7修正) "${var:numwfields}:${var:numcfields}" \ "[Munin] tsaitoh.net" \ 携帯メアド (( notify.pl )) #!/usr/bin/perl exit 0 if ( @ARGV < 3 ) ; my $stat = shift @ARGV ; my $subj = shift @ARGV ; my $mailto = shift @ARGV ; my $last_file = "/var/run/munin/munin.last-stat" ; my $last_stat = "" ; # 前回の状態を読み込む if ( open( FH , "$last_file" ) ) { $last_stat = <FH> ; chomp( $last_stat ) ; # chompの使い方間違ってた... close FH ; } if ( $stat eq $last_stat ) { # 状態の変化がなければ報告しない exit 0 ; } else { # 状態を記録しておく if ( $stat eq "0:0" ) { unlink( $last_file ) if ( -f $last_file ) ; } elsif ( open( FH , ">$last_file" ) ) { print FH "$stat\n" ; close FH ; } # 報告を送信する if ( open(FH,"|/usr/bin/mail -s \"$subj\" \"$mailto\"") ) { while( <> ) { print FH $_ ; } close FH ; } }
自宅内のDNSのExpireなどを短く
Android端末で、ほぼGmailなどは、いつでも読める状態だけど、 自宅メールサーバへの接続に失敗することが発生。 多分、自宅でメールを読んだ時のIPアドレスを覚えていて、 自宅外(もしくはWiFi状況が悪くてG3経由になっている時)で、 そのアドレスを使おうとして、繋がらないなどのトラブルが発生しているように思う。 ということで、自宅内DNSサーバのSOA情報を短くする。
$ORIGIN tsaitoh.net. ; $TTL 604800 @ IN SOA perrine.tsaitoh.net. root.perrine.tsaitoh.net. ( 3 ; Serial 600 ; Refresh 300 ; Retry 600 ; Expire 180 ) ; Negative Cache TTL
あれ??、$TTLも短くするんだっけ?
yahoo.co.jpがimapメールサービス開始
少し前にNewsがあったyahooでimapによるメールが使えるようになるサービスが、 ようやく自分のアカウントにも届いた。
メールの設定は、どれもimapを使っているので、設定も簡単と、PCのThunderbirdなどの 設定を変更していく。んで、携帯のAndroid端末,iPod touchと 変更をしていくけど、iPodが設定に手間取った。
最初にアカウントのメールアドレスとパスワードを入力して、次のページで細かい設定を するんだけど、メールアドレスが@yahoo.co.jp だと、自動的にプロトコルがpopに なってしまう。いろいろ試してもダメなので「ドメイン部がyahoo.co.jpだからまずい」 ということなのだから、最初のメールアドレスで、"ya.co.jp"とか、だましのドメイン名を 入れてやった。するとプロトコルをimap/popの選択が出た。 こりゃ、普通の人は設定できん…
自宅DNSのIPv6化
自宅のIPv6化も、IPアドレス生打ちであれば、内→外については動く確認も取れてきた。 ただ、外→内はFirewallの設定?の問題もあるのか、動かない。 また、友人もレンタルサーバでIPv6 ready なサーバを動かしていたので、 自宅から接続してみた。だけど、http://www6.nekodama.com/ といったAAAAレコード持ちの ドメインでアクセスさせたけど、ダメだった。 自宅内のDNSの設定の問題か…
bind9 の IPv6化には、以下の2点が関係。
(( /etc/bind/named.conf.options )) options { : listen-on-v6 { any ; } ; # IPv6ホストの問合せを受付。 } (( /etc/default/bind9 )) OPTIONS="-u bind" # IPv6アドレスを教えてくれる # OPTIONS="-u bind -4" # IPv4のみ。
ただし、最後の "OPTIONS="-u bind -4"を取ると、 AAAA持ちなサイトにアクセスする時に IPv6 が切れていると、 IPv6でアクセスしてタイムアウトしてから、IPv4でアクセスする。 このため、ブラウズ速度が落ちてしまう。 まだ、常時IPv6接続しっぱなし…でもないので、当面は"-4"で動かしておこう…
IPv6でようやくルータ以外のPCもつながった
6to4を使ったIPv6接続には成功していたけど、 radvd を使ったルータ以外のPCのIPv6接続には失敗していた。 色々と試した結果、tun6to4には、2002:XXXX:XXXX:0000::1を設定し、 自宅サーバには 2002:XXXX:XXXX:0001::1を設定する。 radvd には、2002:XXXX:XXXX:0001:****:****:****:**** を使うように設定した。
(( ネットワーク構成 )) +------------------------+ Internet--[router]--+ 192.168.1.2 | (IPv4) | 2002:XXXX:XXXX:0001::1 +--[radvd] | (eth0) | | (tun6to4) | ::192.88.99.1-[tun]-+ 2002:XXXX:XXXX:0000::1 | (IPv6) +------------------------+
interfaceファイルは、ルータから取得した2002:XXXX:XXXX形式のファイルから、 address部にバッククオートを使って設定した。
(( /etc/network/interfaces )) auto tun6to4 iface tun6to4 inet6 v4tunnel endpoint any address `/bin/cat /var/run/DDNS.ipv6`::1 netmask 16 gateway ::192.88.99.1 local 192.168.1.2 # DynamicDNSのアドレス更新 # /var/run/DDNS.ipv6 = 2002:XXXX:XXXXを生成 pre-up /etc/DDNS/mydns-jp.sh # eth0内のアドレスを割り当て post-up /sbin/ip addr add \ `/bin/cat /var/run/DDNS.ipv6`:1::1/64 dev eth0 # 2002:XXXX:XXXXを使ったradvd.confを生成 post-up /etc/network/script/update-radvd.pl # radvdを再起動 post-up /etc/init.d/radvd reload pre-down /sbin/ip addr del \ `/bin/cat /var/run/DDNS.ipv6`:1::1/64 dev eth0
ちなみに、radvd.conf ファイルの生成には、以下のようなスクリプトを用いた。 6to4 による IPv6 対応ルーター設定によれば、わざわざこんなことをしなくても、Base6to4Interface という 設定を使えばいいのだけど、我が家の場合はルータを間に挟んでいるため、 IPv4なルータ(外側)のIPアドレスが取れないので、このようなスクリプトを使うしかない…
(( /etc/network/script/update-radvd.pl ))
#!/usr/bin/perl
my $dir = "/etc/network/script" ;
my $rconf = "/etc/radvd.conf" ;
my $rtemp = "$dir/radvd.conf.template" ;
my $ddip6 = "/var/run/DDNS.ipv6" ;
my $ip6h = "" ;
if ( -f $ddip6 ) {
open( FH , $ddip6 ) or die( "Can't open $ddip6\n" ) ;
$ip6h = ;
close( FH ) ;
if ( $ip6h =~ s/^(2002:[0-9A-Z]+:[0-9A-Z]+)$/$1/i ) {
open( FHD,">$rconf" ) or die( "Can't open $rconf\n" ) ;
open( FHS,"$rtemp" ) or die( "Can't open $rtemp\n" ) ;
while( ) {
s/<IPV6>/$ip6h/ if ( /^\s+prefix\s+<IPV6>/ ) ;
print FHD $_ ;
}
close( FHS ) ;
close( FHD ) ;
}
}
(( /etc/network/script/radvd.conf.template ))
interface eth0
{
AdvSendAdvert on;
AdvManagedFlag on;
AdvOtherConfigFlag on;
prefix <IPV6>:1::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
無事、http://www.kame.net/ のDancingカメさんも http://[2001:200:dff:fff1:216:3eff:feb1:44d7]のURLであれば、 サーバ&radvdクライアントなPCでも、うまく踊ってくれました。
Googleウェブマスターツールを使ってみた
Googleのアカウントの中をみてたら、Googleウェブマスターツールなるものがあったので 使ってみた。SEO対策やらブログ分析ができるらしい。 といっても、Googleのアカウントで使ってみたら、「あなたが管理しているサイトか確認」 が必要らしい。色々なやり方があるみたいだけど、自分のサイトのトップに、 以下のようなメタタグを埋め込む方法をやってみた。
<meta name="google-site-verification" content="LY-xxx_-xxxxxxxx" />
んで、何ができるんだ!?!?、なんとも本末転倒。
GEOIPで中国ブロック
MovableTypeだけど、最近コメントSPAMが届く。 コメントフィルタ入ってるけど、URL欄に中国語が書いてあるから、 自動的なSPAM判定がダメみたい。
どっちみち、中国からのアクセスはこんなんばっかだし、ごっそりWWWアクセスをフィルタ。 以前にもフィルタかけた記憶があるんだけど、設定消えてるなぁ…
<IfModule geoip_module> GeoIPEnable On <Directory /var/www> <Files /> # Filter by GEOIP SetEnvIf GEOIP_COUNTRY_CODE CN DenyGeoIP SetEnvIf GEOIP_COUNTRY_CODE RU DenyGeoIP Order Allow,Deny Allow from all Deny from env=DenyGeoIP </Files> </Directory> </IfModule>