如何在mailcow禁用IPV6地址(三)

这是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

其它说明

  1. 如果您的服务器支持IPV6,则无需禁用IPV6地址
  2. 修改文件前请注意备份配置文件
sanradar
sanradar
文章: 102