![如何为特定IP正确设置DNS?](https://linux22.com/image/83334/%E5%A6%82%E4%BD%95%E4%B8%BA%E7%89%B9%E5%AE%9AIP%E6%AD%A3%E7%A1%AE%E8%AE%BE%E7%BD%AEDNS%EF%BC%9F.png)
在阅读了互联网上的教程后,我没有成功在 debian 中将域名设置为 IP 地址。这是我的/etc/resolv.conf
:
domain localdomain
search localdomain
nameserver 172.16.170.2
domain utopia.net
search utopia.net
nameserver 172.16.170.135
但它不起作用,例如我尝试: 但有效,为什么?我希望 utopia.net 服务器能够工作并指向 IP...ssh [email protected]
ssh [email protected]
答案1
/etc/resolv.conf
不设置名称和IP地址之间的映射。它仅告诉您的计算机要求哪些服务器进行转换(DNS 服务器,又称名称服务器)。
您有两个选择:
“静态选项”(实际上并不使用 DNS)是将您的条目添加到
/etc/hosts
:添加一行,例如:172.16.170.135 utopia.net
你应该已经准备好了。这将覆盖 的实际 IP
utopia.net
,但仅在您添加此信息的计算机上有效/etc/hosts
实际的 DNS 选项:您需要注册一个域名,并在该域名的“区域”内声明到 IP 地址的映射。这适用于任何使用 DNS 的计算机,但需要您“购买”(实际上是租赁)域名并正确配置它
还有一种替代方法是拥有自己的“本地”域名,将其配置在您自己的名称服务器上,并将计算机配置为使用该名称服务器进行解析。这将允许您在多台计算机上使用映射,同时仍然需要在一个位置更改从名称到 IP 的映射。但这可能超出了您当前的能力范围。
答案2
这并不是/etc/resolv.conf
说你必须修改。该文件用于指定本地计算机将用于名称解析的 DNS 服务器。
您想要做的是将 IP 地址映射到完全限定的主机名,仅供本地计算机使用。 IP 地址和 FQDN 之间的本地映射位于 中/etc/hosts
,您必须根据以下格式编辑该文件(示例取自hosts
联机帮助页):
# The following lines are desirable for IPv4 capable hosts
127.0.0.1 localhost
# 127.0.1.1 is often used for the FQDN of the machine
127.0.1.1 thishost.mydomain.org thishost
192.168.1.10 foo.mydomain.org foo
192.168.1.13 bar.mydomain.org bar
146.82.138.7 master.debian.org master
209.237.226.90 www.opensource.org
忘记设置 DNS 记录——这不是您想要做的。
答案3
该域名是utopia.net
您注册的吗(极不可能,因为根据whois
该域名自 1995 年以来一直在不断注册)?
如果没有,那么不要使用它。
如果每个喜欢某个域名的人都决定在自己的内部网络中使用它,而不考虑该域名属于其他人,那么 DNS 将彻底崩溃。 “哦,我真的很喜欢 google.com,这是一个漂亮的名字 - 我将把它用于我的私人 LAN。太糟糕了,我的用户都无法访问这个不起眼的搜索引擎”。
如果您不想注册(即购买/租赁)域并安装和配置名称服务器,那么只需安装一个零配置服务器avahi
,然后您就可以了ssh hostname.local
。