0

我的场景如下:我在 ubuntu 20.04 服务器上安装了一个 postgres 12,并且在另一个启用了 ipv6 的主机上运行了一个 docker 容器。

我无法使用 ipv6 从 docker 容器内部访问 postgres 服务器。

这些命令在容器内工作:

$ ping POSTGRES_SERVER_IPv4
$ ping POSTGRES_SERVER_IPv6
$ telnet POSTGRES_SERVER_IPv4 5432

但这在容器内部不起作用(但它在 docker 主机上起作用):

$ telnet POSTGRES_SERVER_IPv6 5432

我已经在 postgres pg_hba.conf 中设置了 listen_address = '*' 和“host all all md5”。

编辑:

我意识到我的网络适配器正在使用两个 IPv6,一个是我在 netplan 中定义的静态,另一个在我的网络范围内,但我没有分配它。

4

1 回答 1

2

在您的 netplan 配置中,尝试添加:

接受-ra:没有

例子:

network:
  version: 2
  ethernets:
    ens192:
      accept-ra: no
      addresses: ...
于 2020-08-20T21:21:34.553 回答