Internal-Dns

dnsmasq - 防止解析不存在的主機

  • August 10, 2020

我已經在 ubuntu 實例上安裝了 dnsmasq DNS 伺服器,並在配置中添加了域名。它工作正常,只是它以與域名相同的方式解析未知主機。

這是我的配置:

/etc/dnsmasq.conf

# domain name
domain=example.com
local=/example.com/

address=/example.com/127.0.0.1 
listen-address=127.0.0.1

/etc/hosts

127.0.0.1 localhost
172.217.16.195 www.google.com
10.10.1.x testhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

我已經在“範例”實例上安裝了 nginx 伺服器,所以當我向埠 80 發送 GET 請求時,我希望看到預設頁面,這是按計劃工作的:

curl example.com

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...

在“testhost”實例上,我安裝了返回“hello world”的簡單伺服器,這也可以正常工作。

curl testhost.example.com

hello world

但是,當我請求一個不存在的主機時,它會被重定向到“範例”主機: curl random-string-asfasfasfasf.example.com

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...

我怎樣才能防止這種行為?

刪除該address=行並將example.com您要解析的主機放入/etc/hosts.

引用自:https://serverfault.com/questions/1029485