Docker

如何在 tinc VPN 中執行 dockerized dnsmasq 名稱伺服器,每個容器只有一個程序

  • October 24, 2017

我有一個 tinc VPN 網狀網路,世界各地的各種類型的主機都在使用它,我想部署一個 dockerized dnsmasq 名稱伺服器以在該 tinc 網狀網路中使用。

我已經成功建構並配置了一個“胖”多程序 docker 容器(使用 runit),它可以滿足我的需求。它同時執行 tinc 程序和 dnsmasq 程序,並且 dnsmasq 被配置為綁定到容器中的 tinc 網路介面。但現在我正在嘗試使用 1-process 容器建構相同的功能。

我知道如何建構和配置一個基本的 1 程序 dnsmasq 容器,並且我知道如何建構和配置一個基本的 1 程序 tinc 容器。我可以編寫一個簡單的 docker-compose 文件來啟動它們。

我不知道該怎麼做,比如使用 tinc 容器作為網關,將 dnsmasq 容器暴露給網狀網路,允許該 tinc 網路上的其他主機針對 dnsmasq 執行 DNS 查詢。那可能嗎?

在使用 openVPN 進行了一些激烈的Google搜尋並調整了類似的案例之後,我找到了一個可行的設置。從概念上講,您將 dnsmasq 容器的網路綁定到 tinc 容器。這是一個縮寫的 docker-compose.yml,它顯示了要點:

version: '3'
services:

 tinc:
   ...

 dnsmasq:
   depends_on: 
     - tinc
   network_mode: "service:tinc"

如果您docker exec -ti dnsmasq /bin/sh在啟動此操作後,然後ifconfig在 dnsmasq 容器中執行操作,您將看到 tinc 容器創建的 tinc 網路介面。因此,如果您的 dnsmasq 配置綁定到該網路介面,它就可以正常工作。

涼爽的。

引用自:https://serverfault.com/questions/879881