我在 Ubuntu 17.10 上无法让 nginx 和 dovecot 在启动时启动。我得到的错误例如
dovecot[721]: Error: bind(2a02:c207:xxxx:xxxx::x, 4190) failed: Cannot assign requested address
dovecot[721]: Error: service(managesieve-login): listen(mail.domain.tld, 4190) failed: Cannot assign requested address
nginx[726]: nginx: [emerg] bind() to [2a02:c207:xxxx:xxxx::x:x]:80 failed (99: Cannot assign requested address)
IP 在 中定义/etc/network/interfaces
,主机在 中定义/etc/hosts
,如果我在服务器启动后手动启动服务,一切都会正常工作。
systemctl edit dovecot
我甚至尝试使用并添加覆盖
[Unit]
After=network-online.target
但没有变化。
知道我错过了什么吗?奇怪的是,SSH 守护程序也绑定到特定 IP,并且在启动时启动时没有问题。
答案1
问题在于 IP 的定义是使用
up ip addr add xxx.xxx.xxx.xxx/24 dev $IFACE
iface eth0 inet static
如果使用此处定义的多个块指定 IP,则问题得到解决:https://wiki.debian.org/NetworkConfiguration#Multiple_IP_addresses_on_one_Interface