一、下載二進制文件linux
wget https://github.com/coredns/coredns/releases/download/v1.5.0/coredns_1.5.0_linux_amd64.tgz tar zxf coredns_1.5.0_linux_amd64.tgz -C /usr/bin/
二、建立用戶git
useradd coredns -s /sbin/nologin
三、編輯/etc/coredns/Corefilegithub
.:53 { # 綁定interface ip bind 127.0.0.1 # 先走本機的hosts # https://coredns.io/plugins/hosts/ hosts { # 自定義sms.service search.service 的解析 # 由於解析的域名少咱們這裏直接用hosts插件便可完成需求 # 若是有大量自定義域名解析那麼建議用file插件使用 符合RFC 1035規範的DNS解析配置文件 10.6.6.2 sms.service 10.6.6.3 search.service # 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 . /etc/resolv.conf # 緩存時間ttl cache 120 # 自動加載配置文件的間隔時間 reload 6s # 輸出日誌 log # 輸出錯誤 errors }
更新插件使用:https://github.com/coredns/coredns緩存
四、編輯/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 ExecStart=/usr/bin/coredns -conf=/etc/coredns/Corefile ExecReload=/bin/kill -SIGUSR1 $MAINPID Restart=on-failure [Install] WantedBy=multi-user.target
五、啓動corednsspa
systemctl enable coredns
systemctl start coredns
systemctl status coredns