我有几台机器安装在我的内部192.168.1。*网络和我有一个公共IP,我的路由器是连接在我的网络192.168.1.3的内部Linux机器上的所有端口。我想知道如何根据主机名将Linux框上的DNS服务器配置为转发到内部LAN。例如。计算机4.83.22.56.12会找到我的盒子,然后转发到192.168.1.4在本地网络。
这样我就可以在一个IP下运行多个web服务器。顺便说一句,我用Ubuntu。
谢谢,戴夫
编辑--
对不起,这个问题很混乱,我可能是喝醉了才问的。我的意思是,我的路由器NAT后面有多个Linux盒,它们都有一个本地IP 192.168.1.2-10。我有一个公共IP,它只指向路由器(另一个Linux盒),我希望它通过子域/主机名直接指向其中一个盒子。例如:
公共IP上的domain.com ->路由器->主盒
box2.domain.com ->路由器-> 192.168.1.3
希望能帮上忙?你能帮帮我吗?
--
发布于 2011-01-14 17:41:37
你不需要这么做。如果使用Apache,可以使用虚拟主机功能。
发布于 2011-01-14 18:50:03
首先,Harv正确地说,您可以使用虚拟主机使一个apache服务器服务于多个网站。如果您希望使用单独的物理主机或服务器实例(也许您希望同时运行IIS、aolserver和apache?)这也是可能的。
对于这两种情况,都要在外部DNS中为您想要的每个servername添加一个条目。例如,假设您的域是example.com,并且这是example.com的区域文件:
@ IN A my.ip.is.here
www IN CNAME example.com.
apache IN CNAME example.com.
vhost IN CNAME example.com.这允许外部主机解析example.com、www.example.com、apache.example.com和vhost.example.com。单个端口上的所有请求都必须转发到单个主机:使用多个主机的唯一方法是使用某种筛选器:您可以使用防火墙规则(iptables)或使用像squid这样的代理。
如果您不希望有多个主机(容易得多),只需在apache配置中为每个主机添加一个节即可。考虑到您使用的是Ubuntu,我认为它们通常安装在/etc/apache2/站点中--可以在/etc/apache2/site中启用符号链接--当它们处于活动状态时。试试这个:
cd /etc/apache2/sites-available
cp the-default-site-file-name mysite
cd ../sites-enabled
ln -s ../sites-available/mysite 01mysite编辑mysite文件以指向不同的documents文件夹,并将ServerName更改为vhost之一
发布于 2011-01-14 19:53:38
我觉得这个问题的措辞令人费解。我可以假设你是在问两个问题中的一个。
1)一个单一的web服务器是否可以用一个IP托管多个站点?答案是肯定的。使用以下链接了解它:http://httpd.apache.org/docs/2.0/vhosts/examples.html
( 2) BIND可以用来解析内部机器和外部机器的不同名称吗?答案是肯定的。看看其中一个链接:http://www.howtoforge.com/two_在……里面_一_dns_bind9_视图 http://www.cyberciti.biz/faq/linux-unix-bind9-named-configure-views/
许多年前,我就用这个方法伪造文章了。您可能需要进一步研究绑定“视图”。
如果两个服务位于同一台计算机上,则需要在同一台服务器上配置这两个部件。首先,您需要解析DNS中的主机(正确的安装视图),然后需要设置Apache,以便根据请求的域响应每个请求。
https://serverfault.com/questions/222580
复制相似问题