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