spamassassinをspamcに変更
SPAMメールフィルタとして.procmailrc内に、spamassassinを設定して使っていた。 しかし、SPAMが増えてきてISPからfetchmailで一括でメールを取ってくると、 一度にspamassassinが起動され、OSのload averageが異様に重くなることが増えてきた。 spamassassinは、Perlで書かれたフィルタだし、元々処理が重くなりがち。 このため、spamc + spamd によるDaemon型のフィルタ方法に切り替え。
(( $HOME/.procmailrc )) :0fw *!^X-Spam-Status.* | /usr/bin/spamc (( /etc/default/spamassassin )) # Change to one to enable spamd ENABLED=1 (( spamassassin 再起動 )) # /etc/init.d/spamassassin restart
一般的なISPを騙ったSPAMばっかり
丹南通信ネットのメールアドレスに届くメールは、 ほとんどSPAM。自宅サーバにfetchmail+procmailで 取り込む際にSpamAssasinの前処理として、 From欄が独自ドメインで判定できるものはprocmailの レシピで捨てている。んで、SPAMフォルダ内の Fromでレシピを追加していたけど、 最近はFromにyahoo,goo,gmail,msn,exiteを騙るメールばっかり。 丹南さんには、もうすこしまともなメールフィルタ入れて欲しいな…
あれ?メモリの使い方が激変?
ふと、MRTGのグラフを見ていると、メモリの使用状況のグラフが激変している。 今までは、Squid(Proxy)が、実メモリをギリギリまで、キャッシュとして使ってた影響と思われるが、実メモリ全てがほぼ使用状態だった。 だけど今見ると、実メモリが余ってるし、Swapの利用率が高まっている。Kernelの微妙なバージョンアップの影響だろうか…. Squidってパッケージのバージョン上がってたっけ?

oldstableに依存
職場にて新しいサーバを入れ、いつものごとくDebianを入れている。 しかしながら、nagiosやらfmlやらと、stableなのにインストールに失敗。 どれも、もう oldstable でしか対応していない。 自宅サーバでは、インストール候補にtesting,stable,oldstableが入っているため、 どれが oldstable なのか気づかないままだった。 改めて、職場サーバの更新に伴うトラブルを防ぐためにも、 自宅サーバで新規パッケージへの移行テストをしなければならない。
# まずは、nagios3あたりからかな…
FAXとメールの連動
自宅のメイン(通常私の親)の電話に、FAX機能付きに変更した。 以前より、FAXとの連動は実験していたので、携帯からメールした内容を、FAXに転送して、 インターネット音痴の親に、活用してもらうのが目的。
まず、手始めに自室の電話と、親のFAXとの連動ということで、 自室電話に届いたFAXを、携帯電話に画像添付して送るように設定する。 今までは、gif 形式にてパソコンに送るようにしていたけど、 携帯に jpeg 添付にして送るように変更した。gif だと、携帯では添付容量サイズエラーが 発生するし、jpeg でもあまり大きい画像は添付が読めなかった。 そこで、G3形式からjpeg形式に変換するときにも、画像サイズを小さくしたりという手間がかかった。
次に、携帯から送ったメールを、親のFAXに送る機能。 これも、以前に設定してあったので、そのまま使ったけど、mgetty のバージョンアップの中で、 ディレクトリのオーナーが変更になっていたので、ちょいとディレクトリの所有権を変更する。
これで便利!といいたいけど、一番の問題は、 親が着信FAXに気づいて、ちゃんと読んでくれるか…。 最近のFAXは、無駄印刷をしないように、印刷用紙は必要に応じてセットして、印刷を行うのが基本。だから、「印刷」の仕方 or 着信FAXの見かたを、覚えてもらわないといけない。 せめて、うちの子供に覚えてもらわねば….
追記:ママがfaxmail機能を実験するのはいいけど、いきなり画像添付付きを投げてきた。 マルチパート処理をしてないから、mimeエンコードされた大量文字列をFAXに送ってしまう。 画像のG3変換までプログラムを書くのは面倒なので、添付ファイル付き Multipart/mixed は、 受け付けない様に処理を追加した。
gw6cを試す
自宅に、IPv6接続のためのトンネルサービスを提供してくれているFreenet6より、 gogoNETに移管したといったようなメールが届く。ということで、gogoNETに改めて登録し、 IPv6接続を久々に試してみる。
以前は、tspc なるIPv6トンネル用のパッケージをインストールしていたけど、 gogoNETでは、gw6c なるソフトを提供している。ダウンロードして試そうとしたが、 Debian/sid であれば、gw6c なるパッケージがすでに提供されていた。ということで、 "aptitude install gw6c"を実行する。
ただ、sid ベースなのか、設定ファイルがうまく自動でつくられないのか、ボチボチと設定が必要な様子。
(( install )) # aptitude install gw6c # zcat /usr/share/doc/gw6c/examples/gw6c.conf.sample.gz > /etc/gw6c/gw6c.conf # cd /etc/gw6c/ # vi gw6c.conf (( /etc/gw6c/gw6c.conf )) # デフォルトより変更したもののみ抜粋 userid=XXXXXXXX passwd=YYYYYYYY # freenet6.netの利用登録が必要 server=authenticated.freenet6.net auth_method=any host_type=router prefixlen=64 if_prefix=eth0 # AAAAアドレスを参照するために必要? dns_server=ns1.freenet6.net # template/linux.sh のあるPATH gw6_dir=/usr/share/gw6c if_tunnel_v6v4=sit0 if_tunnel_v6udpv4=tun if_tunnel_v4v6= template=linux log_stderr=1 # 動作確認用 (( 実際に接続させる )) # /etc/init.d/gw6c start Starting Gateway6 Client : gw6cGateway6 Client v6.0-RELEASE ... Built on ///Linux gonzo 2.6.30-1-686 #1 SMP ... The Gateway6 redirection list is [ amsterdam.freenet6.net, montreal.freenet6.net ]. The optimized Gateway6 redirection list is [ montreal.freenet6.net, amsterdam.freenet6.net ]. # 初めて接続する時は、下記のような確認画面が現れた...(yを入力した) montreal.freenet6.net is an unknown host, do you want to add its key?? (Y/N) y (( 繋がったかどうかを確認 )) # ping6 ipv6.google.com PING ipv6.google.com(tx-in-x68.google.com) 56 data bytes 64 bytes from tx-in-x68.google.com: icmp_seq=1 ttl=50 time=419 ms
ということで、設定を色々と触る必要があったけど、ひとまず動き出す。
ルータモードで動かしているので、次はradvdの設定。やり方は同じなのかな….
追記:radvdの起動は、template/linux.sh に記載されており、radvd.conf を自動的に生成し、 勝手に起動してくれるみたい。 このため、/etc/radvd.conf は削除しておく。 ひとまず、これで周辺のPCに、アドレスが配給されていることは確認できた。
一般的に、radvd の動作の際、自分の吐きだすルーティング情報を読み込まないように、 "echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra"を設定するといった記載があるが、 確認をすると、accept_ra は1のままであった。そこで、template/linux.sh に以下の処理を追記する。
# (不要なのかなぁ…)
(( /usr/share/gw6c/template/linux.sh )) interface $TSP_HOME_INTERFACE { : }; EOF # 以下の2行を追加 Exec $sysctl -w net.ipv6.conf.all.accept_ra=0 Exec $sysctl -w net.ipv6.conf.all.accept_redirects=0 # Start the radvd daemon. :
現状では、radvdでIPv6アドレスを受け取ったWindows機が、外部にはつながっていない。
# どうも、ip6tables の FORWARD の設定で radvd で配給した
# アドレスを許可していないのが原因。
# さて、freenet6からもらえるアドレスは動的だし、どう設定しようか…
さらに追記:Windows機が繋がらないのは、やはりFORWARD設定のせい。 freenet6からのアドレスは、/40であれば、固定なので、 "saddr( 2001:05c0:1100::0/40 ) ACCEPT"の設定を追加したら、うまく動き出す。
WiFiルータをWZR-HP-G300NHに更新
802.11nの距離性能の良さと、802.11g/a の分離/混在の製品が出ていることから、 Buffalo WZR-HP-G300NHに更新する。 お古になったルータは、以前からお古のゲームをくれる 親戚のお兄ちゃんにお返しの予定。
iフィルタのトラブル
設定の間にネットが切れると、いざトラブルに絡んだ検索ができなくなるので、 WANを繋がない状態でMACアドレスフィルタの情報や、基本設定を行う。 その後、ルータを切り替えるが、繋がらない。 WAN側のページを見ると、ルータ内臓のコンテンツフィルタの「iフィルタ」の設定画面 に強制的に飛ばされ、「iフィルタを使わない」を選ぶんだけど、設定が保存されない。
調べてみると、G300NHのDHCPから取得したアドレスで設定を行わないと、 正しくページ遷移ができないのが原因。 自宅LANは、自宅サーバのDHCPを使ったMACアドレス割り付けの固定アドレスを使っている。 さらに自宅内DNSサーバでホスト名を割り振っていて、G300NHのDHCPが吐くBuffalo.setupという ホスト名が分らなくなるのが原因。
ということで、
(/etc/bind/named.conf.options) options { : forwarders { // 202.127.80.1; プロバイダのDNSサーバ // 202.127.80.1; の設定を消す。 192.168.2.1; DNS問い合わせをルータに }; : };
MRTGでパケット流量を観測
自宅のネットワークは、SPAMやらネットワーク攻撃やらの動向の予知のために、 MRTGにてパケット流量を測定していた。 しかし、G300NHに更新し予想通り、パケット流量データがとれなくなった。 パケット流量を表示するページのURLを見ると、
http://192.168.11.1/cgi-bin/cgi ?req=frm&frm=packet.html&rand=xxxxxxxx
にて、URL末尾にセッションIDが付いており、簡単なスクリプトでは観測が困難と思われた。 しかし、パケット流量程度にセッションIDは要らないだろうと、試しにrand以下を抜いてみた。 すると予想どおりパケットデータが取り出せた。吐きだすHTMLを読むと、流量の行は、 『<div class="DIGIT">xxxxxx</div>』であった。 そこで、snmpから呼び出されるスクリプトを以下のように書き換えた。
(( /etc/snmp/airstation.sh )) #!/bin/bash /usr/bin/w3m -dump_source -no-proxy \ 'http://root:@192.168.11.1/cgi-bin/cgi ?req=frm&frm=packet.html' 2>&1 \ | /bin/sed -n '/class="DIGIT"/ s/^.*>\([0-9]*\)<\/div>.*$/\1/ p' /usr/bin/w3m -dump_source -no-proxy \ 'http://root:@192.168.11.1/cgi-bin/cgi ?req=twz&frm=logout.html' >/dev/null 2>&1 (( /etc/snmp/snmpd.conf )) extend .1.3.6.1.4.1.2021.50 airstation /etc/snmp/airstation.sh
これにより、airstation.sh にて、以下のような12行の数値が得られるようになる。
LAN有線送信正常 LAN有線送信エラー LAN有線受信正常 LAN有線受信エラー WAN有線送信正常 WAN有線送信エラー WAN有線受信正常 WAN有線受信エラー LAN無線(802.11g)送信正常 LAN無線(802.11g)送信エラー LAN無線(802.11g)受信正常 LAN無線(802.11g)受信エラー
PC画像をHDMI出力
自宅サーバもほぼ5年前で活用もほどほどにとは思うけど、 ちょいと思いつきで、PC画面をHDMI出力にして、TVで見れるようにと実験。
ATI Radeon 9000 の中古ボードとDVI-D→HDMI変換ケーブルを購入し、 GPUボードの交換。radeon ドライバであっさりとアナログRGB出力は 見れるようになったけど、DVI-HDMI 出力を試そうと xorg.conf をさわり出したら、 どんどんドツボにはまりだす。 一度、HDMIでVGA出力が見えたので、壊れてはいないようだけど、 今現在は、アナログRGB出力のX11起動さえできない状態になってしまった。 デュアルディスプレィ化して、Windows マシンを取られているときには、 TVモニタで仕事ができるようにと思っているのだが、まだ先は長そう….。
# 中古GPUボードよりも、変換ケーブルの方が高いもんなぁ….
kdesudoをインストール
KDE 4.x になってから、kdmの設定といった、KDEシステム設定(/usr/bin/systemsettings)にて 今までなら「管理者モード」が使えていたものが、使えなくなった。 root になって、systemsettings を起動するけどエラーがでるし、Webで調べてみると、 kdesudo なるものがあるみたい。
((インストール)) # aptitude install kdesudo # visudo (systemsettingsを追加) $ kdesudo /usr/bin/systemsettings
うーむ、いつも思うのだが、visudo を起動すると、エディタが ng になっている。 ngsudo コマンドじゃないんだし、エディタは vi だろ…
# export EDITOR=vi
netatalkをインストール
Mac OS X の端末を試していることだし、 Mac のファイル共有 netatalk をインストール。
((インストール)) # aptitude install netatalk ((/etc/netatalk/AppleVolumes.default)) # サーバ文字コードがEUCなので... ~/ "($h) Home" \ maccharset:MAC_JAPANESE volcharset:EUC-JP /home/PATH/ "($h) Share" \ maccharset:MAC_JAPANESE volcharset:EUC-JP
しかし、Sambaでのアクセスができれば、 あえて AppleTalk を使えなくてもまるっきり支障がない。 当初は、TimeMachine の設定が簡単になるかと期待したけど、ディスクのイメージを 作って…といった手間は、あんまり変わらないみたい。