cloudfroundry基本部署好了,一般的做法,都是会为它配置一个独立dns解析服务器,用来对cf的域名做解析。现在我的情况是这样子的:
修改 /etc/resolv.comf 文件:
cf的域名我设置为: primetoncf.com。 cf 的 proxy 的内网IP为 30.10.1.50, 绑定的浮动IP为 192.168.0.135。 现在需要做如下解析:
*.primetoncf.com -> 30.10.1.50
30.10.1.50 -> primetoncf.com
192.168.0.135 -> primetoncf.com
以下是我的配置过程,做个笔记,也可以给他人一点参考。
虚机环境为 Ubuntu 14.04 LTS.
一。 安装bind9
apt-get install bind9
二。配置正向解析与反向解析的Zone
修改 /etc/bind/named.conf.local# 正向解析 primetoncf.com -> 内网IP 30.10.1.50。对应配置文件为 /etc/bind/db.primetoncf.com.没有的话,新建一个
zone "primetoncf.com" {
type master;
file "/etc/bind/db.primetoncf.com";
};
# 反向解析 30.10.1.50 -> primetoncf.com。对应配置文件为 /etc/bind/db.primetoncf.com.没有的话,新建一个
zone "1.10.30.in-addr.arpa" { # 需要特别注意这里的写法,反向解析的地址要反着来写,如解析 30.10.1.50,zone名字要先写1,再写10,再写30,否则会解析出错
type master;
file "/etc/bind/db.1.10.30";
};
# 反向解析 192.168.0.135 -> primetoncf.com。对应配置文件为 /etc/bind/db.primetoncf.com.没有的话,新建一个
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.0.168.192";
};
三。 配置后继dns
本dns解析不了的话,会依次转到此地址去请求解析
修改 /etc/bind/named.conf.optionsforwarders {
# 服务器所在外部网络的dns服务器地址
192.168.11.181;
# google的公网dns服务器地址
8.8.8.8;
8.8.4.4;
};
四。 配置正向解析配置文件
解析 *.primetoncf.com -> 内网IP 30.10.1.50
创建 /etc/bind/db.primetoncf.com $TTL 604800
@ IN SOA primetoncf.com. root.primetoncf.com. (
1 ;
604800 ;
86400 ;
2419200 ;
604800
);
@ IN NS primetoncf.com.
@ IN A 192.168.0.135
* IN A 192.168.0.135
五。 配置反向解析配置文件
解析外网IP 192.168.0.135 -> primetoncf.com
创建 /etc/bind/db.0.168.192 $TTL 604800
@ IN SOA primetoncf.com root.primetoncf.com(
4 ;
604800 ;
86400 ;
2419200 ;
604800
)
;
@ IN NS primetoncf.com.
135 IN PTR primetoncf.com.
六。 反向解析配置文件
解析内网IP 30.10.1.50 -> primetoncf.com
创建/etc/bind/db.1.10.30 $TTL 604800
@ IN SOA primetoncf.com root.primetoncf.com(
3 ;
604800 ;
86400 ;
2419200 ;
604800
)
;
@ IN NS primetoncf.com.
50 IN PTR primetoncf.com.
七。 重启 dns 服务
service bind9 restart
检查服务能否成功启动。 不能启动的话, 检查日志: /var/log/syslog, 看看到底是哪里出问题了
八。 验证dns服务
找台linux虚拟机,修改它的dns服务器地址为配置的这个的IP地址;(如本例中,此dns服务器的内网地址为: 30.10.1.88, 浮动IP为 192.168.0.138)修改 /etc/resolv.comf 文件:
nameserver 30.10.1.88
当然,也可以配置成 192.168.0.138,只要能ping通这个地址就可以了。
然后,使用 nslookup 进行测试:
root@boshcli:/home/cf# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 30.10.1.88
nameserver 30.10.1.34
nameserver 30.10.1.3
search openstacklocal
root@boshcli:/home/cf# nslookup primetoncf.com
Server: 30.10.1.88
Address: 30.10.1.88#53
Name: primetoncf.com
Address: 192.168.0.135
root@boshcli:/home/cf# nslookup api.primetoncf.com
Server: 30.10.1.88
Address: 30.10.1.88#53
Name: api.primetoncf.com
Address: 192.168.0.135
root@boshcli:/home/cf# nslookup uaa.primetoncf.com
Server: 30.10.1.88
Address: 30.10.1.88#53
Name: uaa.primetoncf.com
Address: 192.168.0.135
root@boshcli:/home/cf# nslookup 30.10.1.50
Server: 30.10.1.88
Address: 30.10.1.88#53
50.1.10.30.in-addr.arpa name = primetoncf.com.
root@boshcli:/home/cf# nslookup 192.168.0.135
Server: 30.10.1.88
Address: 30.10.1.88#53
135.0.168.192.in-addr.arpa name = primetoncf.com.