두 개의 네트워크 인터페이스가 있는 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
결국 시간이 초과된 다음 이를 확인할 수 있는 두 번째 네임서버로 이동하기 때문이라고 생각합니다.