星期二, 十二月 18, 2007

postfix inet_interfaces 问题

一个报警脚本,发邮件出现问题,重定向输出中包含如下报错:
send-mail: fatal: parameter inet_interfaces: no local interface found for 124.74.193.221
,/var/log/maillog 中的记录为:
Dec 16 12:09:24 www2 postfix/pickup[30784]: fatal: parameter inet_interfaces: no local interface found for 124.74.193.221
Dec 16 12:09:25 www2 postfix/master[23234]: warning: process /usr/libexec/postfix/pickup pid 30784 exit status 1
Dec 16 12:09:25 www2 postfix/master[23234]: warning: /usr/libexec/postfix/pickup: bad command startup -- throttling
重启 postfix,即 /etc/init.d/postfix restart 失败,/var/log/maillog 中的输出为:
Dec 18 10:28:16 www2 postfix/master[23234]: terminating on signal 15
Dec 18 10:28:17 www2 postfix/sendmail[11621]: fatal: parameter inet_interfaces: no local interface found for 124.74.193.221
Dec 18 10:28:25 www2 postfix[11627]: fatal: parameter inet_interfaces: no local interface found for 124.74.193.221
Dec 18 10:28:26 www2 postfix/sendmail[11629]: fatal: parameter inet_interfaces: no local interface found for 124.74.193.221
Dec 18 10:28:27 www2 postfix[11630]: fatal: parameter inet_interfaces: no local interface found for 124.74.193.221
Dec 18 10:28:29 www2 postfix/sendmail[11632]: fatal: parameter inet_interfaces: no local interface found for 124.74.193.221
但是这台主机的 IP 地址是 124.74.193.211,为什么会出现 221 呢?

因为前两天因为发邮件,将原来指向该主机的一个域名重新定向到了 124.74.193.221,在 /etc/postfix/main.cf 中的配置为:
myhostname = mail.groups.shopex.cn
inet_interfaces = $myhostname, localhost, 124.74.193.211, 192.168.0.211
而此时 mail.groups.shopex.cn 已经解析到 124.74.193.221,这样 postfix 会先做解析,结果就不对了。

postfix inet_interfaces 有参数可以指定不使用 DNS,应该是加 [] 的方式。

没有评论: