为多个公共 IP 设置子域

为多个公共 IP 设置子域

我希望你可以帮助我。

我在一个子网中有 5 个公共 IP186.121.200.X/29

我已经example.com针对其中一个公共 IP 和一些指向其余 IP 的子域名进行了寻址。

现在,我在另一个子网中拥有另外 5 个公共 IP190.181.15.Y/29

我的问题是:

我可以配置example.com为也指向子网的 IP190.181.15.Y/29吗?

我该怎么做?

我有以下配置文件:

(named.conf.options)
options {
        directory "/var/cache/bind";
        forwarders {
                // Google Public DNS (IPv4)
                8.8.8.8;
                8.8.4.4;
                // Google Public DNS (IPv6)
                2001:4860:4860::8888;
                2001:4860:4860::8844;
                // ADSL router
                186.121.200.X;
        };
        dnssec-validation auto;
        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};
(named.conf.local)
zone "example.com" {
        type master;
        file "/etc/bind/db.direct";
        allow-query { any; };
};
zone "206.121.186.in-addr.arpa" {
        type master;
        file "/etc/bind/db.reverse";
        allow-query { any; };
};
(db.direct)
$TTL    604800
@       IN      SOA     example.com. root.example.com. (
                             11         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@               IN       NS     example.com.
@               IN       MX     10    mail
@               IN       A      186.121.206.X1
www             IN       A      186.121.206.X1
mail            IN       A      186.121.206.X2
subdomain1      IN       A      186.121.206.X3
subdomain2      IN       A      186.121.206.X4
subdomain3      IN       A      186.121.206.X5

(db.reverse)
$TTL    604800
@       IN      SOA     example.com. root.example.com. (
                              8         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      example.com.
X1     IN      PTR     ns.example.com.
X1     IN      PTR     www.example.com.
X2     IN      PTR     mail.example.com.
X3     IN      PTR     subdomain1.example.com.
X4     IN      PTR     subdomain2.example.com.
X5     IN      PTR     subdomain3.example.com.

编辑:我已尝试执行以下操作:

(db.direct)
...
subdomain4      IN       A      190.181.15.Y1
(db.reverse)
...
Y1     IN      PTR     subdomain4.example.com.

当保存文件并重新启动绑定时,子域会响应 ping。

ping subdomain4.example.com

PING subdomain4.example.com (190.181.15.Y1) 56(84) bytes of data.

但当通过浏览器访问子域名时,它会重定向到公共 IP。它不与子域名的名称一起保存。

问题是什么?

答案1

任何 A 记录都可以有多个条目。您只需将另一个条目添加到区域文件,其中包含您想要的其他 IP。

答案2

您可以为区域中的单个记录添加多个 IP 地址,但您无法控制(没有额外资源)每个请求将解析哪个 IP,而是会有随机解析(例如:对于两个 IP 地址,每个 IP 地址的可能性为 50%)

答案3

如果我没记错的话,你正在尝试做:

subdomain1      IN       A      186.121.206.X3

然后指向反向IP:

190.181.15.Y      IN       PTR      subdomain1.example.com.  

根据我的经验,从 ARIN、APNIC、AFRINIC、RIPE(区域 IP 注册组织)获得直接 IP 分配的组织能够为从其区域 IP 注册者处获得的 IP 地址创建 PTR 记录。

我不相信有任何区域 IP 注册者曾经提供小于 C 类 (/24) 的 IP。

因此,您可以执行以下操作(为同一个子域名设置多个 A 记录),但查找 subdomain1.example.com 时的结果 IP 是随机选择的

subdomain1      IN       A      186.121.206.X3
subdomain1      IN       A      190.181.15.Y3

除非您拥有 190.181.15.Y,否则即使您为 IP 创建了如下所示的 PTR 记录,这些 PTR 记录也很可能不会公开,除非在极少数情况下,IP 的所有者为您提供了为其 IP 地址创建 PTR 记录的选项:

15.181.190.in-addr.arpa. IN SOA ns.example.com. 
Y3      IN       PTR      subdomain1.example.com.  

相关内容