这是mailcow自建邮局系列的第三篇教程,对自建邮局感兴趣的朋友可以参考我前两篇文章:
当你的服务器不支持IPV6地址时可以禁用mailcow的IPV6监听,从而降低资源消耗(mailcow有启动一个IPV6 NAT的容器)和避免出现奇怪的问题,这篇文章将继续分享如何禁用mailcow的IPV6
禁用mailcow IPV6
修改docker-compose.yml
,将:
enable_ipv6: true
修改为:
enable_ipv6: false
同时还需要禁用ipv6nat-mailcow 容器,在mailcow的目录下新建一个docker-compose.override.yml
,并复制下面的内容保存:
version: '2.1'
services:
ipv6nat-mailcow:
image: bash:latest
restart: "no"
entrypoint: ["echo", "ipv6nat disabled in compose.override.yml"]
然后重启容器:
docker-compose down
docker-compose up -d
在 unbound-mailcow 中禁用 IPv6,只需要修改data/conf/unbound/unbound.conf
这个配置文件:
#将
do-ip6: yes
#修改为
do-ip6: no
然后重启对应容器:
docker-compose restart unbound-mailcow
接下来禁用postfix的IPV6,需要修改data/conf/postfix/extra.cf
这个配置文件,改成下面的内容:
smtp_address_preference = ipv4
inet_protocols = ipv4
然后重启容器:
docker-compose restart postfix-mailcow
最后还需要修改nginx的监听,用下面的sed命令替换就行了:
sed -i '/::/d' data/conf/nginx/listen_*
sed -i '/::/d' data/conf/nginx/templates/listen*
sed -i 's/,\[::\]//g' data/conf/dovecot/dovecot.conf
sed -i 's/\[::\]://g' data/conf/nginx/dynmaps.conf
sed -i 's/\[::\]://g' data/conf/phpfpm/php-fpm.d/pools.conf
其它说明
- 如果您的服务器支持IPV6,则无需禁用IPV6地址
- 修改文件前请注意备份配置文件