BIND9根据子网返回不同的IP地址

问题描述:

我有一个带有5个网络接口(3个WLAN和两个有线局域网)的覆盆子pi。 另外,我建立了一个BIND 9服务器。现在我想给PI(主机名为“DEV”)提供每个接口的不同IP地址。BIND9根据子网返回不同的IP地址

例如:当来自网络192.168.2.0/24的客户端查找主机名“DEV.home.lan”时,他应该得到“DEV.home.lan”的IP为192.168.2.100的响应。 当192.168.10.0/24网络的客户端查找该主机名时,IP应该是192.168.10.1。

据我所知,这可以使用视图来完成。我无法让它工作,所以我有一些问题。 Q1:为什么我从192.168.2.0/24和192.168.10.0/24网络获得“DEV.home.lan”的IP地址“192.168.2.100”?

的配置文件设置如下:1.

/etc/bin/named.conf

include "/etc/bind/named.conf.options"; 
include "/etc/bind/named.conf.local"; 
#include "/etc/bind/named.conf.default-zones"; 

我不得不注释掉用默认区域的最后一行的文件,否则我得到的错误/etc/bind/named.conf.default-zones:2: when using 'view' statements, all zones must be in views(我想这是一个默认配置文件,但我可以在必要时提供)。

Q2:文件中的区域究竟是什么?我需要他们吗?

2.

/etc/bind/named.conf.options

options { 
    directory "/var/cache/bind"; 
    forwarders { 
     8.8.8.8; 
     8.8.4.4; 
    }; 
    dnssec-validation no; 
    empty-zones-enable yes; 
    auth-nxdomain no; # conform to RFC1035 
    listen-on-v6 { any; }; 
}; 

我不认为错误是在该文件中。

3. /etc/bind/named.conf.local

view "local" { 
    match-clients { any; }; 
    zone "home.lan" IN { 
     type master; 
     file "/etc/bind/db.home.lan"; 
    }; 
}; 
view "ext" { 
    match-clients { 192.168.2.0/24;}; 
    zone "2.168.192.in-addr.arpa" { 
     type master; 
     file "/etc/bind/db.rev.2.168.192.in-addr.arpa"; 
    }; 
}; 
view "wlan0" { 
    match-clients { 192.168.3.0/24;}; 
    zone "3.168.192.in-addr.arpa" { 
     type master; 
     file "/etc/bind/db.rev.3.168.192.in-addr.arpa"; 
    }; 
}; 
view "wlan00" { 
    match-clients {192.168.4.0/24;}; 
    zone "4.168.192.in-addr.arpa" { 
     type master; 
     file "/etc/bind/db.rev.4.168.192.in-addr.arpa"; 
    }; 
}; 
view "wlan01" { 
    match-clients {192.168.5.0/24;}; 
    zone "5.168.192.in-addr.arpa" { 
     type master; 
     file "/etc/bind/db.rev.5.168.192.in-addr.arpa"; 
    }; 
}; 
view "int" { 
    match-clients {192.168.10.0/24;}; 
    zone "10.168.192.in-addr.arpa" { 
     type master; 
     file "/etc/bind/db.rev.10.168.192.in-addr.arpa"; 
    }; 
}; 

4. /etc/bind/db.home.lan

home.lan. IN SOA DEV.home.lan. hostmaster.home.lan. (
    2013120101 ; serial 
    8H ; refresh 
    4H ; retry 
    4W ; expire 
    1D ; minimum 
) 
home.lan. IN NS DEV.home.lan. 
home.lan. IN MX 10 DEV.home.lan. 
; Set the address for localhost.home.lan 
localhost IN A 127.0.0.1 
; Set the hostnames in alphabetical order 
DEV IN A 192.168.2.100 
router IN A 192.168.2.1 
proxy IN CNAME DEV.home.lan. 
wpad IN CNAME DEV.home.lan. 

最后,/etc/bind/db.rev.10.168.192.in-addr.arpa

; IP Address-to-Host DNS Pointers for the 192.168.10 subnet 
@ IN SOA DEV.home.lan. hostmaster.home.lan. (
    2013120101 ; serial 
    8H ; refresh 
    4H ; retry 
    4W ; expire 
    1D ; minimum 
) 
; define the authoritative name server 
      IN NS DEV.home.lan. 
; our hosts, in numeric order 
1   IN PTR router.home.lan. 
1   IN PTR DEV.home.lan. 

谢谢!

view "local" { 
    match-clients { any; }; 
    zone "home.lan" IN { 
     type master; 
     file "/etc/bind/db.home.lan"; 
    }; 
}; 

认沽在配置文件的底部这部分