我正在尝试将一些域名转发到另一个域名。场景很简单:
域名 example.com 是主域名
域名 example.net 应转发至 example.com
所有设置的子域名也应该如此
作为 DNS,我的机器正在运行bind
,我的配置如下所示:
命名的.conf:
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
notify yes;
allow-transfer{
208.79.240.3;
208.79.241.3;
};
};
zone "example.net" {
type master;
file "/etc/bind/db.example.net";
notify yes;
allow-transfer{
208.79.240.3;
208.79.241.3;
};
};
db.example.com:
$TTL 1d
@ IN SOA ns.example.com. dns.example.com. (
2012021204 ;serial
8H ; refresh
2H ; retry
4W ; expire
1D) ; minimum
IN NS ns
IN NS ns1.rollernet.us.
IN NS ns2.rollernet.us.
ns IN A 78.46.106.248
ns1.rollernet.us. IN A 208.79.240.3
ns2.rollernet.us. IN A 208.79.241.3
@ IN MX 10 mail
@ IN MX 100 mail.rollernet.us.
@ IN MX 100 mail2.rollernet.us.
@ IN A 78.46.106.248
mail IN A 78.46.106.248
www IN A 78.46.106.248
db.example.net
$TTL 1d
@ IN SOA ns.example.net. dns.example.net. (
2012021208 ;serial
8H ; refresh
2H ; retry
4W ; expire
1D) ; minimum
IN NS ns.example.com.
IN NS ns1.rollernet.us.
IN NS ns2.rollernet.us.
ns IN A 78.46.106.248
ns1.rollernet.us. IN A 208.79.240.3
ns2.rollernet.us. IN A 208.79.241.3
@ IN A 78.46.106.246
mail IN CNAME mail.example.com.
www IN CNAME www.example.com.
到目前为止转发工作正常,所有对 (www.)example.net 的访问都转发到 (www.)example.com。
我唯一缺少的是浏览器中的地址栏不是当我访问 (www.)example.net 时切换到 (www.)example.com。我该如何实现这一点?
答案1
如果您只是想转到同一个 IP 地址,那么简单的 CNAME 就足够了。
但我知道你想要实际重定向,所以你必须使用 http 重定向。通过 Bind/dns 重定向是不可能的。
由于这是一个简单的捕获所有重定向,因此使用 apache 它就像以下几行一样简单:
<VirtualHost *:80>
ServerName example.net
ServerAlias www.example.net *.example.net
Redirect permanent / http://www.example.com/
</VirtualHost>
答案2
答案3
你不能。
如果两个域都需要位于同一台机器上,那么两个域都需要包含各自标签的相同 A 记录。
如果区域文件中的数据都是相对的,则可以对两个区域使用相同的区域文件。