ITPub博客

首页 > > > 使用CoreDNS搭建一个内网的DNS

使用CoreDNS搭建一个内网的DNS

作者:frogwisperer 时间:2023-04-20 18:25:07 0 删除 编辑

CoreDNS 是一个DNS服务器软件,使用Golang编写。

本文是基于搭建OKD服务(BareMetal)的DNS配置部分进行来调整,以适应内网解析的需求;

一、系统和环境配置

操作系统:Fedora CoreOS 33.20210217.3.0

由于系统中自带了podman,免去了安装部分。

如果有需要可以使用CentOS 8

dnf -y install podman

二、启动pod

podman pod create -n core -p 53/udp -p 53/tcp

# !!! chcon -t container_var_lib_t /var/data/coredns/etcd/ 
# !!! setenforce 0 

podman run -d --pod core --name etcd \
  --volume /var/data/coredns/etcd:/etcd-data/ \
  --name etcd Quay \
  etcd --data-dir /etcd-data/ --name coredns_etcd \
  --initial-advertise-peer-urls http://localhost:2380 --listen-peer-urls http://localhost:2380 \
  --advertise-client-urls http://localhost:2379 --listen-client-urls http://localhost:2379 \
  --initial-cluster coredns_etcd=http://localhost:2380

podman run -it -d --pod core --name dns \
  -v /var/data/coredns/Corefile:/etc/coredns/Corefile \
  coredns/coredns  -conf=/etc/coredns/Corefile

三、Corefile文件

apps.internal 是内网需要解析的域名

   .:53 {
  template IN A apps.internal {
  match .*apps\.internal
  answer "{{ .Name }} 60 IN A 10.172.3.20"
  fallthrough
  }
  etcd {
  path /skydns
  endpoint http://localhost:2379
  fallthrough
  # tls CERT KEY CACERT
  }
  rewrite name  1.1.1.1
  prometheus
  cache 160
  loadbalance
  forward . 127.0.0.1:5303 127.0.0.1:5301 127.0.0.1:5302 {
  except 
  }
  log
 }
  
  
 .:5301 {
  forward . 8.8.8.8 8.8.4.4 {
  tls_servername dns.google
  }
 }
  
 .:5302 {
  forward . 1.1.1.1 1.0.0.1 {
  tls_servername cloudflare-dns.com
  }
 }
  
 .:5303 {
  forward . /etc/resolv.conf {
  policy sequential
  prefer_udp
  }
 }

四、添加解析

需要进入到etcd 的container中

alias etcdctlv3='ETCDCTL_API=3 etcdctl'
etcdctlv3 put /skydns/internal/api '{"host":"10.173.3.210","ttl":60}'

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/86123/viewspace-3135634/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-02-14

  • 博文量
    22
  • 访问量
    169