title: 5分钟搭建本地dns
date:2021-05-29
tags: [dns]
category: linux

介绍

公司内部服务,如git、svn、jumpserver、maven、jenkins…等等。

由于过多就搭建了dns,原dns是通过linux的named实现,进行新增时太过于麻烦,需要将新的域名和ip手工写入到文件内,即使写了脚本也不便于管理。

而且最关键的是配置了转发上级dns,也会出现某些网站域名解析不到,比如qq邮箱、百度贴吧、好看视频等等。

sameersbn/bind

为了方便管理需要有以下条件

  1. 轻量级
  2. 带图形化

通过寻找资料发现符合以上要求的sameersbn/bind,而且还是docker。
bind-introduction

安装

主机ip: 172.16.6.210

因为是docker,所以得先装docker。

安装docke

docker安装官方文档
docker-compose安装
为了方便启动使用docker-compose,需要用yaml文件,顺便附上yaml。

version: "3.7"

services:
  bind:
    image: sameersbn/bind:9.16.1-20200524
    restart: always
    networks:
      - dns-bind
    ports:
      - "53:53"
      - "53:53/udp"
      - "10000:10000"
    volumes:
      - /opt/dns-bind:/data
    environment:
      ROOT_PASSWORD: 123456 #这个web管理页面的账户密码。

networks:
  dns-bind:
 docker-compose -f /opt/bind.yml up -d #启动容器

web管理页面

容器启动完成后,在浏览器上输入url,url格式:https://172.16.6.210:10000/

用户:root
密码:“yaml文件上配置的”

ip

  1. 添加dns转发

    首先添加dns转发(私有dns),若不添加会导致无法解析其它域名。

dns-transfers

这3个dns,分别是阿里云dns、百度dns、google dns,添加完后记得保存。

dns-list

  1. 设置dns访问限制

allow-dns-main

  • Allow transfers from:允许辅助dns同步主dns zone的ip,any为所有
  • Allow queries from:允许客户端访问dns服务的ip,any为所有。

allow-dns

  1. 添加域名

add-named

3.1. 域名
ip-to-name

3.2. 域名 to ip

name-to-ip

3.3. 添加解析记录

dns-address

4.1. 客户端验证

template-SUSE-12-SP5:~ # cat /etc/resolv.conf 
nameserver 172.16.6.210
template-SUSE-12-SP5:~ # 
template-SUSE-12-SP5:~ # ping tieba.baidu.com -c 1
PING tieba.baidu.com (172.16.4.12) 56(84) bytes of data.
64 bytes from 172.16.4.12: icmp_seq=1 ttl=63 time=0.257 ms

--- tieba.baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.257/0.257/0.257/0.000 ms
template-SUSE-12-SP5:~ # ping www.baidu.com -c 1
PING www.baidu.com (172.16.4.11) 56(84) bytes of data.
64 bytes from 172.16.4.11: icmp_seq=1 ttl=127 time=0.467 ms

--- www.baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.467/0.467/0.467/0.000 ms
template-SUSE-12-SP5:~ # ping ns.baidu.com -c 1
PING ns.baidu.com (172.16.4.10) 56(84) bytes of data.
64 bytes from 172.16.4.10: icmp_seq=1 ttl=63 time=1.27 ms

--- ns.baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.275/1.275/1.275/0.000 ms
template-SUSE-12-SP5:~ # 

至此结束!!!

Logo

更多推荐