天天看點

使用dnsmasq在本地将域名解析為CNAME别名

目前,在aws上有一個負載均衡器:some-balancer-458343333.ap-southeast-1.elb.amazonaws.com,現在我想使用自己的域名(balancer.example.com)指向負載均衡器,這樣可以友善公開此網站。

在dnsmasq的做法如下:

1. 先安裝dnsmasq

yum install -y dnsmasq
           

2. 配置dnsmasq

dnsmasq 預設配置檔案為/etc/dnsmasq.conf、/etc/dnsmasq.d/目錄下的檔案,并從/etc/hosts讀取域名、從/etc/resolv.conf 讀取上遊dns。

2.1 在dnsmasq的配置檔案:/etc/dnsmasq.d/address.conf 添加如下内容

cname = balancer.example.com,some-balancer-458343333.ap-southeast-1.elb.amazonaws.com
           

2.2 在/etc/hosts 添加如下内容,步驟如下:

2.2.1 先找出some-balancer-458343333.ap-southeast-1.elb.amazonaws.com 的ip(有可能有幾個IP),你可以使用nslookup或ping找出ip,這裡我們使用ping 找出一個IP就行:

# ping b5b41197-default-nginx-ef8b-1479439401.ap-east-1.elb.amazonaws.com
PING some-balancer-458343333.ap-southeast-1.elb.amazonaws.com (18.122.188.66) 56(84) bytes of data.
           

2.2.2 在/etc/hosts添加如下内容:

18.122.188.66 some-balancer-458343333.ap-southeast-1.elb.amazonaws.com
           

3. 檢查結果是否正确:

在用戶端,把使用的dns伺服器指向dnsmasq,并在nslookup中測試:

mac-Pro-client:~ test$ nslookup 
> server 192.168.5.73
Default server: 192.168.5.73
Address: 192.168.5.73#53
> some-balancer-458343333.ap-southeast-1.elb.amazonaws.com
Server:		192.168.5.73
Address:	192.168.5.73#53

Non-authoritative answer:
Name:	some-balancer-458343333.ap-southeast-1.elb.amazonaws.com
Address: 18.122.188.66
Name:	some-balancer-458343333.ap-southeast-1.elb.amazonaws.com
Address: 18.122.28.43
Name:	some-balancer-458343333.ap-southeast-1.elb.amazonaws.com
Address: 18.122.178.16

> balancer.example.com
Server:		192.168.5.73
Address:	192.168.5.73#53

balancer.example.com	canonical name = some-balancer-458343333.ap-southeast-1.elb.amazonaws.com.
Name:	some-balancer-458343333.ap-southeast-1.elb.amazonaws.com
Address: 18.122.188.66
           

上面,可以看到 balancer.example.com 已經正确解析為some-balancer-458343333.ap-southeast-1.elb.amazonaws.com的IP位址(18.122.188.66)。

所有,你現在可以使用 balancer.example.com 通路了。

參考:

dnsmasq安裝過程:https://blog.csdn.net/kozazyh/article/details/79432989

https://serverfault.com/questions/789530/resolve-a-domain-name-to-cname-alias-locally-using-dnsmasq

繼續閱讀