두 네트워크를 연결할 때 DNS를 어떻게 설정합니까?

두 네트워크를 연결할 때 DNS를 어떻게 설정합니까?

두 개의 네트워크 인터페이스가 있는 Linux 시스템이 있습니다. 둘 다 로컬 네트워크에 연결되어 있습니다. 하나는 이고 192.168.*.*다른 하나는 입니다 10.*.*.*.

네트워크 192.168.*.*는 완전히 비공개이며 인터넷에 액세스할 수 없습니다. 네트워크 10.*.*.*에 인터넷이 연결되어 있습니다.

현재 외부 작업을 수행할 수 ping있으며 이름이 해결됩니다.

ping google.com

192.168.*.*그러나 네트워크의 컴퓨터 이름을 ping하려고 하면 이름을 확인할 수 없습니다.

ping computer-name
ping computer-name.domain
ping computer-name.domain.local

IP 주소를 지정하면 해결됩니다.

ping 192.168.x.x

개인 로컬 네트워크의 컴퓨터 이름을 확인하면서도 외부 주소를 확인할 수 있도록 DNS 설정을 어떻게 구성합니까?

Centos6을 사용하고 있습니다.

답변1

로컬 확인자 라이브러리는 모든 이름 서버가 모든 이름을 확인할 수 있다고 가정합니다. 귀하의 경우 로컬이 신뢰할 수 없는 경우 응답하지 않는 부작용이 있을 수 있습니다. 그러면 라이브러리가 다음 네임서버를 사용하여 (지연 후) 다시 시도합니다.

더 나은 접근 방식은 로컬 이름 서버를 실행하여 데이터를 올바른 위치로 빠르게 보내는 것입니다. 설치했다면 dnsmasq구성의 핵심은 매우 간단합니다. 그것은 다음과 같습니다:

/etc/dnsmasq.conf

# This sets up your private domain
server=/privatedomain/192.168.10.15
server=/.168.192.in-addr.arpa/192.168.10.15

주 서버(10.10.1.15)가 에 있는 경우 resolv.conf개인 도메인에 대한 요청을 받으면 로컬 서버로 이동합니다. 다른 요청을 받으면 resolv.conf에서 로컬 호스트가 아닌 서버를 사용합니다.

그런 다음 서버를 resolv.conf의 첫 번째 서버로 설정하십시오.

구성 파일 구문 분석

search privatedomain
nameserver 127.0.0.1
nameserver 10.10.1.15

답변2

/etc/resolv.conf내 파일을 수정하여 작동하게 할 수 있습니다.

domain privatedomain
search privatedomain publicdomain.com
nameserver 192.168.10.15
nameserver 10.10.1.15

privatedomain로컬 네트워크 도메인 이름 입니다 192.168.*.*. 인터넷에 액세스할 수 있는 네트워크의 도메인 이름입니다 publicdomain.com.10.*.*.*

이제 이러한 모든 요청을 올바르게 해결합니다.

ping computer.privatedomain
ping computer
ping computer2.publicdomain.com
ping google.com

유일한 단점은 개인 도메인에서 액세스할 수 없는 이름을 확인하려고 할 때 눈에 띄는 지연이 있다는 것입니다. 예를 들어:

ping google.com

나는 이것이 먼저 서버의 첫 번째 네임서버를 통해 이름을 확인하려고 시도하고 privatedomain결국 시간이 초과된 다음 이를 확인할 수 있는 두 번째 네임서버로 이동하기 때문이라고 생각합니다.

관련 정보