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.5030.10.1.50 -> primetoncf.com192.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 OVERWRITTENnameserver 30.10.1.88 nameserver 30.10.1.34nameserver 30.10.1.3search openstacklocalroot@boshcli:/home/cf# nslookup primetoncf.comServer: 30.10.1.88Address: 30.10.1.88#53Name: primetoncf.comAddress: 192.168.0.135root@boshcli:/home/cf# nslookup api.primetoncf.comServer: 30.10.1.88Address: 30.10.1.88#53Name: api.primetoncf.comAddress: 192.168.0.135root@boshcli:/home/cf# nslookup uaa.primetoncf.comServer: 30.10.1.88Address: 30.10.1.88#53Name: uaa.primetoncf.comAddress: 192.168.0.135root@boshcli:/home/cf# nslookup 30.10.1.50Server: 30.10.1.88Address: 30.10.1.88#5350.1.10.30.in-addr.arpa name = primetoncf.com.root@boshcli:/home/cf# nslookup 192.168.0.135Server: 30.10.1.88Address: 30.10.1.88#53135.0.168.192.in-addr.arpa name = primetoncf.com.