DNS主机背后的IP相同
最近我在www.active-domain.com买了一个域名 我把它用于我的家庭网络,所以我们谈论NAT和动态IP。 由于我的IP是动态的,我无法创建一个委派来使用我自己的DNS服务器。 活动域充当DNS服务器,所以我只能创建:A,CNAME,URL重定向,URL框架和TXT记录。DNS主机背后的IP相同
这就是说,这是我的问题:因为我支持NAT,是否可以在同一个IP后面创建多个主机?
例如:
我希望srv1.mydomain.com指向我的网络中的192.168.0.101。
我希望srv2.mydomain.com指向我的网络中的192.168.0.102。
但是从外部,都指向(例如)74.0.0.1
简而言之:
srv1.mydomain.com - > 74.0.0.1 - > 192.168.0.101
srv2.mydomain.com - > 74.0.0.1 - > 192.168.0.102
谢谢。
在任何情况下,外部DNS为yourhost.example.com
和anotherhost.example.net
将在防火墙的外部地址(IN A 74.0.0.1
这里),或在防火墙的主机名(例如IN CNAME yourfirewall.example.org.
)点。
但请注意,DNS(域名到IP地址解析)与连接处理和路由分开进行。这意味着:
- 当客户端计算机遇到DNS主机名时,会尝试查找它 - 例如,询问其本地DNS服务器,“谁是yourhost.example.com”; DNS服务器回复“74.0.0.1”。
- 就IP堆栈而言,这是最后一次使用主机名;从现在起,客户只能使用该地址进行操作。
- 客户端打开到地址和端口的连接;但是,传入的数据包仅标记为“对于地址74.0.0.1处的计算机”,没有任何指示“使用什么DNS名称来获取该地址,如果有的话”。
某些协议(如HTTP)可能使用主机名在分组的数据部分(与HTTP,这是Host:
报头),但不是每个协议执行此操作。这些都是可能性:
如果你有这将在不同端口上运行两台服务器,这是不是一个真正的问题:我是指你的Q&A on port forwarding on SuperUser。
如果您需要将相同的端口上运行两个服务器,这变得困难,如果不是不可能的:它可能可以反向代理业务(和一台服务器从数据中为其他分隔数据);如果有问题的协议不能做到这一点(例如SMTP或SSH),那么你就是SOL。
- 特别是,如果你的目的是将流量导向到两个不同的HTTP服务器(包括端口80),你需要在你的防火墙(
74.0.0.1
)运行某种反向代理的。与Apache,最简单的配置看起来有点像这样:
- 特别是,如果你的目的是将流量导向到两个不同的HTTP服务器(包括端口80),你需要在你的防火墙(
<VirtualHost *:80>
ServerName yourhost.example.com
ProxyPass/http://192.168.0.101/
ProxyPassReverse/http://192.168.0.101/
</VirtualHost>
<VirtualHost *:80>
ServerName anotherhost.example.net
ProxyPass/http://192.168.0.102/
ProxyPassReverse/http://192.168.0.102/
</VirtualHost>
不,这不会是HTTP。 – Moinonime 2011-06-10 15:12:05
@Matthieu:在这种情况下,它可能会更复杂一点。看我的编辑。 – Piskvor 2011-06-10 15:49:24
那么协议是什么?如果该协议不包含用于获取74.0.0.1地址的域名,则无法知道哪个域名的用途。 – 2011-06-10 15:50:47