私网DNS服务搭建-coredns

1.各类本地DNS软件对比:

序号名称优点性能支持代理公有DNS支持多级域名支持主机名映射支持范域名支持热加载配置操作性评分

1dnsmasq功能齐全、灵活配置99376次/秒是是是否否很简单8

2bind灵活配置58533次/秒否是否否否简单7.5

3coredns配置灵活27202次/秒是是是是是简单9

  结论:coredns支持泛域名、hosts映射,配置也简单等优点,但性能上比较差,但满足我们日常的需求。

 2. coreDns搭建:

       2.1 简介:

CoreDNS是Golang编写的一个插件式DNS服务器,是Kubernetes 1.13 后所内置的默认DNS服务器

2.2 安装环境及安装包:

             linux(centos和ubuntu)

  coredns_x.x.x_linux_amd64.tgz

说明:安装包下载地址:https://github.com/coredns/coredns/releases

                   可以选择特定版本自行下载,然后sftp上传到安装机器;也可以登录机器wget下载

                    如下载版本1.8.4:

wget https://github.com/coredns/coredns/releases/download/v1.8.4/coredns_1.8.4_linux_amd64.tgz

     2.3 安装(版本1.8.4):

          切换到服务器的安装包上传目录或者下载目录:

> ls coredns_*

coredns_1.8.4_linux_amd64.tgz

           > tar xf coredns_1.8.4_linux_amd64.tgz

           > mv coredns /usr/sbin

2.4 查看coredns版本

  > coredns -version

CoreDNS-1.8.4

linux/amd64, go1.16.4, 053c4d5

    2.5 配置

创建目录

> mkdir /etc/coredns

> mkdir /etc/coredns/zones

> mkdir /etc/coredns/hosts

      2.添加配置文件内容(包括域名starsee.itstarsee.cn 以及hosts映射)

> vi /etc/coredns/corefile

.:53 {

# 配置轮询

loadbalance

# 先走本机的hosts

https://coredns.io/plugins/hosts/

auto  {

# 例如starsee.it 的zones位置,会自动读取 zones下的文件,文件命名方式为 db.starsee.it ,虽然会读取其他的文件,但只会对auto指令后的域名做应答。

directory /etc/coredns/zones

# 每10s 重新加载 zones 的文件内容。

reload 10s

}

hosts /etc/coredns/hosts/hostsfile {

# 自定义sms.service search.service 的解析

# 因为解析的域名少我们这里直接用hosts插件即可完成需求

# 如果有大量自定义域名解析那么建议用file插件使用 符合RFC 1035规范的DNS解析配置文件

# ttl

ttl 60

# 重载hosts配置

reload 1m

# 继续执行

fallthrough

}

# file enables serving zone data from an RFC 1035-style master file.

https://coredns.io/plugins/file/

# file service.signed service

# 最后所有的都转发到系统配置的上游dns服务器去解析

forward . 8.8.8.8 114.114.114.114

# 缓存时间ttl

cache 120

# 自动加载配置文件的间隔时间

reload 6s

# 输出日志

log

# 输出错误

errors

}

    3.域名配置文件(starsee.it): 

starsee.it采用zone文件格式,注意文件名的格式,```db+domain```的格式。如db.starsee.it,此文件为starsee.it的域名定义文件。

> vi /etc/coredns/zones/db.starsee.it

$ORIGIN starsee.it.

; SOA 格式 [domain_name] IN SOA [域主服务器或主DNS服务器名] [管理员email] (时间信息)

@ IN SOA starsee.itroot.starsee.it. (

2019071601 ; Serial

4H ; Refresh

1H ; Retry

7D ; Expire

4H ) ; Negative Cache TTL

; 配置 DNS 记录,指向 ns1.rainsay.me

@ IN NS starsee.it.

confluence IN A 192.168.0.175

gitlab IN A 192.168.0.175

harbor IN A 192.168.0.137

* IN A 192.168.0.11

4.域名配置文件(starsee.cn):

starsee.cn采用zone文件格式,注意文件名的格式,```db+domain```的格式。如db.starsee.cn,此文件为starsee.cn的域名定义文件。

> vi /etc/coredns/zones/db.starsee.cn

$ORIGIN starsee.cn.

; SOA 格式 [domain_name] IN SOA [域主服务器或主DNS服务器名] [管理员email] (时间信息)

@ IN SOA starsee.cnroot.starsee.cn. (

2019071601 ; Serial

4H ; Refresh

1H ; Retry

7D ; Expire

4H ) ; Negative Cache TTL

; 配置 DNS 记录,指向 ns1.rainsay.me

@ IN NS starsee.cn.

oa IN A 192.168.0.128

admin IN A 192.168.0.200

 5.host文件配置:

> vi /etc/coredns/hosts/hostsfile

192.168.0.137 hadoop-slave-01

192.168.0.140 hadoop-slave-02

192.168.0.141 hadoop-slave-03

192.168.0.142 hadoop-slave-04

192.168.0.135 hadoop-slave-05

192.168.0.136 hadoop-slave-06

192.168.0.143 hadoop-slave-07

#cdh

192.168.0.60 cdh001-192-168-0-60

192.168.0.61 cdh002-192-168-0-61

192.168.0.62 cdh003-192-168-0-62

192.168.0.63 cdh004-192-168-0-63

#vcenter

192.168.0.209 photon-machine

6. 配置systemctl启动方式

  注:centos为 /usr/lib/systemd/system/coredns.service,ubuntu为 /lib/systemd/system/coredns.service

> vi /usr/lib/systemd/system/coredns.service

[Unit]

Description=CoreDNS DNS server

Documentation=https://coredns.io

After=network.target

[Service]

PermissionsStartOnly=true

LimitNOFILE=1048576

LimitNPROC=512

CapabilityBoundingSet=CAP_NET_BIND_SERVICE

AmbientCapabilities=CAP_NET_BIND_SERVICE

NoNewPrivileges=true

User=coredns

WorkingDirectory=/etc/coredns

ExecStart=/usr/sbin/coredns -conf=/etc/coredns/corefile

ExecReload=/bin/kill -SIGUSR1 $MAINPID

Restart=on-failure

[Install]

WantedBy=multi-user.target

2.6 启动配置:

#添加业务用户

> useradd coredns -s /sbin/nologin

#配置开机自启

> systemctl enable coredns

#启动服务

> systemctl start coredns

#查看服务状态

> systemctl status coredns

PS:永久停止Ubuntu默认DNS服务

53端口被占用

> sudo systemctl disable --now systemd-resolved

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值