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 / 问题 / 788862
Accepted
Emil Rowland
Emil Rowland
Asked: 2016-07-10 02:29:44 +0800 CST2016-07-10 02:29:44 +0800 CST 2016-07-10 02:29:44 +0800 CST

为什么我应该使用 FQDN 而不是服务器的 IP 地址?

  • 772

在我使用服务器的过程中,我遇到了配置文件,您应该在其中输入外部服务器的地址。我看到有些人直接使用服务器的 IP 地址,但我听到很多建议使用主机名完全限定域名(FQDN)。为什么我应该使用主机名而不是直接 IP 地址?

因为如果您使用主机名,那么您将需要一个本地 DNS 服务器,它将每个主机名链接到一个 IP 地址。使用主机名或 IP 地址有什么缺点?

domain-name-system networking hostname fqdn
  • 2 2 个回答
  • 46700 Views

2 个回答

  • Voted
  1. Best Answer
    Joshua Griffiths
    2016-07-10T02:40:44+08:002016-07-10T02:40:44+08:00

    使用 IP 地址可确保您不依赖 DNS 服务器。它还具有防止通过 DNS 欺骗进行的攻击的好处。

    使用 FQDN 而不是 IP 地址意味着,如果您要将服务迁移到具有不同 IP 地址的服务器,您将能够简单地更改 DNS 中的记录,而不是尝试找到使用 IP 地址的任何地方.

    当您有多个由多个人配置的服务器和服务时,这尤其有用。

    • 56
  2. Ryan Babchishin
    2016-07-10T07:06:24+08:002016-07-10T07:06:24+08:00

    DNS 不仅仅是 FQDN = IP

    DNS 的重要之处在于它提供的不仅仅是 A 记录(主机名 = IP)。DNS 有时会提供某些软件可能需要的不同类型的记录,例如 MX、CNAME、TXT 等。它允许多个地址记录、IPv4 + IPv6 记录、动态地址、负载平衡、基于地理位置的解析、故障转移/冗余等...... DNS 告诉你事情是什么(www.google.com 是 google 的网络服务,172.217 .4.110?那是什么?)它允许您更改这些设置/记录并让它们被客户端拾取,而无需对所有客户端进行更改。DNS 可以做复杂的事情。

    使用 DNS 而不是直接 IP 地址通常具有明显的优势。

    FQDN 可能是一项要求

    有些事情,例如使用基于名称的虚拟主机或负载平衡器的 Web 服务器等……绝对需要您通过 FQDN 或主机名来寻址它们。他们根据您连接到的 FQDN 确定如何响应您的请求。通过 IP 连接可能根本不起作用。

    SSL 证书是根据域名颁发的,因此您可能无法在没有 DNS 的情况下(正确地)使用某些启用 SSL 的服务。

    这是 google.com 域的挖掘查询,让您了解 DNS 的复杂性

    google.com。299 在 172.217.0.174
    google.com。299 在 AAAA 2607:f8b0:400b:807::200e
    google.com。599 IN MX 10 aspmx.l.google.com。
    google.com。599 IN MX 40 alt3.aspmx.l.google.com。
    google.com。59 在 SOA ns2.google.com 中。dns-admin.google.com。126990955 900 900 1800 60
    google.com。599 IN MX 30 alt2.aspmx.l.google.com。
    google.com。21599 在 NS ns2.google.com。
    google.com。599 IN MX 20 alt1.aspmx.l.google.com。
    google.com。599 IN MX 50 alt4.aspmx.l.google.com。
    google.com。21599 IN NS ns1.google.com。
    google.com。3599 IN TXT "v=spf1 包括:_spf.google.com ~all"
    google.com。21599 在 CAA 0 问题“symantec.com”
    google.com。21599 IN NS ns3.google.com。
    google.com。21599 IN NS ns4.google.com。
    

    雅虎回复 3 个 IP 地址

    $主机-ta yahoo.ca
    yahoo.ca 有地址 77.238.184.24
    yahoo.ca 的地址是 74.6.50.24
    yahoo.ca 有地址 98.137.236.24
    

    使用 IP 地址的优势

    对我来说,通常是 DNS 可能会以某种方式妨碍或不可用。一般来说,我会在大多数事情上使用 DNS。

    IP 地址可能更好的一个示例是,当您有两台机器之间有直接链接(无交换机)和私有网络地址(例如 192.168.1.1 和 192.168.1.2),并且它们将其用于高可用性通信或 DRBD 或其他非常具体的服务。在这种情况下,在 DNS 中进行设置可能没有任何意义。这不是必需的,会增加复杂性、性能问题并可能引入故障点。

    另一个例子是路由。路由表出于各种原因记录 IP 地址。

    另一个是引用名称服务器(例如在 /etc/resolv.conf 中)。由于没有名称服务器,您无法解决任何问题。

    • 42

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

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