Dockmas 컨테이너에서 DHCP 서버로 작동하도록 dnsmasq을 얻으려고하고 호스트의 실제 네트워크에있는 시스템에 DHCP 주소를 발행하려고합니다. 나는 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의 정적 주소를 가지고 있습니다.
나는 용기 같이 시작 : 우분투 16.04를 실행하는이 컴퓨터에 방화벽이 없습니다
docker run -d --name dns -p 192.168.2.2:67:67/udp -p 192.168.2.2:53:53/udp sitapati/dns
. 내가 생각했습니다
것들/시도 : 컨테이너에서 eth0를 완전히 다른 서브넷에 주소를 가지고 있기 때문에
- 입니까? (
docker inspect
은 브리지 인터페이스에서 172.17.0.2라고 알려줍니다.) --net host
을 사용해야합니까? 나는 그것을 시도하고, 그것은 여전히 작동하지 않았다.
나는 결국 isc-dhcpd를 사용했다. 그거야. 아직도 dnsmasq이 작동하지 않는 이유는 확실치 않습니다. 다음은 Docker 컨테이너에있는 작동중인 DHCP 서버입니다. https://github.com/jwulf/docker-dhcpd –
이 질문에 대한 답변은 왜 실패 했습니까? – igal