로컬 네트워크에 대한 dnsmasq 설정 DNS 서버로 IP를 기록했습니다.

저와 소규모 개발자 그룹이 새로운 사무실로 이사했습니다. 개발 서버에서 dnsmasq를 설정하고 싶습니다. 웹 응용 프로그램을 배포 할 때 자체 호스트 파일을 편집 할 필요가 없습니다. 192.168.3.1에 액세스 할 수없는 라우터가 있습니다. 개발 박스에 DNS 서버를 설치한다고 생각했고 우리는 모두 보조 DNS 서버로 IP를 기록했습니다. 불행히도 나는이 일을하기 위해 고심하고 있습니다.

개발 서버의 이름은 devbox이고 IP는 192.168.3.99이며 최신 Ubuntu Server (Karmic)를 실행 중입니다.

내 컴퓨터에서 Ubuntu Desktop (Karmic)을 실행하고 있습니다

내가 성취하고 싶은 것

개발 상자에서 실행되는 website1, website2, website3의 세 가지 웹 사이트가 있다고 가정 해 봅시다. URL로 액세스하고 싶습니다.

http://website1.devbox
http://website2.devbox
http://website3.devbox

그래서 devel 상자에서 Apache를 구성하고 dnsmasq를 설치하고 hosts 파일에 다음 줄을 넣습니다.

192.168.3.99 website1.devbox
192.168.3.99 website2.devbox
192.168.3.99 website3.devbox

devel 상자를 네임 서버로 포함하도록 내 resolv.conf 파일을 편집했습니다.

nameserver 192.168.3.99

제대로 작동합니다. 사이트에 액세스 할 수 있습니다. 문제는 확장 성이 좋지 않다는 것입니다. .devbox로 끝나는 모든 도메인이 개발 상자로 전달되기를 원합니다. 이것이 제가 고심하고있는 것입니다.

나는 퍼팅을 시도했다

192.168.3.99 devbox

hosts 파일에 넣고 dnsmasq.conf의 행을 편집하십시오.

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/devbox/

그러나 나는 그것을 작동시킬 수 없다. 개발 상자의 hosts 파일에 명시 적으로 존재하지 않는 URL을 시도하면 dns 조회가 실패합니다.

다른 지시 사항이 있습니까? 잘못된 장소를보고 있습니까?



답변

을 참조 하는 dnsmasq 문서 , 특히 하는 dnsmasq의 맨 페이지샘플 구성 파일 . 지역 키워드는 로컬 데이터와 그 도메인 조회를 수행하는 dnsmasq를 알려줍니다. 예를 들어 foo.localnetbar.localnet에 대한 DNSmasq 로의 요청 전송에 영향을줍니다 . 나는 이것이 당신이 원하는 것이라고 생각하지 않습니다.

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/localnet/

호스트 / 하위 도메인 조회가 특정 주소로 확인되도록하려면 address 키워드 를 사용하는 것이 좋습니다 . 아래 두 번째 예는 web1.devboxweb2.devboxweb73872.devbox 가 모두 지정된 주소로 해석되도록 허용해야 합니다.

# Add domains which you want to force to an IP address here.
# The example below send any host in doubleclick.net to a local
# webserver.
address=/doubleclick.net/127.0.0.1

# for your example
address=/devbox/192.168.3.99

집에서 DNSmasq를 사용하여 LAN의 간단한 DNS를 처리합니다. 이 경우 로컬 및 관련 도메인확장 호스트 키워드가 적합합니다. DNSmasq 서버는 기본 네임 서버이므로 모든 요청이 통과합니다. 로컬이 아닌 주소는 ISP의 이름 서버로 다시 전달됩니다. 가능하면 해당 구성을 고려할 수 있습니다.