绕过对BIND9的需求,并使用我的Ubuntu服务器作为互联网网关?

我不是一个完整的networking新手,但同时我从来没有试图做我想在这里做的事情。

我有Ubuntu服务器(几乎全新安装)盒子连接到Linksys E3000路由器,在我家是3 Win7的动力的机器,2 OSX的电脑,2 Android的智能手机设备,和一个PS3,360等。不用说,我有一个我的房子里有很多不同的设备经常使用互联网,所以我需要在这里小心行事。

这个Ubuntu服务器作为一个LAMP堆栈(工作)和一个文件服务器以及Samba的本地Web服务器。 这也有BIND9去了一下,但我从来没有得到它的正常工作。 下面是试图到达这里的场景:

在我的任何设备在任何时候(无论如何与Web浏览器的任何东西)我想能够访问“mysite.dev”,这个url将parsing为我的Ubuntu服务器上的Apacheconfiguration的虚拟主机,如果URL无法解决,它默认回到正常的互联网网关尝试从互联网上提供一个页面。 为了build立一个新的开发网站(.dev),我只想修改apache虚拟主机,并在系统上创build我的适当的文件夹(我甚至会决定不得不重新启动我的Apache每次,我会很酷那)
注意:我不想也不需要在远程networking上看到这个东西。 这对于内部开发来说是非常重要的。

我明白要做到这一点,我需要configuration我的路由器通过IP将所有的连接通过我的Ubuntu的盒子,这是我已经成为难倒,因为我不确定我应该find哪些设置和修改。
注意:我讨厌BIND9。 我会使用它,如果我绝对必须,但我有一个相当昂贵的Linksys路由器,它应该能够做到这里需要什么。
在前一天工作完成的时候,我们完全避免使用BIND9,只是使用具有特殊configuration的路由器首先parsingurl到我们的apache,然后到互联网,正是我在这里要做的。

这是所有设置,所以我不需要做

// UbuntuMan / mysite(我现在有)

编号宁可做

http://mysite.dev

为了实现这个目标,我将分拆海洋。 我所有用来开发网站的计算机都是在一天中的某个时间点进行的,而且我有一大堆订单进来,而且我经常切换计算机,所以能够在服务器目录上工作是非常重要的。这样传递的页面(这就是为什么Samba在那里)。

可选的问题:如果这确实得到了设置,如果Ubuntu服务器不存在(即:closures),那么设置在哪里将是多么容易,那么它将默认只是正常上网?

希望您的Linksys路由器将允许您覆盖通过DHCP实施的默认DNS主/辅助服务器。 如果是这样,请将主服务器设置为您的Ubuntu服务器,将其设置为Linksys设备本身(假设它已经提供了DNS服务,大部分都是这样做的)。

一旦完成了BIND 9的痛苦(这真的不是那么糟糕!)可以通过安装自己的dnsmasq来避免。 我相当确定它在Ubuntu存储库中可用。 开箱即用:

  • 将传入的DNS请求转发到/etc/resolv.conf中列出的DNS服务器(将这些请求设置为您的路由器或ISP提供的DNS服务器。
  • / etc / hosts中列出的“影子”结果。

到第二点,在/ etc / hosts中添加一个条目,如:

192.168.1.42 mysite.dev www.mysite.dev 

其中192.168.1.42是你的Ubuntu服务器的IP。 然后,当任何内部主机查找mysite.dev时,他们将请求转发到他们的主DNS服务器(Ubuntu系统),它将返回它的本地logging。 如果他们发送google.com的请求,他们将被转发上游。

现在说,你可以closures这个Ubuntu服务器,DNS客户端将会使用辅助DNS服务器(你的路由器,ISP,无论你在Linksys的DHCP选项中configuration了什么)。 这是不理想的,因为不同的DNS客户端实现可能会非常缓慢,当失败回到第二个DNS。 大多数桌面操作系统将很好的故障转移,而不是重新尝试连接到主要的5分钟,但我看到不太好的实现,尝试每个请求的主服务器,5秒的超时时间令人讨厌。

希望这可以帮助!

听起来就像你需要在你的路由器或DNS服务器上为mysite.dev创build一个Alogging,这样内部机器将获得你本地服务器的IP地址。