로컬 네트워크와 인터넷에서 DNS 요청을 구별 HTTP를 통해 IP 업데이트를

로컬 클라이언트와 일부 인터넷 서비스 모두에 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.euDNSmasq에 의해 응답되는 도메인으로 요청을 확장 합니다 <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를 구성 할 수 있습니다