使用dnsmasq将.dev域指向与其连接的所有本地网络中的一台计算机

时间:2013-02-22 18:42:32

标签: networking dns localhost dnsmasq

我正在Mac上运行Apache等(实际上是MAMP,但很快会被单独的Apache,PHP,MySQL ......取代),用于在本地/离线测试我的网站。

我希望能够从以下任何一个方面测试我的所有本地网站(域*.dev,而不得不更新每个网站上的hots文件设备(其中一些,如非r​​oot电话,甚至不允许编辑主机文件):

  1. 显然,我的Mac本身......
  2. 我的Mac连接到的任何本地网络上的任何设备(我的Mac不一定总是具有相同的IP地址)
  3. 在我的Mac上运行的任何虚拟机(在Parallels中) - 主要是各种版本的Windows(我的Mac在Parallels共享网络上总是具有相同的IP地址)
  4. 现在,我读到dnsmasq可以提供帮助,并使用Homebrew将其安装在我的Mac上。我将其设置为在启动时启动,我的dnsmasq.conf内容如下:

    address=/.dev/127.0.0.1
    

    这样可以让任何域*.dev在我自己的Mac上运行 ,这是一个开始。

    接下来,我尝试通过将DNS服务器设置为我的Mac的本地IP地址,使其在Parallels VM中运行。但是,这不起作用 - 因为dnsmasq返回127.0.0.1作为*.dev的任何查找的IP,但当然这会使VM在VM本身而不是在我的Mac上查找该站点......显然不起作用。

    所以我有点难过。任何人都可以给我任何提示吗?有没有办法设置dnsmasq来做我想要的,或者我应该看另一种方法?

    谢谢!

1 个答案:

答案 0 :(得分:1)

我对Parallels没有任何经验,但使用Virtualbox可以设置桥接网络连接。我认为Parallels有类似的东西。这将建立一个内部网络(例如,在192.168.1。*上),你可以为此分配固定的IP地址。像这样你可以给Mac一个固定的IP地址,你也可以在你的dnsmasq配置中使用 - 但你可能想要有两个TLD,这样.dev可以指向127.0.0.1而.devel指向192.168.1 .XX。