AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1051826
Accepted
PrestonDocks
PrestonDocks
Asked: 2021-02-01 04:33:16 +0800 CST2021-02-01 04:33:16 +0800 CST 2021-02-01 04:33:16 +0800 CST

ping 在 ubuntu 20.04 上返回 IPV6 地址

  • 772

我已经在云虚拟机上安装了 GitLab,不久之后,我用同一提供商 (Hetzner) 建立了第二台虚拟机作为后缀服务器

当我回到 GitLab 服务器以启用 SMTP 电子邮件并且没有发送任何内容时,我首先注意到一个问题,甚至邮件服务器上没有任何日志表明已尝试连接。

在 GitLab 服务器上

我试图从 gitlab ping 邮件服务器,但无论我等待多长时间,都只得到一个响应并且没有进一步的响应。

root@gitlab:~# ping mail.simoncarr.co.uk
PING mail.simoncarr.co.uk(2a01:4f8:c2c:a992:: (2a01:4f8:c2c:a992::)) 56 data bytes

如您所见,这是一个 IPV6 响应。我不记得除了启用ufw会影响 gitlab 网络的其他任何事情。

我已经关闭ufw了 gitlab 和邮件服务器,并且得到了相同的行为。

如果我 ping 外部服务器,我仍然会收到 IPV6 响应,但我至少会收到多个响应。

root@gitlab:~# ping bbc.co.uk
PING bbc.co.uk(2a04:4e42:600::81 (2a04:4e42:600::81)) 56 data bytes
64 bytes from 2a04:4e42:600::81 (2a04:4e42:600::81): icmp_seq=1 ttl=58 time=3.68 ms
64 bytes from 2a04:4e42:600::81 (2a04:4e42:600::81): icmp_seq=2 ttl=58 time=3.47 ms
64 bytes from 2a04:4e42:600::81 (2a04:4e42:600::81): icmp_seq=3 ttl=58 time=3.52 ms
64 bytes from 2a04:4e42:600::81 (2a04:4e42:600::81): icmp_seq=4 ttl=58 time=3.50 ms
64 bytes from 2a04:4e42:600::81 (2a04:4e42:600::81): icmp_seq=5 ttl=58 time=3.49 ms

在邮件服务器上

如果我 ping gitlab 服务器,我会得到 IPV4 响应,并且它们会按照您的预期重复。

PING gitlab.simoncarr.co.uk (168.119.124.76) 56(84) bytes of data.
64 bytes from static.76.124.119.168.clients.your-server.de (168.119.124.76): icmp_seq=1 ttl=58 time=0.878 ms
64 bytes from static.76.124.119.168.clients.your-server.de (168.119.124.76): icmp_seq=2 ttl=58 time=0.463 ms
64 bytes from static.76.124.119.168.clients.your-server.de (168.119.124.76): icmp_seq=3 ttl=58 time=0.353 ms
64 bytes from static.76.124.119.168.clients.your-server.de (168.119.124.76): icmp_seq=4 ttl=58 time=0.419 ms

如果我从邮件服务器 ping 外部服务器,我会再次收到 IPV6 响应。

root@mail:~# ping bbc.co.uk
PING bbc.co.uk(2a04:4e42:600::81 (2a04:4e42:600::81)) 56 data bytes
64 bytes from 2a04:4e42:600::81 (2a04:4e42:600::81): icmp_seq=1 ttl=58 time=6.68 ms
64 bytes from 2a04:4e42:600::81 (2a04:4e42:600::81): icmp_seq=2 ttl=58 time=6.24 ms
64 bytes from 2a04:4e42:600::81 (2a04:4e42:600::81): icmp_seq=3 ttl=58 time=6.23 ms
64 bytes from 2a04:4e42:600::81 (2a04:4e42:600::81): icmp_seq=4 ttl=58 time=6.16 ms

我在邮件服务器上更改的唯一与网络相关的是将反向 DNS 地址添加到 IPV4 和 IPV6 地址。

回到我的实际问题。

我希望能够从 GitLab 服务器连接到我的邮件服务器以发送 SMTP 电子邮件。即使ufw在两台服务器上都禁用,GitLab 也不会与邮件服务器通信。我不禁认为这个问题与我上面描述的行为有关。

HTTP到我的 GitLab 服务器的网络流量工作正常,我的邮件服务器从邮件客户端和其他 SMTP 服务器发送和接收电子邮件也正常。

ubuntu networking ipv6 ipv4 ufw
  • 1 1 个回答
  • 1310 Views

1 个回答

  • Voted
  1. Best Answer
    Esa Jokinen
    2021-02-01T05:01:26+08:002021-02-01T05:01:26+08:00

    关于调试问题的合适方法

    测试服务时,最好尝试连接到服务,而不是使用ping. 虽然ICMP 回显可能有助于诊断一些问题,但它在这里并不能说明太多,因为它可能响应或不响应的原因太多了,而且它与实际问题的关系不大。

    在您的 DNS 中,您有:

    ;; ANSWER SECTION:
    simoncarr.co.uk.        14400   IN      MX      11 mail.simoncarr.co.uk.
    
    ;; ADDITIONAL SECTION:
    mail.simoncarr.co.uk.   14400   IN      AAAA    2a01:4f8:c2c:a992::
    mail.simoncarr.co.uk.   14400   IN      A       188.34.201.61
    

    这意味着您的邮件服务器被宣传为具有 IPv6 和 IPv4 连接,但在 SMTP 端口 25 上都没有响应:

    $ nc 188.34.201.61 25 -vvv
    nc: connect to 188.34.201.61 port 25 (tcp) failed: Connection timed out
    
    $ nc 2a01:4f8:c2c:a992:: 25 -vvv
    nc: connect to 2a01:4f8:c2c:a992:: port 25 (tcp) failed: Connection timed out
    

    但是,IPv4 地址在端口 465(smtps,RFC 8314)和 587(submission,RFC 6409)上回答,但 IPv6 地址没有:

    $ nc 188.34.201.61 465 -vvv
    Connection to 188.34.201.61 465 port [tcp/submissions] succeeded!
    
    $ nc 188.34.201.61 587 -vvv
    Connection to 188.34.201.61 587 port [tcp/submission] succeeded!
    220 mail.simoncarr.co.uk ESMTP Postfix (Ubuntu)
    
    $ nc 2a01:4f8:c2c:a992:: 465 -vvv
    nc: connect to 2a01:4f8:c2c:a992:: port 465 (tcp) failed: Connection timed out
    
    $ nc 2a01:4f8:c2c:a992:: 587 -vvv
    nc: connect to 2a01:4f8:c2c:a992:: port 587 (tcp) failed: Connection timed out
    

    知道您已禁用防火墙,这表明您的 DNS 中有错误的 IPv6 地址,或者邮件服务器完全没有 IPv6 连接。通常你可以ifconfig在邮件服务器上使用来解决这个问题,但我很幸运,因为我的第一个猜测是正确的:

    $ nc 2a01:4f8:c2c:a992::1 587 -vvv
    Connection to 2a01:4f8:c2c:a992::1 587 port [tcp/submission] succeeded!
    220 mail.simoncarr.co.uk ESMTP Postfix (Ubuntu)
    

    如何解决您的问题

    1. 更改AAAADNS 中的记录。它可能应该是(注意附加的1):

      mail.simoncarr.co.uk.   14400   IN      AAAA    2a01:4f8:c2c:a992::1
      
    2. 修复您的邮件服务器。对于传入的邮件,您需要让 SMTP 服务器侦听 TCP 端口 25。如果您可以从服务器本身连接到此端口,您可能需要询问服务提供商是否允许托管邮件服务器。通常会在不用于传递邮件的连接上阻止端口 25,以此来对抗来自受感染计算机的垃圾邮件。

    • 4

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve