绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
使用CoreDNS搭建一个内网的DNS
2023-04-20 18:25:07

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 www.abc.com 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 www.cd.com
  }
  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}'

分享好友

分享这个小栈给你的朋友们,一起进步吧。

容器化的边边角角
创建时间:2020-02-14 17:28:00
从前在通往容器化的道路上低头踩坑无数,现如今抬头看路,总结过去,希望能走快些。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • frogwisperer
    栈主

小栈成员

查看更多
  • abc
  • 我没
  • 飘絮絮絮丶
  • Jack2k
戳我,来吐槽~