目前,在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