使用 bind 将一个域转发到另一个域而不进行屏蔽

使用 bind 将一个域转发到另一个域而不进行屏蔽

我正在尝试将一些域名转发到另一个域名。场景很简单:

  • 域名 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

不是通过 DNS。你想要的是URL 重定向,可能通过HTTP

答案3

你不能。

如果两个域都需要位于同一台机器上,那么两个域都需要包含各自标签的相同 A 记录。

如果区域文件中的数据都是相对的,则可以对两个区域使用相同的区域文件。

相关内容