快速搭建 DNS 服務器: skydns + etcd


參考: [ skynetservice github ] [ skydns 測試記錄 CSDN ]

etcd 安裝配置


安裝

yum install etcd

配置

sed -i 's@ETCD_LISTEN_CLIENT_URLS=.*@ETCD_LISTEN_CLIENT_URLS="http://172.17.0.1:2379"@1' /etc/etcd/etcd.conf

sed -i 's@ETCD_ADVERTISE_CLIENT_URLS=.*@ETCD_ADVERTISE_CLIENT_URLS="http://172.17.0.1:2379"@1' /etc/etcd/etcd.conf

啟動 etcd

systemctl enable etcd
systemctl start etcd



skydns by docker


docker run -d --restart=always \
    --name skydns  \
    -p 0.0.0.0:53:53/udp \
    skynetservices/skydns \
    -machines "http://172.17.0.1:2379" \
    -addr "0.0.0.0:53"      

這樣完成了 skydns 的搭建. 接下來進行 DNS 記錄的配置.


DNS 記錄的添加


添加 skydns 配置

etcdctl --endpoints http://172.17.0.1:2379 set /skydns/config '{"dns_addr":"0.0.0.0:53","ttl":30, "nameservers": ["8.8.8.8:53","114.114.114.114:53"], "domain":"special."}'

重啟 skydns

docker restart skydns

添加記錄

etcdctl --endpoints http://172.17.0.1:2379 set /skydns/special/test/www '{"host":"10.0.0.1"}'

etcdctl --endpoints http://172.17.0.1:2379 set /skydns/special/tiantiandas/blog '{"host":"www.cnblogs.cn"}'

記錄驗證

測試工具: dig

yum install bind-utils

[ dig 的使用 ]

dig @localhost www.test.special



無法解析公網域名的問題

如果在添加 skydns/config 的時候將 domain 設定為 com, cn 這種域名, 那 自己本身作為權威DNS 服務器, 將不會查到類似於 baidu.com, sina.com 這種域名, 但是 sina.cn 這種是可以查到.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM