须知:
1.由于我的16G轻薄本性能有限,本次演示拓扑中DC1的GSLB负载;
2.ISP1内网中DNS服务器采用windows server 2008 r2;
3.原DNS和LTM每组各2台当主备,改为各1台担当;
4.步骤文字标红部分,是因为按照步骤又要回到前面更正。我直接在原步骤标红改正确了。
先演示实验效果:
图一为DNS解析路径;图二为DNS解析负载(61.12.8.0.X和128.61.0.X为模拟公网ISP)
预配:
1.LTM设备建立pool池,关联VS ip,并配置默认路由;
2.DNS对公配置双路OSPF邻居,规划0.6为对外提供http公网地址;0.4为对外对动态域名的接收地址;
3.DNS根据互访关系,配置0.6的NAT关系;
按照笔记:
《1》配置logging Profile
“system”-“logs”-“configurations”-“log publishers”
name填写“local-syslog-publishers1”
Destinations中将“local-syslog”调整为“selected”状态
《2》DNS logging profile
“DNS”-“Delivry“-"prifiles"-”other“-”DNS logging“
name填写“DNS_logging_profile1”
logging publishers 选择“local-syslog-publishers1”
《3》DNS profile
"DNS"-"Delivery"-"profiles"-"DNS"
name填写“qytangcciedc.com_dns_profile1”
Unhandled Query Action 选择“Allow"
Use BIND Server on BIG-IP 选择“Enabled”
logging 选择“Enable”
logging Profile选择“DNS_logging_profile1”
AVR Statistics Sample Rate选择”Enabled“,比例填写1:1
《4》配置udp profile
“DNS”-“Delivery”-Profiles“-Protocol”-“UDP”
name填写“udp-dns_profile1”
Datagram LB选择“Enable”
《5》配置tcp profile
“DNS”-“Delivery”-Profiles“-Protocol”-“TCP”
name填写“tcp-dns_profile1”
Paraent Profile填写“f5-tcp-wan” (模拟公网而选择)
6》配置DNS listener
“DNS”-“Delivery”-“Listeners"-"Listener List"
name填写“isp1_DCI_ns.qytangcciedc.com_udp_53_virtual”
Destination中Address填写“61.128.0.4”
Service选择“Advanced”高级:
Protocol选择“UDP”
Protocol Profile(Clinet)选择“udp-dns_profile1”
DNS profile选择“qytangcciedc.com_dns_profile1”
name填写“isp2_DCI_ns.qytangcciedc.com_udp_53_virtual”
Destination中Address填写“128.61.0.4”
Service选择“Advanced”高级:
Protocol选择“UDP”
Protocol Profile(Clinet)选择“udp-dns_profile1”
DNS profile选择“qytangcciedc.com_dns_profile1”
name填写“isp1_DCI_ns.qytangcciedc.com_tcp_53_virtual”
Destination中Address填写“61.128.0.4”
Service选择“Advanced”高级:
Protocol选择“TCP”
Protocol Profile(Clinet)选择“tcp-dns_profile1”
DNS profile选择“qytangcciedc.com_dns_profile1”
name填写“isp2_DCI_ns.qytangcciedc.com_tcp_53_virtual”
Destination中Address填写“128.61.0.4”
Service选择“Advanced”高级:
Protocol选择“TCP”
Protocol Profile(Clinet)选择“tcp-dns_profile1”
DNS profile选择“qytangcciedc.com_dns_profile1”
验证:可在LTM-VS上看到2个IP的53端口(共4个条目)
《7》配置Data centers和link
“DNS”-“GSLB”-“Data Centers”-“Data Centers List”
name填写“qytangdc1”
点击完成
name填写“qytangdc2”
点击完成
《8》配置servers
“DNS”-"GSLB“-"Server”-“Servers List”
name填写“DC1-DNS-HA”
Date Center选择“qytangdc1”
Device中点击“Add”
Device Name填写“DC1-DNS2.qytang.com”
Address填写自己的self ip"61.128.0.3"和"128.61.0.3"-finish(DC1-DNS2)
Device中点击“Add”
Device Name填写“DC1-DNS1.qytang.com”
Address填写自己的self ip"61.128.0.2"和"128.61.0.2"-finish(DC1-DNS1)
configurations中的“Health Monitors”将“bigip”调整为Active状态;
Resources中的virtual Server Discovery选择”Disabled“,Link Discovery(自动发现)选择”Disabled“
可以在“DNS”-"GSLB“-"Server”-“Servers List”-“Device”-“DC1-DNS-HA”看到自己端是绿色的,对端是蓝色的,证明链路还没有建立。
Device中点击“Add”
name填写“DC1-LTM-HA”
Date Center选择“qytangdc1”
Device Name填写“DC1-LTM2.qytang.com”
Address填写自己的self ip"172.16.10.253"(DC1-LTM2)
Device中点击“Add”
Device Name填写“DC1-LTM1.qytang.com”
Address填写自己的self ip"172.16.10.252"-finish(DC1-LTM1)
configurations中的“Health Monitors”将“bigip”调整为Active状态;
Resources中的virtual Server Discovery选择”Enabled“,Link Discovery(自动发现)选择”Enabled“
可以在“DNS”-"GSLB“-"Server”-“Servers List”-“Device”-“DC1-LTM-HA”看到自己端是绿色的,对端是蓝色的,证明链路还没有建立
对DC1-DNS-HA建立link及virtual server:
link由于前面关闭了自动发现,手动建立。其中Health Monitors要选择“gateway_icmp”
建立virtual server,需要关联link做监控。
9》配置Device Trust
为什么要交换证书:为了F5 BIG-IP设备设备间通信iQuery;
有三个命令可以交换机F5 BIG-IP的设备间的证书:bigip add、big3d_install、gtm_add;
以上三个命令应在F5 DNS上执行:
a.bigip add 只用来交换证书,使用SSH协议和scp命令;
b.big3d_install 推送big3d程序给对方+交换证书;
c.gtm_add拉取对方配置到本机+交换证书+将自己加入DNS同步组
iQuery通信:
正确交换完证书是iQuery mesh结构建立的前提;
(1)iQuery F5私有协议使用TCP 4353端口,使用SSL加密通信,实际传输的是gzip压缩的XML数据;
(2)iQuery负责bigip间的monitor、heartbeat、path metiric collection result、persistence的交换或同步,是各种configurations(bigip、gtm、conf、named、conf、zone)同步的执行者
(3)big3d在所有self ip,内部接口包括mgmt上监听tcp 4353;
(4)iQuery是gtmd与big3d之间的通信,所以iQuery mesh是gtm与gtm,gtm与ltm之间的mesh。ltm只是单向传送iQuery到GTM,不主动发起iQuery连接;
(5)查看F5 4353端口情况: netstat -tnlp | grep 4353(查看端口状态检查服务是否正常)和netstat -na | grep 4353(所有涉及4353端口连接)
bigip_add 61.128.0.2(在DC1-DNS2-F5上)
bigip_add 172.16.10.252(在DC1-LTM2-F5上)
检查是否交换机证书:DNS”-“GSLB”-“Servers”-"Trusted Server Certificates"中“Certificates Subject(S)“中发现是有远程的设备
排障可参考:https://support.f5.com/csp/article/K13690
《10》dns pool
“DNS”-“GSLB“-“Pools”-“Pool List”
name填写“GLSB-web-pool”
type选择“A”
configurations中的Health monitors,这里选择适用tcp协议来监控,tcp调为Active状态;
Member中的load balancing method中,preferred选择“Topology”,Altemate选择“None”,Falback选择“Global Availability”
Member List中的virtual Server选择LTM设备的VS地址(61.128.0.6)
name填写“GLSB-web-pool-2”
type选择“A”
configurations中的Health monitors,这里选择适用tcp协议来监控,tcp调为Active状态;
Member中的load balancing method中,preferred选择“Topology”,Altemate选择“None”,Falback选择“Global Availability”
Member List中的virtual Server选择LTM设备的VS地址(128.61.0.6)
《11》WideIPs
“DNS”-“GSLB“-“Wide IPs“-”Wide IP List“
name填写“www.gslb.qytangcciedc.com”
Type选择“A”
Pools中的load Balancing Method选择“Topology”,Pool List中的pool选择步骤10建立的“GLSB-web-pool(A)”--"Add"
点击完成
配置好以后,在ISP1-win7上测试下,提示:no servers could be reached
这是因为步骤10中建立的“GLSB-web-pool“的virtual Server需要新建。
“DNS”-“GSLB“-“Pools”-“Pool List”-“GLSB-web-pool“-“Member”-”Add“,增加2个公网的VS即可。
添加完发现第二个IP(128.61.0.6)unlicensed状态,因为该功能需要授权,且只限于美国地区:(https://support.f5.com/csp/article/K15834)
name填写“GLSB-web-pool-DC1-ISP2”
configurations中的Health monitors,这里选择适用tcp协议来监控,tcp调为Active状态;
Member中的load balancing method中,preferred选择“Topology”,Altemate选择“None”,Falback选择“Global Availability”
Member List中的virtual Server选择unlicensed状态的ip(128.161.0.6)
这样配置2个pool,pool的负载均衡topology方式就废了,可以检查:
tmsh show gtm wideip A www.gslb.qytangcciedc.com detail 在Load Balancing中三种负载均衡的命中次数。
附录:ISP1中DNS服务器配置-------------
《1》添加正向查找领域;
《2》添加子域委派:在上面新建的qytangcciedc.com下新建
《3》添加别名:回到上级域名(qytangcciedc.com),新起别名