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 / 问题 / 610486
Accepted
Eaten by a Grue
Eaten by a Grue
Asked: 2014-07-07 12:29:49 +0800 CST2014-07-07 12:29:49 +0800 CST 2014-07-07 12:29:49 +0800 CST

使用 ipv6 的 Ubuntu 12.04 服务

  • 772

我目前在 Linode 上管理两台服务器。第一个“server-a”正在运行 12.04,第二个“server-b”是 14.04 的全新安装。

不久前,我在 server-a 上的 spf 记录遇到了一些问题,并意识到我需要显式添加(或创建 A 记录)ipv6 地址,因为 postfix 服务使用 ipv6 连接到 gmail。这让我感到惊讶,因为我只是假设它默认使用 ipv4。经过更多的跟进,我发现几乎所有服务在某些情况下都使用 ipv6,但在其他情况下则不然。

例如,如果 postfix 传递邮件,或者如果我 telnet 或 ssh 到 Linode 上的另一个主机,我的 ipv6 地址会显示在日志中。另一方面,如果我连接到家中的本地服务器或 Digital Ocean 网络上的一个,则使用 ipv4。

谁能解释在建立连接时何时以及如何确定应使用 ipv4 或 ipv6?它是否因服务而异,或者这是中央配置的一部分?

ubuntu-12.04
  • 1 1 个回答
  • 208 Views

1 个回答

  • Voted
  1. Best Answer
    Sander Steffann
    2014-07-07T13:01:03+08:002014-07-07T13:01:03+08:00

    服务通常使用主机名访问,这通常意味着 DNS 用于查找链接到该主机名的 IP 地址。对于 IPv4 将有 A 记录,对于 IPv6 将有 AAAA 记录。所有这些地址都应该提供相同的服务,而与使用的协议无关。

    因此,如果您向 Gmail 发送电子邮件,您的邮件服务器将查找 MX(邮件交换)记录gmail.com。在我看来,这些是:

    gmail.com.  MX  5   gmail-smtp-in.l.google.com.
    gmail.com.  MX  10  alt1.gmail-smtp-in.l.google.com.
    gmail.com.  MX  20  alt2.gmail-smtp-in.l.google.com.
    gmail.com.  MX  30  alt3.gmail-smtp-in.l.google.com.
    gmail.com.  MX  40  alt4.gmail-smtp-in.l.google.com.
    

    最高优先级的 MX 是gmail-smtp-in.l.google.com,所以我们来看看它的地址:

    gmail-smtp-in.l.google.com.  A     74.125.136.26
    gmail-smtp-in.l.google.com.  A     74.125.136.27
    gmail-smtp-in.l.google.com.  AAAA  2a00:1450:4013:c01::1b
    

    所以现在你的邮件服务器有三个可以使用的地址。DNS 不会告诉您首选哪一个。该选择取决于您的本地软件。关于要使用的算法有一个完整的 RFC(RFC 6724),但通常归结为:在可用时使用 IPv6,否则使用 IPv4。

    除非另有明确配置,Postfix (≥ 2.9) 将在可用时同时使用 IPv4 和 IPv6。它将首先尝试 IPv6,如果无法使用 IPv6 连接,它将使用 IPv4 连接。

    自从Happy Eyeballs/RFC 6555发明以来,Web 浏览器如今以不同的方式工作。因为 IPv6 上的连接问题会导致烦人甚至无法使用的超时,所以浏览器会尝试使用 IPv6,但如果在 ±200 毫秒后没有听到任何消息,它会尝试并行使用 IPv4 进行连接。将使用第一个成功的连接。

    当然:如果您使用的服务没有在 DNS 中通告任何 IPv6 地址,那么只会使用 IPv4。反之亦然。

    • 3

相关问题

  • 周一早上的错误:sudo rm -rf --no-preserve-root /

  • UCEProtect Level 3 - 电子邮件进入垃圾邮件

  • 启用 mod ssl 后,apache 停止侦听端口 80

  • 使用 virtmanager 和 GUI 安装和配置 xen

  • Openstack 多节点:单独的 Glance 和 Keystone 机器

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