F5 DNS基础培训 目录 • DNS基础知识 • F5 DNS(GTM)整体概念 • F5 DNS (GTM)基础知识 • F5 DNS (GTM)业务配置对象 • 单数据中⼼心F5 DNS (GTM)部署实践 © F5 Networks, Inc 2 DNS基础知识 何谓DNS? DNS = Domain Name System DNS 是⼀一个树状分布式域名系统,为互联 ⺴⽹网或私有⺴⽹网络中的计算机、服务或其他任 何资源提供解析 最突出的功能是将易于记忆的名称翻 译成数字的IP地址⽤用来定位需要访问的 资源 ¬ WWW www.hinet.net <-> 168.95.1.82 ¬ MAIL msa.hinet.net <-> 168.95.4.211 DNS的重要性 为Internet服务最基础的⼀一环 提供机器名称与IP地址双向对映的机制 ¬ WWW www.hinet.net <-> 168.95.1.82 ¬ MAIL msa.hinet.net <-> 168.95.4.211 域名⽐比IP容易记, 且具代表意义 使⽤用域名让系统更具移值性,当IP变动,只需更改DNS设定即可,程序 ⺴⽹网⻚页等不 需更改 随着IPv6 (16 bytes)的推⼲⼴广,更需要使⽤用域名 常用的DNS 记录类型 • A记录:将域名指向⼀一个IPv4地址(例如:100.100.100.100) • CNAME记录:将域名指向另⼀一个域名,实现与被指向域名相同的访问效果 • MX记录:建⽴立电⼦子邮箱服务,将指向邮件服务器地址,建⽴立邮箱时,⼀一般会根据邮箱服务商提供的 MX记录填写此记录 • NS记录:域名解析服务器记录 • TXT记录:可任意填写,可为空。⼀一般做⼀一些验证记录时会使⽤用此项,如:做SPF(反垃圾邮件)记录 • AAAA记录:将主机名(或域名)指向⼀一个IPv6地址(例如:ff03:0:0:0:0:0:0:c1) • SRV记录:SRV记录了哪台计算机提供了哪个服务,格式为:服务的名字.协议的类型(例如: _example-server._tcp) • SOA记录:SOA叫做起始授权机构记录,NS⽤用于标识多台域名解析服务器,SOA记录⽤用于在众多NS中 记录那⼀一台是主服务器 • PTR记录:PTR记录是A记录的逆向记录,⼜又称做IP反查记录或指针记录,负责将IP反向解析为域名 © F5 Networks, Inc 6 DNS如何工作? 有www.domain.com的记录吗? LDNS http://www.domain.com 查询 .com 有 www.domain.com的记录吗? 查询 domain.com Root DNS Server (one of 13 from root.hints) LDNS查询domain.com上 www.domain.com, 返回A记录 有www.domain.com的记录吗? 66.163.171.129 www.domain.com ? 有 的记录吗 LDNS查询.com上www.domain.com, 返回NS 记录 .com DNS Server © F5 Networks, Inc 浏览器访问 www.domain.com domain.com DNS Server 7 DNS如何工作? 有 www.domain.com的记录吗? LDNS 66.163.171.129 66.163.171.129 http://www.domain.com LNDS返回A记录给客户并且缓 存 浏览器连接地址和GET /… Root DNS Server (one of 13 from root.hints) … 服务器返回⺴⽹网⻚页 66.163.171.129 Web Server .com DNS Server © F5 Networks, Inc domain.com DNS Server 8 General Use Cases for DNS LDNS www.subzone.company.com 返回A 记录 ⽤用IP 地址 CNAME www.company.com 到 www.subzone.company.com LDNS请求 www.subzone.company.com LDNS 请求 www.company.com www.subzone.company.com DNS Server www.company.com DNS Server © F5 Networks, Inc 9 标准DNS的限制 • 没有⾼高可⽤用 • DNS不知道站点是否可⽤用 • 只⽀支持轮询的负载 • 当站点宕机后DNS继续解析 • 变更需要⼈人⼯工⽽而且容易造成⼤大影响 • 每秒回答的DNS请求数量有限 • 受DDOS攻击 © F5 Networks, Inc ? 10 F5 DNS整体概念 F5 DNS Services 愿景 BIG-IP DNS(GTM) – ⼲⼴广域⺴⽹网负载均衡 ¬ 确保应⽤用⾼高可⽤用 ¬ 全球的应⽤用交付 ¬ 提供应⽤用性能 DNSSEC – DNS 安全扩展 ¬ 信任的响应 ¬ 阻⽌止缓存中毒 DNS Services ¬ DNS Express - DNS DDoS保护和可扩展性 ¬ DNS64 - IPv6 到IPv4 迁移 ¬ IP AnyCast - DNS 请求分发 ¬ DNS iRules - 操作复杂的 DNS 请求和响应 DNS LTM负载均衡DNS (没有GTM) LDNS LTM 返回DNSS A记 录 A LDNS请求 www.company.com Data Center i DNS server 返回A 记录 IP www.company.com BIG-IP Local Traffic Manager i DNS iRules* LTM 转发请求给 DNS server pool A IP Anycast* *Requires DNS Services Add-on DNS Servers company.com GSLB 和委托模式 LDNS 有www.company.com 的记录吗? http://www.company.com 查询 .com 有www.company.com 的记录吗? 返回 CNAME www.gtm.company.com 查询 company.com 有www.company.com 的记录吗? Root DNS Server 有 www.company.com的 记录吗? Data Center BIG-IP Global Traffic Manager .com DNS Server www.gtm.company.com company.com DNS Server GSLB 和委托模式 LDNS 有www.company.com 的记录吗? http://www.company.com 查询.com 有www.gtm.company.com 的记录吗? 有www.gtm.company.com 的记录吗? 查询 domain.com Root DNS Server 有www.gtm.company.com 的记录吗? Data Center BIG-IP Global Traffic Manager .com DNS Server www.gtm.company.com company.com DNS Server GSLB 和委托模式 有www.company.com 的记录吗? LDNS 66.163.171.129 http://www.company.com 66.163.171.129 有www.gtm.company.com 的记录吗? Data Center X 72.68.171.103 BIG-IP Global Traffic Manager 66.163.171.129 www.gtm.company.com company.com DNS Server GSLB 和委托模式 © F5 Networks, Inc 17 BIG-IP DNS 权威服务器 LDNS 如果DNS Express启 否则,转发给外部 用, 检查针对的DNS DNS Express或者本地DNS 解析 DNS请求 在BIGIP上DNS Listener接 受所有的DNS请求 Data Center LDNS 发送DNS请求 BIG-IP GTM/LTM-DNS Services www.gtm.company.com company.com 如果GTM启用 , 检查GTM Wide IP,如果匹配, 解析最好的IP www.subzone.company.com DNS Server BIG-IP DNS 权威服务器 LDNS Data Center Q i X BIG-IP GTM/LTM-DNS Services X DNS Express www.gtm.company.com company.com DNSSEC Q Geolocation i DNS iRules www.subzone.company.com DNS Server DNS多中心可用性 就近性 冗余性 安全性 在多中⼼心多链路环境,提供 ⽤用户访问体验好的应⽤用⼊入⼝口 当应⽤用业务或者线路出现异 常,可以及时发现,并引导 客户到下⼀一个最优⼊入⼝口 DNS作为UDP协议应⽤用容易 遭受DoS攻击,F5 提供⾼高 性能⾼高安全的DNS解决⽅方案 © F5 Networks, Inc 20 基于用户位置的流量引导 © F5 Networks, Inc 21 基于用户位置的流量引导 © F5 Networks, Inc 22 应用故障自动切换数据中心 © F5 Networks, Inc 23 DNS双中心一般架构 ISP1 Clients ISP2 ISP1 ISP2 External Networks Data Center 1 GTM + DNS Web Tier ISP3 ISP3 Data Center 2 GTM + DNS Web Tier App Tier App Tier DB Tier DB Tier (Active) (Standby) © F5 Networks, Inc 24 DNS 体系部署 传统 DNS 考虑 Internet External Firewall DNS Load Balancing Array of DNS Servers Internal Firewall Hidden Master DNS • 性能 = 增加 DNS 服务器 • 对于 DoS/DDoS 攻击防护很弱 • 防火墙是 瓶颈 DMZ Datacenter 转移到 F5 DNS 体系 F5 DNS 交付期望 Master DNS Infrastructure Internet BIG-IP Global Traffic Manager DNS Firewall DNS DDoS Protection Protocol Validation Authoritative DNS Caching Resolver Transparent Caching High Performance DNSSEC DNSSEC Validation Intelligent GSLB © F5 Networks, Inc • 海量的 处理性能,超过 10,000,000 RPS! • 最佳的 DoS/DDoS 攻击防护 • 更低的 CapEx 和 OpEx 25 F5 DNS基础概念 F5 DNS(GTM) F5 DNS: ¬ ¬ ¬ ¬ F5 DNS是⼀一个⼲⼴广域负载均衡器 使⽤用DNS解析管理访问流量 智能的DNS解析过程中 关⼼心站点的可⽤用性和应⽤用程序的性能 客户可以购买F5 DNS: ¬ 单独的 ¬ 添加的模块 ¬ 在BIGIP硬件上和虚拟版本中 BIG-IP GTM架构中的对象 Links是提供 英特网接入 Data Center (DC) objects Server 在数据中⼼心中 数据中心 are physical groupings of ,包括 devices •BIG-IP GTM •BIG-IP LTM和LC •单独的服务器和其 他负载均衡产品 GTM LTM GTM LTM Server Primary DC Secondary DC GTM LTM Server Disaster Recovery DC BIG-IP GTM架构中基本对象 Wide IP (WIP) • Pool关联的域名 Virtual servers • IP 地址和端⼝口关联server • 应⽤用解析的地址 • 可能是多个服务器(负载均衡) Pool • 可能是单独的⼀一台服务器 ⼀一组可以负载均衡的virtual server • Server可能有多个virtual servers Wide IP: www.f5.com = 73.37.1.1 or 68.28.1.1 or 205.33.1.1 GTM Pool GTM 73.37.1.1:80 68.28.1.1:80 Virtual Server Virtual Server LTM GTM LTM LTM 205.33.1.1:80 73.37.1.11:21 Virtual Server Virtual Server Server Primary DC GTM Secondary DC Server Disaster Recovery DC GTM同步组集群 Local DNS GTM是可以负载均衡的权威 DNS ⾄至少两个GTM: • 地理分开部署 • 同步配置和收集指标 GTM LTM GTM LTM Server Primary DC LTM Server Secondary DC Disaster Recovery DC GTM同步组集群 • • Local DNS 健康检查测试服务器可 ⽤用性和性能 BIG-IP 设备使⽤用 iQuery 来传递信息 … 其他服务器(通过Ping, SNMP, 内容检查) IQ:vips 1..n IQ:SNMP IQ:SNMP()dataIQ:vips 1..n IQ:get_vips() GTM LTM GTM LTM Server Primary DC IQ:vips 1..n SNMP Response LTM Server Secondary DC Disaster Recovery DC GTM同步组集群 探针⽤用来确定接近的数据中 ⼼心和LDNS GTM DNS 域名解析可以根 据: • 可⽤用性 • 性能 • ⺴⽹网络就近性 • 拓扑 Local DNS Primary DC is closest GTM LTM GTM LTM Server Primary DC GTM LTM Server Secondary DC Disaster Recovery DC GTM同步组集群 Local DNS 客户⽆无论在哪个GTM 上解析,因策略⼀一致 ,返回同⼀一个结果。 1st Query GTM LTM GTM LTM Server Primary DC GTM LTM Server Secondary DC Disaster Recovery DC F5 DNS业务配置对象 GTM 基本的设置概念 DNS Listeners LESSON OUTLINE Listeners如何处理GTM流量 TMOS Linux Dynamic Routing BIND Load Balancing DNS 64 DNS Express 64 64 iRules High Performance Hardware © F5 Networks, Inc GTM iRules DNSSEC iRules GTM iRules DNSSEC Clients TCP / UDP IPv4 / IPv6 TMM TMSH Switch GUI HSB Crypto iControl API FIPS 36 GTM Listeners V9 and V10 V11 (DNS Profile) Listener 最佳实践 BIG-IPLTM Local Traffic Manger™ GT (LTM)系统上,每个有BIG-IP GTM模块 在⼀一对BIG-IP 在单独的⼀一台机器上 在⼀一对 设备上,只有⼀一个 • 模块 如果两台机器在 •M ⽤用Self IP地址做 Active/Standby模式下,都要解析: • 使⽤用每台机器的 SelfSelf IP定义 listener • 使⽤用有 GTM模块的设备的 IP listener • 如果只要 listener Active的 LTM系统解析: 定义 • 使⽤用浮动地址定义listener • 只有Active的 BIG-IP LTM有listener, 所以只有Active的 BIG-IP LTM会解析 GTM LTM Data Center LTM/ GTM LTM Data Center LTM/ GTM LTM/ GTM Data Center GTM 基本组件 Data Centers 在GTM上定义servers 确认完成GTM设置的步骤 LESSON OUTLINE Data Centers ⼀一个物理位置的逻辑描述 组织其他在相同物理位置对象的⼀一个容 器 Internet Link 只要Data Center⾥里⾯面的⼀一个对象可⽤用, 该Data Center就可⽤用 GTM LTM link定义⼀一个到Internet的具体路径 Server Data Center Links 与data centers关联 定义了⼀一个DC到Internet的 物理连接 可以单独探测 可以通过探测Internet资源 决定link状态 Uplink Address ¬ 收集SNMP值的路由器接⼝口的 IP地址 Servers Objects GTM的顶层对象 可以定义为server的对象: ¬ Other GTMs ¬ LTMs and Link Controller ¬ Other load balancers ¬ Standalone servers ⼀一个server可⽤用⽀支持⼀一个或多个virtual servers GTM 探测servers ¬ virtual server 的状态取决于该server的状态 定义Servers Address:客户端访问的 公⺴⽹网地址 server 的名字 选择server 的类型 • • • • BIG-­‐IP System (Single) BIG-­‐IP System (Redundant) Generic Load Balancer Generic Host Server IP地址 • Address • TranslaCon (if needed) Server 所属的data center 选择monitor类型 Enable or Disable ⾃自动发 现virtual servers. Transla.on :内部真实服 务器的私有地址 Server 不仅仅是 BIG-IP 类型 GTM 可⽤用负载均衡任何IP主 机 ⾃自定义的monitors 决定 server可⽤用性 限制设置 ¬ 可设置的阀值: • Bits • Packets • Current Connections ¬ 当到达阀值的时候, server标记为不可⽤用 Note: The host must be monitored with SNMP before you can configure the Advanced settings BIG-IP GTM Communications 确定GTM通信所使⽤用的协议 确定建⽴立iQuery通信的步骤 在BIG-IP 上创建和安装证书 更新big3d的版本 LESSON OUTLINE 添加BIG-IP 类型的server 在GTM上添加BIG-IP 类型的server之前: 配置NTP ¬ System>>Configuration>>Device>>NTP BIG-IP systems之间交换证书 ¬ 确保BIG-IP 之间相互信任 ¬ 使⽤用加密的 iQuery 协议 确定所有BIG-IP设备的big3d 版本⼀一致 ¬ 负责收集配置信息与状态信息 ¬ 详细信息参考《 Configuration Guide For BIG-IP Global Traffic Management》 F5 iQuery Protocol iQuery是F5的私有协议,⽤用于GTM与GTM上添加的server对象的通信 Enables GTMs: ¬ 收集其他BIG-IP设备的配置和状态信息 ¬ 同步其他GTM设备的配置和metrics信息 iQuery 通信使⽤用TCP 4353端⼝口 如果BIG-IP 设备在防⽕火墙内部,防⽕火墙要开放TCP4353端⼝口 iqdump 可以验证iQuery 是否建⽴立 In v11, Statistics>> Module Statistics>>GTM>>iQuery iQuery 通信是加密的 使用证书进行安全通信 每个BIG-IP 设备的iQuery 通信需要⼀一个有效的证书 ¬ 如果证书过期, BIG-IP的通信将停⽌止 iQuery默认的证书和key: ¬ V9.x and V10.x 的证书只有⼀一年的有效期 • 可以修改证书有效期时间 ¬ V11.x 的证书默认10年的有效期 修改默认证书 ¬ 最佳实践: 在配置GTM前先修改证书 ¬ 创建⼀一个新证书的⽅方法: • 在GUI 创建,复制到相应⺫⽬目录,详细参考以下两个solution • SOL4146 https://support.f5.com/kb/en-us/solutions/public/4000/100/ sol4146.htm • SOL6360 https://support.f5.com/kb/en-us/solutions/public/6000/300/ sol6360.htm Preparing a BIG-IP server object GTMs 和BIG-IPs 作为⼀一个 server 对象: ¬ ¬ 根据需要⽣生成证书 复制证书到相应的⺫⽬目录 在GTM 添加BIG-IP 类型的server : ¬ ¬ ¬ 使⽤用bigip_add 交换证书和KEY • CLI: # bigip_add <ip address> • TMSH: (tmos)# run gtm bigip_add <ip address> - root 权限 - admin 权限 使⽤用big3d_install 确保big3d版本⼀一致 • CLI: # big3d_install <ip address> • TMSH: (tmos)# run gtm big3d_install <ip address> - root 权限 - admin 权限 您可以输⼊入多个IP地址,以空格分隔 证书交换后,BIG-IP之间可以通信 此过程还没有把BIG-IP 作为server添加 More on the utilities big3d_install 和 bigip_add 使⽤用 ¬ ⼀一次性操作 • 如果证书改变,需要重新运⾏行命令 ¬ 使⽤用SSH/SCP • bigip_add 使⽤用 SCP 交换证书 • big3d_install 使⽤用SCP 安装big3d 程序 • 如果对端设备拥有⼀一样更⾼高的big3d版本,跳过这⼀一步 ¬ 可以使⽤用管理IP ¬ 你必须知道对端BIG-IP设备的root密码 • 你可能需要输⼊入多次 详细信息参考如下solution: SOL8195: Overview of the BIG-IP GTM big3d_install, bigip_add, and gtm_add utilities Virtual Servers and Monitors 增加virtual servers 到⼀一个 server 对象 Monitor的最佳实践 LESSON OUTLINE Review: Virtual Servers in a BIG-IP GTM System 端⼝口⽤用于被探测 virtual server 是IP和端⼝口的组合 IP 地址是DNS的解析地址 GTM 73.37.1.1:21 68.28.1.1:21 Virtual Server Virtual Server LTM GTM LTM Server Primary DC © F5 Networks, Inc Secondary DC 52 Adding Virtual Servers to Server Objects ⾮非BIG-IP 类型的server对象 ¬ ⼿手动配置Virtual servers BIG-IP 类型的server对象 ¬ ⼿手动配置Virtual servers ¬ 或者使⽤用⾃自动发现 ⾃自动发现 ¬ ¬ ¬ ¬ 73.37.1.1:21 Virtual Server GTM LTM 默认Disable BIG-IPs 发⽣生 GTM 配置信息 可以⾃自动发现 virtual server 和links 如果Virtual servers是NAT过的,则不可以使 ⽤用⾃自动发现 Server Primary DC 手动添加Virtual Servers virtual server的名称 Ip地址和端⼝口 Advanced 显⽰示更多的选项 virtual server 级别的阀值 virtual servers 的状态依赖 其他的virtual servers BIG-IP GTM Monitors GTM 通过monitor知道: ¬ 确定应⽤用是否可⽤用 ¬ 获取⺴⽹网络资源信息 可以在GTM上配置以下层⾯面的monitor : ¬ Servers ¬ Virtual servers ¬ Pools ¬ Pool members GTM拥有像LTM⼀一样内置的monitor Monitor 类型 Node and Service 检查 ¬ 确定⼀一般可⽤用性 • • • gateway_icmp :检测IP是否可达 Tcp: 检测端⼝口是否可⽤用 推荐server使⽤用这种monitor 内容检查 ¬ 确定应⽤用可⽤用性 • • 查询应⽤用程序,并核对查询的内容 ⽐比如httpmonitor,发送请求,⽐比对响应的内容 ¬ 推荐pool使⽤用这种monitor Path 检测 ¬ 透明模拟的monitor,通过该设备(不是检测该设备)验证⺴⽹网络的可⽤用性 • 使⽤用gateway_icmp 检测internet上的指定IP ¬ 推荐link使⽤用这种monitor Interactive checks ¬ ⽤用户⾃自定义脚本检测应⽤用 BIG-IP GTM Monitors GTM的monitor是多个层⾯面的 ¬ What to monitor and where GTM对象的状态可以继承低层次的monitor ¬ Server > Virtual Server > Pool > Pool member • Server monitor will check virtual servers on the object • Pool monitor will check all members of the pool BIG-IP 可以监控⾃自⼰己 需要避免过度监管 ¬ 消耗GTM资源和增加⺴⽹网络流量 Best Practices for Monitoring Servers 对于⾮非BIG-IP的对象,使⽤用通⽤用的monitor ¬ ⽐比如 gateway_icmp or TCP monitor ¬ 这些monitor可以检查 virtual servers 的状态 使⽤用特定的应⽤用monitor检测pool ¬ e.g. HTTP, HTTPS, SMTP, FTP etc ¬ GTM >> Monitors 使⽤用path monitors 检测link,通过检查⺴⽹网络设备 记住状态可以继承的 ¬ 避免在virtual servers 和 pool members层⾯面使⽤用monitor 有关更多信息, 参考SOL5431: Recommended BIG-­‐IP GTM monitor configuraCon BIG-IPs 监控⾃自⼰己的对象 Prober Pool - 传统探测机制 ISP封禁www.xxx.com 的http端⼝口服务 Client Client:查询www.xxx.com Internet GTM:探测本地服务健康状态 GTM:返回本地服务地址 Client:真实访问http端⼝口不通 Ns1 ISP-1 DC-1 © F5 Networks, Inc 互联⺴⽹网接⼊入 负载均衡 ns2 ISP-2 在默认的探测机制下,每个F5 DNS独⽴立对资 源进⾏行探测,然后通告到组内F5 DNS中 由于运营商异常屏蔽将造成系统不可⽤用, 往往需要⼿手⼯工处理,RTO时间过⻓长 59 Prober Pool - GTM探测机制-解析和探测相对分离 电信 联通 电信 移动 联通 移动 Internet DC-3 DC-1 电信 Ø GTM系统通过配置Prober Pool进⾏行互联⺴⽹网资源的探测 联通 移动 DC-2 p 每个Server对应⼀一个Prober Pool p 每个Prober Pool包含4台不同的GTM,相同运营商优先 p 本线路Server探测的Prober Pool不包含本线路的GTM系统 Ø ⼀一个周期内仅当所有Prober Pool中的GTM探测都失败,才将Server标记为“不可⽤用” 上述⽅方法可以有效避免运营商异常屏蔽问题 © F5 Networks, Inc 60 F5 DNS Prober Pool • Prober pools是V11版本才出现的功能 • Prober pools可以包含⼀一个或者多个BIGIP设备,Prober pools⽤用来检测各种资源的可⽤用 性,Prober pools可以指派给F5 DNS⾥里⾯面的单个servers也可以指派给F5 DNS⾥里⾯面的 data center,如果指派给data center,那这个data center⾥里所有的server都由这个 Prober pools来检测。 • Prober pools⽀支持Round Robin和Global Availability的⽅方式去检测资源。 © F5 Networks, Inc 61 Load Balancing and Topology and Geolocation 负载均衡 配置基本的topology Geolocation 功能 LESSON OUTLINE 静态的负载均衡方式 GTM包含的预定义的静态LB⽅方式: ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ Round Robin Ratio Global Availability Topology Global Availability • 负载均衡按照pool member的排列顺序 • 返回第⼀一个可⽤用的member • 仅当当前的member容量已满或者 不可⽤用,才使⽤用下⼀一个可⽤用的 member Return to DNS Drop Packet Fallback IP Static Persist None Topology • 基于topology记录导向或限制流量 • 根据LDNS的来源返回相应IP • 详细⻅见后续讨论 动态的负载均衡方式 基于servers的性能分配连接 服务器动态负载均衡⽅方式: ¬ ¬ ¬ ¬ ¬ ¬ ¬ CPU Kilobytes/Second Least Connections 对于⾮非BIG-IP类型的server, GTM通过SNMP采集数据 Packet Rate VS Capacity QoS VS Score (requires BIG-IP Local Traffic Manager™ (LTM)) 链路动态负载均衡⽅方式: ¬ ¬ ¬ ¬ Round Trip Times (RTT) Quality of Service (QoS) Completion Rate Hops 每个DC需要⼀一个或多个 big3d代理收集数据 动态的负载均衡方式: QoS 使⽤用virtual server当前各性能信息计算整体分数 性能因素包括: ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ Round trip time Hops Connection rate Packet rate Topology Link Capacity VS Capacity Kilobytes/Second 对于简单的配置,你可以使⽤用默认的设置 轮询 - Round Robin 0 LTM 1 LTM LTM 2 LTM DNS f5.com name server www.f5.com ? 0 1 2 0 1 2 0 1 2 LDNS © F5 Networks, Inc 66 比率 - Ratio 0 1 LTM LTM LTM Ratio 2 2 LTM Ratio 4 Ratio 1 DNS f5.com name server www.f5.com ? 0 1 2 0 1 1 1 0 1 2 0 1 1 1 LDNS © F5 Networks, Inc 67 全局可用性 - Global Availability 0 LTM LTM 1 2 LTM Pool_DC1 LTM Pool_DC2 Pool_DC3 DNS f5.com name server www.f5.com ? 0 0 0 1 2 0 1 1 0 Pool_DC1 Pool_DC2 Pool_DC3 0 0 0 LDNS © F5 Networks, Inc 68 延时 - Round Trip Time 0 LTM LTM 1800ms LDNS1 = 1100ms LDNS2 = 2500ms 1 2 LTM LTM 1500ms LDNS1 = 3500ms LDNS2 = 3500ms LDNS1 = 2500ms 1000ms LDNS2 = 1500ms DNS • Resolution based on lowest round trip time between LDNS and virtual server f5.com name server 2 1 0 2 1 0 2 1 0 1 1 www.f5.com ? 1 LDNS © F5 Networks, Inc 69 路由跳数 - Hops 0 LTM 1 LTM LDNS1 = 5 30hops hops LDNS2 = 10 hops 2 LTM LTM LDNS1 = 10 hops LDNS2 = 30 hops LDNS1 = 20 hops LDNS2 = 20 5 hops hops DNS • Resolution based on lowest hop count between LDNS and virtual server f5.com name server 1 0 1 0 1 0 2 0 2 0 www.f5.com ? 2 0 LDNS © F5 Networks, Inc 70 最少连接数 - Least Connections 0 1 LTM LTM 500 connections 3500 connections LTM 2 LTM 1500 connections 2500 connections DNS • Resolution based on least connections per virtual server f5.com name server 1 0 1 0 1 0 1 0 1 0 www.f5.com ? 1 0 LDNS © F5 Networks, Inc 71 数据包率 - Packet Rate 0 LTM LTM 100 packets / sec 1 2 LTM LTM 300 packets / sec 400 packets / sec DNS • Resolution based on virtual server currently processing at the lowest packet rate f5.com name server 0 0 0 0 0 www.f5.com ? 0 LDNS © F5 Networks, Inc 72 Topology GTM按照Topology纪录导向流量 Topology decisions can use multiple criteria ⽤用户可以使⽤用⾃自定义的regions或者是内置 的Quova的topology数据 自定义 Regions Regions可以是以下类型: ¬ IP subnets ¬ ¬ ¬ ¬ ¬ ¬ Countries Continents Data center ISP Region Pool Regions 可以灵活定义 匹配 Topology 记录 ⼀一个源LDNS请求可能匹配多条topology记录 topology记录的权重值确定最精确的匹配 如果来⾃自上海的⼀一个LDNS的请求可能配置两条记录,但是China/Bejing这条记录 的权重值⾼高 所以会返回Bejing这个data center⾥里的POOL或者Virtual server 相同权重值 的记录将按轮询的⽅方式返回 Pools and Wide IPs Review GTM load balancing model BIG-IP GTM pools Overview of Load Balancing Methods Wide IPs LESSON OUTLINE BIG-IP GTM Load Balancing 分层的负载均衡模式: ¬ Wide IP 能在多个 pools间负载均衡 ¬ pool能在它的 pool members间负载均衡 • pool member 是 virtual server Wide IP Load Balancing Pool Pool Load Balancing Load Balancing Virtual Server Virtual Server Virtual Server Virtual Server Example of Tiered Load Balancing DC1的GTM匹配域名请求到 Wide IP,使⽤用 Topology从europe_pool DC1的解析域名 GTM从London 的LDNS接收DNS请求 LDNS Wide IP us_pool europe_pool Least Connections Least Connections Virtual Server 1 BIG-IP GTM Topology BIG-IP LTM US Data Center 1 Virtual Server 2 BIG-IP LTM US Data Center 2 Virtual Server 3 DC1的GTM使 ⽤用 Least ConnecCons 算 法解析域名到 Virtual Server 4 的IP地址 Virtual Server 4 BIG-IP GTM BIG-IP LTM BIG-IP LTM Europe Data Center 1 Europe Data Center 2 BIG-IP GTM Pools 定义了virtual servers后才能创建 通过选择和组合的virtual servers创建 ¬ Virtual servers 是pool members 多个Wide IPs 能使⽤用相同的pool Pools Pool members Wide IP Wide IP Pool Virtual Server Virtual Server Pool Virtual Server Virtual Server Pool Virtual Server Virtual Server Defining a BIG-IP GTM Pool 指定 pool名称 分配健康检查 ⽅方法 选择负载均衡算法 指定fallback IP address 增加virtual servers (or pool members) 到 pool Three methods? BIG-IP GTM Wide IPs 负载均衡多个站点 要负载均衡的Fully-Qualified Domain Name (FQDN) ¬ 例如. web 站点, 电⼦子商务站点, FTP 站点等等 ¬ 例如. www.abc.com = 1.1.1.1 or 2.2.2.2 or 3.3.3.3 or 4.4.4.4 映射到pools⾥里的virtual servers 使⽤用 pools 解析FQDN 到最好可⽤用的virtual server的IP地址 对于所有Wide IP FQDNs,GTM是权威的 How GTM Processes DNS Requests Listener 接收 DNS 查询 使⽤用iRules 和 DNSSEC 解密 请求的FQDN匹 配 Wide IP? TMOS Linux Dynamic Routing BIND Load Balancing DNS 64 DNS Express 64 64 iRules High Performance Hardware © F5 Networks, Inc GTM iRules DNSSEC iRules GTM iRules DNSSEC Clients TCP / UDP IPv4 / IPv6 TMM TMSH Switch GUI HSB Crypto iControl API FIPS 82 How GTM Processes DNS Requests 如果 Wide IP 匹配请求 ¬ 检查 persistence, 如果记录存在 • 解析persistence记录中的ip地址 ¬ 如果⽆无persistence记录: • 基于如下选择⼀一个virtual server IP : • Wide IP 负载均衡算法和pool的可⽤用性 • pool 负载均衡算法和 member的可⽤用性 ¬ 如果⽆无Wide IP匹配 • 传递或丢弃请求 仅仅返回 A/AAAA/A6 记录 Defining a Wide IP 指定Wide IP FQDN 如果⽤用 iRules则关联 选择负载均衡算法: • Round Robin • RaCo • Global Availability • Topology 关联Wide IP pools 选择last resort pool 单数据中心F5 DNS部署实践 场景说明 在Inbound配置中,基于以下场景假设 © F5 Networks, Inc • 单数据中⼼心 • F5 DNS位于互联⺴⽹网出⼝口位置,集成在better模块 中; • ⽤用户出⼝口线路有电信和联通; • Inbound策略规划为电信、联通⽤用户疏导到对应 运营商线路,⾮非电信、联通⽤用户全部分配到电信 线路 • 当有线路发⽣生故障时,可以进⾏行线路⾃自动切换 86 F5 DNS Inbound配置步骤 • • • • • • • • 创建F5 DNS Linstener 创建data centers 创建Server big3d_install or bigip_add for BIG-IP servers 创建 F5 DNS pool 创建WideIPs 创建同步组 Dns迁移 © F5 Networks, Inc 87 Inound配置STEP1 – 创建 F5 DNS listeners DNS ›› Delivery : Listeners : Listener List创建⼀一个新的Listene,关于listener详细可参考 Listener决策策略 Destination:listener地址 Protocol:可选项为TCP/UDP,视实际情 况配置,在DNS响应⻓长度⼤大于⼀一个UDP包 ⻓长度时,需要使⽤用TCP的listener © F5 Networks, Inc 88 Inound配置STEP2 – 创建 data centers DNS ›› GSLB : Data Centers : Data Center List创建⼀一个新的datacenter Name:填写datacenter名称 © F5 Networks, Inc 89 Inound配置STEP3 – 创建F5对象 DNS ›› GSLB : Servers : Server List创建⼀一个新的Server,关于server详细请参考Servers Objects Name:填写Server名称 Product:添加双机bigip设备时选择BIG-IP System(Redundant),在本场景中因为配置在互联⺴⽹网出 ⼝口的F5双机better上,所以选择Redundant;添加单机 bigip设备时选择BIG-IP System(Single),添加普通 server时选择Generic Host Address List:填写本机地址 Peer Address List:填写双机设备⾥里的对端设备地址 *添加单机bigip设备与Generic Host时,没有Peer Address List配置项 Data Center:选择设备部署的datacenter © F5 Networks, Inc 90 Inound配置STEP3 -创建F5对象 Health Monitor:添加的设备为bigip设备时, 选择bigip monitor;添加的设备为Generic Hots时,可按需选⽤用monitor Virtual Server Discovery: • Enable:可⾃自动发现bigip设备⾥里配置的 vs • Disable:需要⼿手动配置vs 关于virtual server,详细请参考 Virtual Servers Link Discovery: • Enable:⾃自动发现bigip设备中default route关联pool中的⺴⽹网关members,并读 取状态 • Disable:需⼿手动添加link 关于link,详细请参考Links © F5 Networks, Inc 91 Inound配置STEP4 – 创建普通服务器对象 Name:填写Server名称 Product:添加普通server时选择Generic Host Address List:填写服务器地址 Data Center:选择设备部署的datacenter Health Monitor:选择适⽤用的monitor © F5 Networks, Inc 92 Inound配置STEP4 – 创建普通服务器对象 Virtual Server List中加⼊入Server上发布的业务信息 © F5 Networks, Inc 93 Inound配置STEP5 – big3d_install or bigip_add for BIG-IP servers 如果添加了bigip类型的Server,需要进⾏行bigip add操作,在进⾏行bigip add前,需要对⻬齐设备的big3d agent version 可使⽤用命令big3d –version查看本机的big3d版本,对于iquery通信对设备,尽量保证big3d版本号⼀一致,如 果不⼀一致,可使⽤用big3d_install向其推送⾃自⼰己系统上的big3d程序,详情请参照证书交换机 制 : big3d_install 如果两端的big3d版本⼀一致,在两端F5设备分别执⾏行bigip_add交换证书,关于bigip_add请参照证书交换 机制 : bigip_add © F5 Networks, Inc 94 Inound配置STEP6 – 创建F5 DNS POOL DNS ›› GSLB : Pools : Pool Listc创建⼀一个新的Pool Name:填写pool名称 Health Monitor:选⽤用合适的健康检查⽅方式,关于monitor 详细请参考F5 DNS Monitors Load Balancing Method:选⽤用合适的负载均衡算法,关 于负载均衡算法详细请参照负载均衡算法 – 静态算法, ⼀一般preferred算法选⽤用topology,Alternate算法选⽤用none, fallback算法选⽤用GA Member List:选择相同业务的不同vs地址,域名将根据 负载均衡⽅方式解析member地址中的⼀一个 © F5 Networks, Inc 95 Inound配置STEP7 – 创建wide ip DNS ›› GSLB : Wide IPs : Wide IP List创建⼀一个新的Wide IP Name:填写域名 Load Balancing Method:选⽤用合适的负载均衡算法,在wide ip层 级下,只有4种负载均衡算法可算 • Global Available • Ratio • Topology,关于toplogy算法在wide ip中使⽤用,请参考负载均 衡算法 - topology • Round robin Pool List:选择关联的pool,可选多个 © F5 Networks, Inc 96 Inound配置STEP8 –创建topology规则 场景: • Web业务分别发布在电信、联通线路上 • 电信⽤用户返回电信地址,联通⽤用户返回联通地址 Pool Pool_web © F5 Networks, Inc Load Balacing Method VS Topology,none,GA 219.149.192.104 58.17.128.104 Isp CT CNC 97 Inound配置STEP8 – 创建topology规则 DNS ›› GSLB : Topology : Records中创建topology规则 ⾮非电信联通⽤用户在topology算法中会匹 配miss 因Alternate算法配置none,⾮非电信联 通⽤用户会直接匹配fallback算法, fallback算法为Global available,返回 pool中第⼀一个可⽤用的member; © F5 Networks, Inc 98 Inound配置STEP9 – 创建同步组 • 检查公⺴⽹网接⼝口ip开放22(bigip_add交换证书需要)、4353(iquery通信) 端⼝口 • 待建F5 DNS同步组内设备时间⼀一致,最佳实践为使⽤用NTP进⾏行时间同步 *22端⼝口只在建⽴立同步组期间需要,在同步组建⽴立成功后,建议关闭公⺴⽹网ip的 22端⼝口,仅保留4353端⼝口 © F5 Networks, Inc 99 Inound配置STEP9 – 创建同步组 在待建F5 DNS同步组内设备开启Synchronize DNS ›› Settings : GSLB : General中勾选Synchronize与Synchronize DNS Zone file,同时确保Group Name在F5 DNS同步组内⼀一致 *总是修改group name,不要使⽤用default,以避免意外地同步⼀一个新的配置的 可能性或者将GTM放在错误的同步组 开启synchronize 填写group name 如果运⾏行BIND 则开启 Synchronize DNS Zone Files © F5 Networks, Inc 100 Inound配置STEP9 – 创建同步组 在待建F5 DNS同步组内设备开启Synchronize DNS ›› Settings : GSLB : General中勾选Synchronize与Synchronize DNS Zone file,同时确保Group Name在F5 DNS同步组内⼀一致 *总是修改group name,不要使⽤用default,以避免意外地同步⼀一个新的配置的 可能性或者将GTM放在错误的同步组 开启synchronize 填写group name 如果运⾏行BIND 则开启 Synchronize DNS Zone Files © F5 Networks, Inc 101 Inound配置STEP9 – 创建同步组 • 如果部署的F5为LTM Combo DNS,并且部署的F5为N+M组,添加BIG-IP System(Redundant) • 如果部署的F5为独⽴立⼯工作的GTM,添加BIG-IP System(Single) • 配置⽅方式可参⻅见Create Server objects – 创建F5对象 © F5 Networks, Inc 102 Inound配置STEP9 – 创建同步组 确保待建同步组间F5 DNS设备均使⽤用bigip_add交换证书,关于bigip_add请参考证书交换机 制 : bigip_add © F5 Networks, Inc 103 Inound配置STEP9 – 创建同步组 在新的F5 DNS设备(待加⼊入同步组设备)上运⾏行gtm_add x.x.x.x,其中x.x.x.x为已在同步组内F5 DNS IP, 如果为新建同步组,则为已做配置的F5设备IP,关于gtm_add请参考证书交换机制 : gtm_add © F5 Networks, Inc 104 Inound配置STEP9 – 创建同步组 F5 DNS syn group⾃自动同步配置,可在组内其中⼀一台F5 DNS上增加配置,查看另外的设 备上能否正常同步,其后在另外的组内设备中删除刚刚新建的配置,如果能同步到组内 其他设备,则同步组能够正常⼯工作 © F5 Networks, Inc 105 Inound配置STEP9 – DNS迁移 F5 DNS配置完成并检测⽆无误后,需要对⽤用户的DNS进⾏行迁移,即需要⽤用户将需要F5 DNS做Inbound 负载的⼦子域或域名委派给F5 DNS来做解析,当然也可以将F5 DNS做为权威DNS。 Ø ⼦子域委派模式:企业DNS域托管在DNS运营商,F5只负责需要承担智能解析的域名记录 Ø 权威DNS模式:企业DNS域完全迁到F5上,所有动态及静态域名皆有F5负责解析 *更加建议企业把DNS完全迁移到F5上,因为可控度及安全性更加⾼高 © F5 Networks, Inc 106 Inound配置STEP9 – DNS迁移(子域委派模式) 对于企业DNS域托管在DNS运营商,F5只负责需要承担智能解析的域名记录场景,可通过⼦子域委派 模式把需要动态解析的域名委派到F5上解析 © F5 Networks, Inc • 在company.com中新增 gtm.company.com⼦子域 • 通过ns记录,把gtm.company.com这 个⼦子域授权到F5 DNS上 107 Inound配置STEP9 – DNS迁移(子域委派模式) © F5 Networks, Inc • 新增CNAME记录,把 www.company.com别名到 www.gtm.company.com中 • 在F5 DNS上增加wide ip,域名为 www.gtm.company.com • F5 DNS解析www.gtm.company.com结 果 108 Inound配置STEP9 – DNS迁移(子域委派模式) 对company.com域中的记录进⾏行修改,创建记录并委派给F5 DNS的listener进⾏行解析 修改之前的DNS设置(以www.abcd.com为例): abcd.com NS dns9.hichina.com abcd.com NS dns10.hichina.com www.abcd.com A 202.99.8.1 © F5 Networks, Inc 修改之后的DNS设置(以www.company.com为例) : abcd.com NS dns9.hichina.com abcd.com NS dns10.hichina.com www.abcd.com CNAME www.gtm.abcd.com #创建CNAME记录,把www.abcd.com别名到 www.gtm.company.com gtm.abcd.com NS ct.gtm.abcd.com gtm.abcd.com NS cnc.gtm.abcd.com ct.gtm.abcd.com A 219.149.192.100 cnc.gtm.abcd.com A 58.17.128.100 #创建⼦子域并授权F5 DNS上的电信和联通listener进⾏行解 析 109 Inound配置STEP9 – DNS迁移(子域委派模式) F5上创建两个运营商地址的listener 创建对应的wide ip记录 关于如何配置F5 DNS上的wide ip与其相关配置,可参考DNS配置 © F5 Networks, Inc 110 Inound配置STEP9 – DNS迁移(子域委派模式) © F5 Networks, Inc 111 Inound配置STEP9 – DNS迁移(权威DNS模式) 在权威DNS模式下,整个域托管在F5 DNS上,所有域内记录都由F5进⾏行解析 配置⽅方式请参考DNS配置及参考后续的DNS ZonrRunner配置 © F5 Networks, Inc 112