OpenSMTPD不会在重新启动

我刚刚在我的arch linux机器上安装了OpenSMTPD服务器。 当我自己启动它时工作正常,但是当我重启机器时,启动失败。

这里是journalctl -f _SYSTEMD_UNIT=smtpd.service输出:

 -- Reboot -- Oct 05 15:14:29 campbell-kelly smtpd[260]: info: startup Oct 05 15:14:29 campbell-kelly smtpd[265]: fatal: smtpd: bind: Cannot assign requested address Oct 05 15:14:29 campbell-kelly smtpd[260]: warn: lost child: pony express exited abnormally Oct 05 15:14:29 campbell-kelly smtpd[262]: info: control process exiting Oct 05 15:14:29 campbell-kelly smtpd[263]: info: lookup agent exiting Oct 05 15:14:29 campbell-kelly smtpd[266]: warn: ca -> control: pipe closed Oct 05 15:14:29 campbell-kelly smtpd[264]: warn: scheduler -> control: pipe closed 

我不知道它从哪里来。 根据我在互联网上的研究,问题可能来自我的networking接口。

以下是重新启动后的ip link输出:

 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether fa:16:3e:11:8a:b3 brd ff:ff:ff:ff:ff:ff 

这是我的/etc/hosts

 127.0.0.1 localhost 51.XXX.XXX.159 campbell-kelly.XXX.XX campbell-kelly 

感谢您试图帮助我!


编辑:

我的/etc/smtpd/smtpd.conf文件:

 pki mail.XXX.XX certificate "/etc/smtpd/tls/smtpd.crt" pki mail.XXX.XX key "/etc/smtpd/tls/smtpd.key" table creds "/etc/smtpd/creds" table vdoms "/etc/smtpd/vdoms" table vusers "/etc/smtpd/vusers" listen on eth0 tls pki mail.XXX.XX listen on eth0 port 587 tls-require pki mail.XXX.XX auth <creds> accept from any for domain <vdoms> virtual <vusers> deliver to mbox accept for any relay 

我的/etc/smtpd/creds 。 密码已经通过echo test | smtpctl encrypt获得了 echo test | smtpctl encrypt

 niols $6$FgkfVn10xLZbDU4O$17y6Wc5YlYMGAzekSxsjZALWnCeLAH3oS4vk8VeUpe5c7l.uGxE3q.27FwXhXA/.EUz/KRVqRedaNX8.AsJw20 

我的/etc/smtpd/vdoms

 XXX.XX XXX.YY ZZZ.XX 

我的/etc/smtpd/vusers

 [email protected] niols [email protected] niols 

我的问题实际上只在重新启动时发生。 即使是一个smtpd -v似乎没有显示任何问题,当我手动启动它。

尽量不要听eth0,听听0.0.0.0可能是个好主意。

 listen on 0.0.0.0 port 587 tls-require pki mail.XXX.XX auth <creds> 

依此类推。用eth0更改其他行。

这样做的好处是可以使用127.0.0.1发送邮件,即使networking接口还没有IPv4或IPv6地址,也应该可以工作。