![尝试在我的 Mac(或整个本地网络)上使任何 *.dev 域指向一个 IP](https://linux22.com/image/576603/%E5%B0%9D%E8%AF%95%E5%9C%A8%E6%88%91%E7%9A%84%20Mac%EF%BC%88%E6%88%96%E6%95%B4%E4%B8%AA%E6%9C%AC%E5%9C%B0%E7%BD%91%E7%BB%9C%EF%BC%89%E4%B8%8A%E4%BD%BF%E4%BB%BB%E4%BD%95%20*.dev%20%E5%9F%9F%E6%8C%87%E5%90%91%E4%B8%80%E4%B8%AA%20IP%20.png)
我正在尝试将我的开发内容转移到运行 ispconfig 的小型本地 Debian 服务器上,并且需要基本上使 *.dev 路由到特定 IP。例如,我去了http://some-site.dev它将转到 192.168.0.150
有没有办法可以在不使用昂贵路由器的情况下做到这一点?
谢谢
答案1
在 Windows 中,我会说“修改 hosts 文件”。事实证明,我的答案正是Mac 也一样。该链接将向您展示如何修改 OSX 中的 HOSTS 文件,以便您解析特定的主机名(例如http://站点名称.dev) 在没有 DNS 服务器的网络上。
因为我的回答被否决了,我想我应该详细解释一下为什么我认为这对你来说是最好的选择。下面是Microsoft 文章解释 hosts 文件的概念(它还涉及到基于 *nix 的系统具有相同文件的想法),这里有一个很棒的博客文章触及同一件事,内容集中在 Mac 上。
在 DNS 流行之前,hosts 文件是进行特定名称解析的方法。由于您没有 DNS 服务器(并且构建一个 DNS 服务器可能很麻烦,并且超出了您解释的需要),因此只需使用 hosts 文件即可。
答案2
实现此目的的唯一方法是托管您自己的 DNS 服务器并设置将所有 *.dev 解析为特定地址的通配符规则。
或者,如果您只打算对一台机器执行此操作,dnsmasq 似乎会执行您要求的操作。在您的工作站上;
echo "192.168.0.50 dev" >> /etc/hosts
sudo port install dnsmasq
echo "address=/.dev/192.168.0.50" >> /opt/local/etc/dnsmasq.conf
open your network settings and add 127.0.0.1 as a dns server
ping a *.dev domain to see if the dns forward has worked
如果它确实有效,每当你输入 *.dev 域时,它都会自动将你转发到 192.168.0.50