로컬 클라이언트와 일부 인터넷 서비스 모두에 DNSmasq를 사용하고 있습니다. 내가 제공하는 서비스 중 하나는 dynDNS 서버입니다. HTTP를 통해 IP 업데이트를 받고 도메인이없는 간단한 호스트 파일로 씁니다. 도메인은 다음과 같은 최소 구성으로 인해 DNSmasq에 의해 연결됩니다.
interface=eth0 # internal
interface=eth1 # external
no-dhcp-interface=eth1
dhcp-range=192.168.1.2,192.168.1.254,12h
domain=mydomain.eu
no-hosts
addn-hosts=/etc/hosts.dyndns # hosts file created by my dynDNS server
expand-hosts
# Server/VMs
host-record=server,192.168.1.1
host-record=server.mydomain.eu,<externalIP>
cname=dns.mydomain.eu,server.mydomain.eu
address=/mydomain.eu/<externalIP> # wildcard subdomains
문제는 도메인이 DHCP에 의해 로컬 클라이언트에도 전달된다는 것입니다. server
클라이언트 중 일부가 요청하면 server.mydomain.eu
DNSmasq에 의해 응답되는 도메인으로 요청을 확장 합니다 <externalIP>
. 인터넷에 대한 연결 토폴로지로 인해 몇 가지 문제가 있습니다. 대신로 해결해야합니다 192.168.1.1
.
DNSmasq가 로컬 네트워크와 인터넷의 요청을 구별하도록 만드는 방법은 무엇입니까? 아니면 domain
호스트 파일을 확장 하는 데만 사용할 수 있습니까?
답변
ISC DHCP 서버에는 문제를 해결할 수있는 영역이 있지만 dnsmasq를 남겨두고 싶지는 않습니다.
그러나 tou는 약간 다른 구성으로 두 개의 dnsmasq 인스턴스를 시작할 수 있습니다. 내부의:
bind-interfaces
interface=eth0 # internal
dhcp-range=192.168.1.2,192.168.1.254,12h
domain=mydomain.eu
no-hosts
addn-hosts=/etc/hosts.dyndns # hosts file created by my dynDNS server
expand-hosts
# Server/VMs
host-record=server,192.168.1.1
host-record=server.mydomain.eu,192.168.1.1
cname=dns.mydomain.eu,server.mydomain.eu
address=/mydomain.eu/<externalIP> # wildcard subdomains
외부 :
bind-interfaces
interface=eth1 # external
no-hosts
addn-hosts=/etc/hosts.dyndns # hosts file created by my dynDNS server
# Server/VMs
host-record=server.mydomain.eu,<externalIP>
cname=dns.mydomain.eu,server.mydomain.eu
address=/mydomain.eu/<externalIP> # wildcard subdomains
답변
157.166.224.26을 핑 (ping) 할 수 있지만 cnn.com을 핑 (ping) 할 수없는 경우
그런 다음 DNS 문제가 있습니다.
[EITHER를 ping 할 수없는 경우 네트워크 문제가 있으며 둘 다 ping 할 수 있으면 아무런 문제가 없습니다]
그런 다음 nslookup을 사용하여 ‘cnn.com’을 IP 주소로 올바르게 확인하는 대체 내부 또는 외부 DNS 서버를 찾고 DHCP 문제가 발생할 때까지이 정적 DNS 서버에 대해 워크 스테이션의 NIC를 구성 할 수 있습니다