日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker 端口映射 udp_Docker 制作一键安装的本地无污染 DNS 域名服务

發布時間:2024/7/23 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker 端口映射 udp_Docker 制作一键安装的本地无污染 DNS 域名服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

國慶休假回來,感覺和整個世界失聯了,各種不通,不得不就自己本地的應用環境進一步的升級:搭建一個本地版本的無污染 DNS 域名服務。各種網絡文章掃了一遍,推薦以下這篇文章:

  • CoreDNS搭建無污染DNS

指導思想基本一致,不過在實際操作過程中,?CoreDNS?程序編譯失敗,不得不身手動解決。考慮到讀者也會遇到相同的問題,干脆多做一點,制作一個?Docker Image?方便大家使用。

編譯問題

首先解決編譯問題,官方版本的?CoreDNS?源碼增加外部插件?proxy?與?block?后一直無法正確編譯。主要問題出在?k8s.io/api?等幾個依賴庫上。在?go.mod?下修改?replace?部分如下:

replace (
github.com/Azure/go-autorest => github.com/Azure/go-autorest v13.0.0+incompatible
github.com/miekg/dns v1.1.3 => github.com/miekg/dns v1.1.22
k8s.io/api => k8s.io/api v0.0.0-20190409021203-6e4e0e4f393b
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d
k8s.io/client-go => k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
)

重新構建即可成功編譯。Fork 到自己的 repo 下方便使用。需要的讀者可以自行利用 repo 中提供的 Dockerfile 自行構建容器鏡像:

$: git clone https://github.com/liujianping/coredns.git
$: cd coredns
$: docker build -t coredns:latest .

Mac 運行

如果不使用 Docker 運行服務, 在 Mac OS 上就需要設置 plist 配置,通過?launchctl?命令進行服務的管理工作。有了 Docker 之后,這個工作就可以直接交給 Docker 進行。因為 CoreDNS 程序對外服務的端口是 53/udp . 所以在進行端口映射的時候不能 tcp 端口。

$: docker run -d -p 127.0.0.1:53:53/udp coredns:latest

正常啟動服務后,可以通過 dig 命令驗證服務是否運行正常:

$: dig www.netflix.com @127.0.0.1

如果一切正常,就可以直接修改當前網絡配置或者直接設置/etc/reslov.conf配置,設置其DNS為本地服務。

PS:如果讀者需要使用以上自建的DNS服務,前提當然還是需要保證網絡的全球通,該服務需要在網絡正常的情況下才能給出正確的結果。

推薦閱讀

  • 由 studygolang.com 得到 IP 是怎么做到的?詳解 DNS 與 CoreDNS 的實現原理

  • GCTT 出品 | 使用 Golang 構建 DNS 服務器


喜歡本文的朋友,歡迎關注“Go語言中文網”:

Go語言中文網啟用微信學習交流群,歡迎加微信:274768166

總結

以上是生活随笔為你收集整理的docker 端口映射 udp_Docker 制作一键安装的本地无污染 DNS 域名服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。