• docker使用bind9实现域名解析


    刷新服务

    
    cd /free_cicdfs0/compose/bind9
    
    docker-compose down; docker-compose up  -d
    
    
    

    修改配置文件

    新版本 配置文件 大致结构发生了一些改变

    cat /free_cicdfs0/data/bind9/etc/bind/named.conf
    // This is the primary configuration file for the BIND DNS server named.
    //
    // Please read /usr/share/doc/bind9/README.Debian.gz for information on the
    // structure of BIND configuration files in Debian, *BEFORE* you customize
    // this configuration file.
    //
    // If you are just adding zones, please do that in /etc/bind/named.conf.local
    
    include "/etc/bind/named.conf.options";
    include "/etc/bind/named.conf.local";
    include "/etc/bind/named.conf.default-zones";
    
    
    
    

    从 114 缓存 查询 数据

    
    cat > /free_cicdfs0/data/bind9/etc/bind/named.conf.options <<"EOF"
    
    # include "/etc/rndc.key";
    
    controls {
        inet 127.0.0.1 port 953
        allow { 127.0.0.1; } keys { "rndckey"; };
    };
    
    options {
        
        // set no
        dnssec-enable no;
        dnssec-validation no;
    
        listen-on port 53 { any; };
    
        allow-query { any; };
    
        forwarders {
            114.114.114.114;
        };
    
    
    };
    
    EOF
    
    chmod 777 -R  /free_cicdfs0/data/bind9/
    chown root:root -R  /free_cicdfs0/data/bind9/
    
    chown root:named -R  /free_cicdfs0/data/bind9/
    
    docker-compose up -d 
    # log error
    couldn't add command channel 127.0.0.1#953: file not found
    
    
    docker cp -a bind9:/etc/bind  /free_cicdfs0/data/bind9/etc/
    
    docker cp -a bind9:/var/lib/bind  /free_cicdfs0/data/bind9/var/lib/
    
    

    可以 dig 无法 ping

    broken trust chain resolving 'baidu.com/AAAA/IN': 114.114.114.114#53
    
    解决:
    由于是局域网内非法DNS,所以将DNS安全关闭.
    [root@192-168-174-42 ~]# vim /etc/named.conf
    将下面的两项设置为no
            dnssec-enable no;
            dnssec-validation no;
    
    

    查看 已经 区域 解析,并添加 新的 解析 项

    
    cat /free_cicdfs0/data/bind9/etc/bind/named.conf.default-zones
    // prime the server with knowledge of the root servers
    zone "." {
            type hint;
            file "/usr/share/dns/root.hints";
    };
    
    // be authoritative for the localhost forward and reverse zones, and for
    // broadcast zones as per RFC 1912
    
    zone "localhost" {
            type master;
            file "/etc/bind/db.local";
    };
    
    zone "127.in-addr.arpa" {
            type master;
            file "/etc/bind/db.127";
    };
    
    zone "0.in-addr.arpa" {
            type master;
            file "/etc/bind/db.0";
    };
    
    zone "255.in-addr.arpa" {
            type master;
            file "/etc/bind/db.255";
    };
    
    

    https://nginx164190.zk.wh.com/

    192.168.164.190 nginx164190.zk.wh.com

    在 linux 安装 局域网 cert

    # 添加 解析 条目
    vi /etc/hosts
    192.168.164.190  nginx164190.zk.wh.com
     
    [root@node01 ~]# curl https://nginx164190.zk.wh.com/
    curl: (60) Peer's Certificate issuer is not recognized.
    More details here: http://curl.haxx.se/docs/sslcerts.html
    
    curl performs SSL certificate verification by default, using a "bundle"
     of Certificate Authority (CA) public keys (CA certs). If the default
     bundle file isn't adequate, you can specify an alternate file
     using the --cacert option.
    
    
    curl -o install_cert_linux.zip http://192.168.164.190:40080/install_cert_linux.zip
    unzip install_cert_linux.zip
    
    cd install_cert_linux
    ./install_cert.sh
    
    # 测试 效果
    curl https://nginx164190.zk.wh.com/
    
    <head>Index of /
    
    

    Index of /


    "../">../
    "_wildcard.zk.wh.com.crt">_wildcard.zk.wh.com.crt                            18-Aug-2021 08:53    1464
    "_wildcard.zk.wh.com.pem">_wildcard.zk.wh.com.pem                            18-Aug-2021 08:53    1464
    "install_cert_linux.zip">install_cert_linux.zip                             19-Aug-2021 07:30      2M
    "rootCA-key.pem">rootCA-key.pem                                     18-Aug-2021 08:53    2488
    "rootCA.pem">rootCA.pem                                         18-Aug-2021 08:53    1635
    "test">test                                               18-Aug-2021 08:47       7
    

    rndc

    1、953端口是rndc 的端口

    2、rndc是监控bind的统计数据用的,同时不需要为了更新某个zone而重启bind

    查看 默认的 解析条目

    cat /etc/bind/named.conf.default-zones
    // prime the server with knowledge of the root servers
    zone "." {
            type hint;
            file "/usr/share/dns/root.hints";
    };
    
    // be authoritative for the localhost forward and reverse zones, and for
    // broadcast zones as per RFC 1912
    
    zone "localhost" {
            type master;
            file "/etc/bind/db.local";
    };
    
    zone "127.in-addr.arpa" {
            type master;
            file "/etc/bind/db.127";
    };
    
    zone "0.in-addr.arpa" {
            type master;
            file "/etc/bind/db.0";
    };
    
    zone "255.in-addr.arpa" {
            type master;
            file "/etc/bind/db.255";
    };
    
    

    添加 自己的 解析条目

    
    多台 dns 之间 进行 协同
    SOA
    NS
    
    # A 代表 解析到 ipv4
    @       IN      A       127.0.0.1
    
    # A 代表 解析到 ipv6
    @       IN      AAAA    ::1
    
    # ptr 代表 逆向解析
    1.0.0   IN      PTR     localhost.
    
    
    cat /etc/bind/named.conf
    // This is the primary configuration file for the BIND DNS server named.
    //
    // Please read /usr/share/doc/bind9/README.Debian.gz for information on the
    // structure of BIND configuration files in Debian, *BEFORE* you customize
    // this configuration file.
    //
    // If you are just adding zones, please do that in /etc/bind/named.conf.local
    
    include "/etc/bind/named.conf.options";
    include "/etc/bind/named.conf.local";
    include "/etc/bind/named.conf.default-zones";
    
    // add you zones
    include "/etc/bind/named.conf.my-zones";
    
    
    # 模仿 /etc/bind/named.conf.default-zones 书写 新的 解析记录
    cat > /etc/bind/named.conf.my-zones <<"EOF"
    
    zone "zk.wh.com" {
            type master;
            file "/etc/bind/db.zk.wh.com";
    };
    
    zone "192.in-addr.arpa" {
            type master;
            file "/etc/bind/db.192";
    };
    
    EOF
    
    # 模仿db 文件
    cat /etc/bind/db.local
    ;
    ; BIND data file for local loopback interface
    ;
    $TTL    604800
    @       IN      SOA     localhost. root.localhost. (
                                  2         ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      localhost.
    @       IN      A       127.0.0.1
    @       IN      AAAA    ::1
    
    
    cat > /etc/bind/db.zk.wh.com <<"EOF"
    $TTL 86400
    @ IN SOA localhost. root.localhost. (
            1  ; Serial
        604800  ; Refresh
        86400  ; Retry
       2419200  ; Expire
        86400 ) ; Negative Cache TTL
    ;
    @ IN NS localhost.
    nginx164190       IN      A       192.168.164.190
    zcloud164190       IN      A       192.168.164.190
    
    
    EOF
    
    
    # 模仿 逆解 文件
    cat /etc/bind/db.127
    ;
    ; BIND reverse data file for local loopback interface
    ;
    $TTL    604800
    @       IN      SOA     localhost. root.localhost. (
                                  1         ; Serial
                             604800         ; Refresh
                              86400         ; Retry
                            2419200         ; Expire
                             604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      localhost.
    1.0.0   IN      PTR     localhost.
    
    
    cat > /etc/bind/db.192 <<"EOF"
    $TTL 86400
    @ IN SOA localhost. root.localhost. (
            1  ; Serial
        604800  ; Refresh
        86400  ; Retry
       2419200  ; Expire
        86400 ) ; Negative Cache TTL
    ;
    @ IN NS localhost.
    190.164.168   IN      PTR     nginx164190.
    
    EOF
    
    

    更新 解析记录

    
    # 局域网 x509 证书 无法 信任 多重域名
    # Reminder: X.509 wildcards only go one level deep, so this won't match a.b.zk.wh.com ℹ️
    cat > /free_cicdfs0/data/bind9/etc/bind/db.zk.wh.com <<"EOF"
    $TTL 86400
    @ IN SOA localhost. root.localhost. (
            1  ; Serial
        604800  ; Refresh
        86400  ; Retry
       2419200  ; Expire
        86400 ) ; Negative Cache TTL
    ;
    @ IN NS localhost.
    nginx164190       IN      A       192.168.164.190
    zcloud164190      IN      A       192.168.164.190
    hub-docker        IN      A       192.168.99.100
    EOF
    
    
    # 重启 容器 服务 即可生效
    ssh root@192.168.99.2
    cd /free_cicdfs0/composes/bind9
    docker-compose restart
    
    
    
    # test
    ping hub-docker.zk.wh.com
    PING hub-docker.zk.wh.com (192.168.99.100) 56(84) bytes of data.
    64 bytes from 192.168.99.100: icmp_seq=1 ttl=64 time=0.172 ms
    64 bytes from 192.168.99.100: icmp_seq=2 ttl=64 time=0.152 ms
    
    
    
    

    欢迎大家一起交流呀
    qq群:3638803451
    vx:wxid_sgdelhiwombj12

  • 相关阅读:
    讲解IaaS,PaaS,SaaS技术
    【蓝桥杯省赛真题37】Scratch三国演义字数统计 少儿编程scratch编程蓝桥杯省赛真题讲解
    Java毕设项目——大学生社团管理系统(java+SSM+Maven+Mysql+Jsp)
    叮,GitHub 到账 550 美元「GitHub 热点速览 v.22.26」
    (七)Java算法:希尔插入排序(详细图解)
    Springboot基于justAuth实现第三方授权登录
    基于Jeecgboot前后端分离的流程管理平台演示系统安装(二)
    移动端H5封装一个 ScrollList 横向滚动列表组件,实现向左滑动
    【SVN】SVN版本回退与常用命令总结
    java-net-php-python-jsp社会公共常识科普网的设计与实现计算机毕业设计程序
  • 原文地址:https://www.cnblogs.com/ltgybyb/p/16897630.html