私は、Dockmasコンテナ内のDHCPサーバとして動作し、ホストの物理ネットワーク上のマシンにDHCPアドレスを発行するようdnsmasqを取得しようとしています。私はhttps://hub.docker.com/r/andyshinn/dnsmasq/のAlpine Linux 6MBコンテナを使用しています。Dockerコンテナの中からDHCPサーバとしてdnsmasqを実行してください
ホストマシンのポート53でDNSサーバーとして正常に動作しますが、ポート67/udpでリッスンすることはありません。これはDHCPが必要な場所です。 dhcping 192.168.2.2
を使用しますが、「無回答」を取得します。 telnet 192.168.2.2 67
は「Connection refused」を返します。コンテナ内の
マイdnsmasq.confファイルは次のようになります。
interface=eth0
user=root
domain-needed
bogus-priv
no-resolv
local=/mydomain.io/
no-poll
server=8.8.8.8
server=8.8.4.4
no-hosts
addn-hosts=/etc/dnsmasq_static_hosts.conf
expand-hosts
domain=mydomain.io
dhcp-range=192.168.2.10,192.168.2.250,255.255.255.0,192.168.2.255,5m
# Have windows machine release on shutdown
dhcp-option=vendor:MSFT,2,1i
# No default route
dhcp-option=3
ホストマシンが192.168.2.2の静的アドレスを持っています。
私はこのようなコンテナを起動します。
docker run -d --name dns -p 192.168.2.2:67:67/udp -p 192.168.2.2:53:53/udp sitapati/dns
のUbuntu 16.04を実行しているこのマシンにはファイアウォールが、ありません。私は考えました
物事は/試してみました:コンテナ内のeth0が完全に異なるサブネット上のアドレスを持っているので、それが
- のですか? (
docker inspect
はブリッジされたインターフェイスで172.17.0.2と伝えます) --net host
を使用する必要がありますか?私はそれを試みました、そして、それはまだ動作しませんでした。
最終的にisc-dhcpdを使用しました。それは動作します。まだdnsmasqが動作しない理由がわかりません。 Dockerコンテナ内で動作しているDHCPサーバは次のとおりです。 https://github.com/jwulf/docker-dhcpd –
この質問はなぜダウン投票されましたか? – igal