2005-05-08

λ UFS2 snapshot やっぱりささる

もしかして nullfs で jail にrwマウントしてるのが原因か? NFS 経由でマウントしてみる実験。

… 普通に /etc/fstab に書くのだと、nfsd が起動する前にマウントしようとして失敗する。 /etc/rc.d/nfsserver は /etc/rc.d/mountcritremote に依存するというルールが明示的に書いてあるので、そういうものらしい。

amdの勉強をしてみたが、amd は一度シンボリックリンクを経由させるため、だめそげな感じがする。

lo0 インターフェース経由でブロックサイズ大き目のマウントしようと思ったけど、無理かしら。 普通に jail に結び付けられたIP経由でNFSするしかないかなあ。

/etc/rc.conf内で、jail_mimori_mount_enable="YES", jail_mimori_fstab=".../fstab" を使えばjail時にマウントしてくれるのだが、今度は NFS 経由の flock がきかない。 rpc.lockd, rpc.statd を使って flock(fcntl) を実現しているはずなのだが、もしかして jail の中からやろうとしている?

最後まで追いきれずに挫折。今日のところは nullfs に戻して /home の snapshot をやめた。

λ Dynamic Relay Authorization Control

DRACって POP befere SMTP などのことだったか。

λ Gmail on Home Linux Box using Postfix and Fetchmail

ダイアルアップIPだと受け取ってくれない、特定のドメインのメール配送について、プロバイダのメールサーバを経由させるようにするというのが目的の作業。

smtp_sasl_security_options = noanonymous の指定と、 transport と sasl_passwd に記述するSMTPサーバの指定は IPアドレスでなくFQDNで指定するにもかかわらず[]で囲うという部分が難しかった。

最終的に main.cf に追加したのは以下のようになったが、 実は asahi-net のメールサーバを経由させるのが目的で、asahi-net のメールサーバは STARTTLS に対応していなくて tls関係の指定はあんまり関係なかった。

################################################################
# SASL and TLS (client)
#
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_tls_key_file = /etc/ssl/certs/example.com.key
smtp_tls_cert_file = /etc/ssl/certs/example.com.crt
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_tls_CApath = /etc/ssl/certs
smtp_tls_loglevel = 1

今回は回線と同じ asahi-net を使ったが、Gmail を使えばプロバイダを無視できるし、専用アカウントを作ってパスワードを管理することもできるな。 あんまりGoogleに依存するのもアレだが…

現在の /usr/local/etc/postfix/Makefile

TARGETDB= sender_access.db transport.db virtual.db sasl_passwd.db /etc/aliases.db

all:: /usr/local/lib/sasl2/smtpd.conf $(TARGETDB)
        postfix check
        postfix reload

clean::
        rm -f $(TARGETDB) /var/run/postfix_verify.db

sender_access.db: sender_access
        postmap sender_access

transport.db: transport
        postmap transport

virtual.db: virtual
        postmap virtual

sasl_passwd.db: sasl_passwd
        postmap sasl_passwd
        chmod 640 sasl_passwd.db
        chown root sasl_passwd.db
        chgrp postfix sasl_passwd.db
        chmod 640 sasl_passwd
        chown root sasl_passwd
        chgrp postfix sasl_passwd

svnignore:: .cvsignore
        svn propset svn:ignore -F .cvsignore .

/usr/local/lib/sasl2/smtpd.conf: smtpd.conf
        (cd /usr/local/lib/sasl2; ln -s /usr/local/etc/postfix/smtpd.conf)

/etc/aliases.db: /etc/aliases
        newaliases
[]