dns bind 配置_dns forwarding设置

dns bind 配置_dns forwarding设置智能dns配置基于bind9视图语句语法viewview_name[class]{match-clients{address_match_list};match-destinations{address_match_list};match-recursive-only{yes_or_no};[view_option;…][zone-statisti…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

智能dns配置基于bind9

视图语句语法

view view_name [class] {

match-clients { address_match_list } ;
match-destinations { address_match_list } ;
match-recursive-only { yes_or_no } ;
[ view_option; …]
[ zone-statistics yes_or_no ; ]
[ zone_statement; …]
};

视图语义

视图是 BIND9 的强大的新功能,允许名称服务器根据询问者的不同有区别的回答视图语句中定义的域只对匹配视图的用户是可用的。

外部view语句(使用view关键字进行定义),所有的域视图必须会在 view 语句内部产生。

这是一则典型的使用视图语句运行的拆分 DNS 设置

view "internal" {
match-clients { 10.0.0.0/8; };
// 应该与内部网络匹配. 
// 只对内部用户提供递归服务. 
// 提供 example.com zone 的完全视图
//包括内部主机地址. 
recursion yes;
zone "example.com" {
type master;
file "example-internal.db";
};
};
view "external" {
match-clients { any; };
// 拒绝对外部用户提供递归服务
// 提供一个 example.com zone 的受限视图
// 只包括公共可接入主机
recursion no; 
zone "example.com" {
type master;
file "example-external.db";
};
};

Jetbrains全家桶1年46,售后保障稳定

以上内容来自bind9管理员手册

配置及测试

bind9 name.conf相关配置如下

view "internal"{
match-clients {172.16.0.82;};
recursion yes;
zone "test" {
type master;
file "/var/cache/bind/test.host";
};
zone "." {
        type hint;
        file "/bind/named/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
        type master;
        file "/bind/named/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/bind/named/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/bind/named/db.0";
};
zone "255.in-addr.arpa" {
        type master;
        file "/bind/named/db.255";
};
zone "asd" {
        type master;
        file "/var/cache/bind/asd.hosts";
        };
zone "ad" {
        type master;
        file "/var/cache/bind/ad.hosts";
        };
};
view "external" {
match-clients {any;};
recursion yes;
zone "test" {
type master;
file "/var/cache/bind/test.db";
};
zone "." {
        type hint;
        file "/bind/named/db.root";
};

zone "localhost" {
        type master;
        file "/bind/named/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/bind/named/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/bind/named/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/bind/named/db.255";
};
zone "asd" {
        type master;
        file "/var/cache/bind/asd.hosts";
        };
zone "ad" {
        type master;
        file "/var/cache/bind/ad.hosts";
        };
};

以上内容可以简写将公共域名部分分离到配置文件,然后使用include语句引用,有兴趣的同学可以尝试下

test.host内容如下:

$ttl 38400
test.   IN  SOA ha1. a.linx.com. (
            1525945178
            10800
            3600
            604800
            38400 )
test.   IN  NS  ha1.
ha1 IN A 127.0.0.1
www.test. IN A 172.16.0.82

test.db内容如下:

$ttl 38400
test.   IN  SOA ha1. a.linx.com. (
            1525945178
            10800
            3600
            604800
            38400 )
test.   IN  NS  ha1.
ha1 IN A 127.0.0.1
www.test. IN A 172.16.0.20

测试

  1. 使用本机ip测试
[***@localhost ~]$ dig www.test @127.0.0.1

; <<>> DiG 9.8.1-P1 <<>> www.test @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13392
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;www.test.          IN  A

;; ANSWER SECTION:
www.test.       38400   IN  A   172.16.0.20

;; AUTHORITY SECTION:
test.           38400   IN  NS  ha1.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Sep 25 15:03:50 2018
;; MSG SIZE  rcvd: 59
  1. 使用172.16.0.82测试
[***@localhost ~]$ dig www.test @172.16.0.22

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.test @172.16.0.22
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48598
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.test.          IN  A

;; ANSWER SECTION:
www.test.       38400   IN  A   172.16.0.82

;; AUTHORITY SECTION:
test.           38400   IN  NS  ha1.
;; Query time: 0 msec
;; SERVER: 172.16.0.22#53(172.16.0.22)
;; WHEN: 二 9月 25 15:04:35 CST 2018
;; MSG SIZE  rcvd: 70

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213957.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQL报错注入_报错注入原理

    SQL报错注入_报错注入原理目录1报错注入概述2常用的报错注入命令2.2groupby重复键冲突(count()+floor()+rand()+groupby组合)2.2.1groupby重复键冲突的原理及bug演示2.2.2补充:sql语句解析过程2.3XPATH报错2.3.1extractvalue()函数2.3.2updatexml()函数2.4测试失败的命令3报错注入案例3.1操作环境3.2获取敏感信息3.2.1获取数据库名3.2.2获取表名3.2.3获取字段名3.2.4获取字段内

    2022年9月30日
    2
  • phpstorm激活码2022【中文破解版】

    (phpstorm激活码2022)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~747EFQ8BIF-eyJsaWNlb…

    2022年3月31日
    71
  • 安装mysql-python报错_mac好用的ssh

    安装mysql-python报错_mac好用的sshmac系统安装mysqlclient时,会报错OSError:mysql_confignotfound解决办法在项目路径下输入以下内容PATH="$PATH":/usr

    2022年8月7日
    11
  • jvm定义的类加载器_类加载器有哪些

    jvm定义的类加载器_类加载器有哪些0.为什么需要自定义类加载器网上的大部分自定义类加载器文章,几乎都是贴一段实现代码,然后分析一两句自定义ClassLoader的原理。但是我觉得首先得把为什么需要自定义加载器这个问题搞清楚,因为如果不明白它的作用的情况下,还要去学习它显然是很让人困惑的。首先介绍自定义类的应用场景:(1)加密:Java代码可以轻易的被反编译,如果你需要把自己的代码进行加密以防止反编译,可以先…

    2025年9月23日
    6
  • Android Studio 中Intel HAXM安装与模拟器创建「建议收藏」

    Android Studio 中Intel HAXM安装与模拟器创建「建议收藏」AndroidStudio中IntelHAXM安装与模拟器创建

    2022年4月19日
    36
  • Jenkins下载_windows安装jenkins

    Jenkins下载_windows安装jenkins一、安装官网地址:https://jenkins.io/zh/1、下载war包,放到tomcat——》webapps下,双击bin——》startup.bat启动2、打开命令提示符。在命令提示符

    2022年8月1日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号