1、 F5 BIGIP-LC-V11 标准配置文档 神州数码 -赵威 完成时间 : 20150909 目录 一 DNS 基本原理 4 二 拓扑图 5 三 Lc 及 ltm 物理和逻辑组件 5 四 配置所需的资源 6 五 配置前的准备工作 7 六 网络层配置 10 1. 划分 Vlan 10 2. 配置 Self IP . 11 3. 配置 Routes . 14 七 应用负载均衡配置 15 1. 配置 Pools 15 2. 配置 Virtual Servers . 16 八 链路负载均衡配置 19 1.Outbound 方向 . 19 1.1 配置 f5 Gateway 19 1.2 配置运营商
2、地址库 21 1.3 编写 irule 控制流量的方向 30 1.4 配置 Snatpool(非必要) 30 1.5 配置 Vs 并关联 Irule 31 2.Inbound 方向 31 2.1 配置 Listeners . 31 2.2 配置 Links 32 2.3 配置 Topology 算法 34 2.4 配置 Wide Ips . 40 2.5.LC 常用算法介绍 . 41 九 修改 DNS 注册商的域名指向 . 41 十 一些应该注意的细节问题 42 十一 测试过程 42 十二 总结 LC 的访问流程 . 42 一 DNS 基本原理 用户 在客户端浏览器的地址栏中输入 http:/
3、,则在客户端浏览器本地的 DNS 客户端首先向本机已经配置或者分配好的 DNS 服务器发起 的域 名解析请求,这里客户端配置的 DNS 服务器我们通常称为 Local DNS 服务器。而 Local DNS 服务器先查询是否在本地的缓存中有有效的 的 DNS 记录,如果发现有在有效期之内的对应 DNS 记录,则直接返回给 Local DNS 解析的结果。 查询后如果发现本地缓存中没有这条记录,则直接从本机预先配置好的根DNS 服务器 IP 地 址 列 表 中 向 某 一 台 根 域 服 务 器 发 起 请 求 , 查 询。 在根 DNS 服务器中,记录了每个顶级域分别是由哪些 DNS 服务
4、器负责,所以它会向发起请求的 Local DNS 服务器返回 .com 域的服务器记录。 Local DNS 会向 .com 域服务器 请求 的资源 。 .com 域服务器告诉 local DNS 会返回 域服务器的 DNS 记录 。 这时 local DNS 再去请求 域服务器。 B 域服务器返回 的 ip 地址为 1.1.1.1。 然后 local DNS 把 请求 得到的结果返回给用户 。 然后 用户去 请求 的 资源 。 返回用户需要的资源。 二 拓扑图 三 Lc 及 ltm 物理 和 逻辑 组件 Pool: 相同应用 的一组资源池,对应于后端 server 的真实地址及端
5、口 Virtual Server: 应用 对外 发布 的地址, 及 所有的 pool member 对外 映射成的一个地址。 Listeners: f5 提供解析 的 窗口 ,相当于 自己 原来的 DNS 服务器 。 Link: 定义了一个到 Internet 的物理连接, Link 和一个或多个 Router 关联 。 Wide Ips:映射一个域名到一组 virtual Server, Load Balance选择特定的Virtual Server。 Topology:定义 解析 的算法 , 根据请求的 源 来匹配 所要给 的目的 vs。 四 配置所需 的资源 Active: 1.1: C
6、TC 接口地址 -10.10.10.1/24 1.2: CNC 接口地址 -11.11.11.1/24 1.3: Internal 接口地址 -192.168.1.1/24 Standby: 1.1: CTC 接口地址 -10.10.10.2/24 1.2: CNC 接口地址 -11.11.11.2/24 1.3: Internal 接口地址 -192.168.1.2/24 common: 1.1 floating ip-10.10.10.3/24 1.2 floating ip-11.11.11.3/24 1.3 floating ip-192.168.1.3/24 WEB VS CTC-1
7、0.10.10.4/24 Port 80 WEB VS CNC-11.11.11.4/24 Port80 WEB Pool Member-192.168.1.4 192.168.1.5 Port 80 CTC gateway: 10.10.10.254/24 CNC gateway: 11.11.11.254/24 五 配置前的准备工作 1. 拿到两台全新的设备上完架后 激活 License。 激活之后 首先在 Platform里面设置好准备工作 : Host Name , Time Zone ,Password 等等 。 2. Resource Provisioning 里面 把 lc 模块
8、开启 。 3. 装好 对应的补丁和镜像 , 切换到 该分区 ,不能给当前 再用分区打补丁 。 4. 选择好 lc 的同步 组 , System-configuration-global traffic-general,勾上 synchronization 和 synchronization DNS zone files, 然后synchronization group name 要 保 持 主 备 一致; 然后System-configuration-global traffic-load balancing 里面 勾上respect fallback-dependency。 如下图 。 六
9、网络 层 配置 1. 划分 Vlan NetworkVLANsCreate Vlan_CTC: Vlan_CNC: Vlan_INTERNAL: 说明 : 以上 是主机的配置,备机按照同样的格式需要 再 配置 一遍 。 2. 配置 Self IP NetworkSelf IPsCreate Self IP_INTERNAL: Self IP_CTC: Self IP_CNC: 说明: 以上为主机的 配置 , 备机 上 需要 再 手动 配置 一次 ,浮动地址不变 。 3. 配置 Routes NetworkRoutesCreate 举例 : 说明 : 前三条为静态路由,最后一条为默认网关 (可以
10、写成 Pool 的形式也可以写 成 地址的 形式 ) , Resource 处 填上 下 一跳 。 七 应用 负载均衡配置 1. 配置 Pools Local TrafficPoolsCreate Pool_WEB:说明 : Health Monitors 如果 是 web 服务的话选择 tcp 即可,然后 Load Balancing Method 选 择 比 较 常 用 的 Round Robin 或者 Least Connections(Member), 然后 New Members 里面填上后端 需要负载 的服务器地址和端口 。 2. 配置 Virtual Servers Local
11、TrafficVirtual ServersCreate Vs_WEB_CTC: Vs_WEB_CNC: 说明: LC 模块不能 使用 Standard 模式 , type 使用 Performance (Lay4), 然后 Destination 和 ServicePort 里面填的是对外映射的地址和 端口, Protocol 选择 all, 然后 Default Pool 里面与之前创建的池关联起来即可。 如果 需要会话保持, Defualt Persistence Profile 里面选择相应的会话保持方式,常用 Source_addr 和 Cookies。 至此, 服务器 负载均衡就做
12、好了。 八 链路负载均衡配置 1.Outbound 方向 1.1 配置 f5 Gateway Local TrafficPoolsCreate Pool_default_gateway: 说明 : 默认网关 按照 按 上图的模板进行 配置 即可。 Pool_CTC: 说明 : 按 上图 中 模板进行配置即可,注意 Priority Group Activation 选择 Less than 1, 表示永远只用优先级最 高 的那 一个 Pool Member, 上图中电信网关优先 级 为 10, 联通优先级为 1。 Pool_CNC: 说明 : 上图 的配置与 Pool_ CTC 基本 相同,只
13、需 将 优先级互换即可 。 1.2 配置运营商地址 库 Local TrafficIrulesData groupsCreate Class_CTC: Class_CNC: 说明 : Type 选择 Address,然后 在里面随便 填写一个 网段 ( 目的 在后面) , 这个时候通过命令行进入 f5 linux 系统 ,通过命令 vi bigip.conf 然后 按 I 进入 编辑 模式 , 找到 100.100.100.0/24,然后 将 自己准备 好 的相应格式的地址库替代它,最后按住 ESC+Shift+: 再输入 wq,最后在敲入命令 tmsh load sys config 这样
14、地址库 就 导入了 。 1.3 编写 irule 控制流量的方向 Local TrafficIrulesIrule ListCreate Irule_OUTBOUND:说明 : 图中 第一段脚本 的意思为 : 如果目的地址匹配联通的地址库那么就走Pool_CNC; 如果目的地址匹配 电信 的地址库那么就走 Pool_CTC;否则 就走默认网关( irule 可 自己修改判断语句) 。 第二段 脚本的意思为:如果你的 Pool Member(这里 是网关 )是 10.10.10.254(电信网关 ) , 那么就用 snatpool_ctc 里面 的地址 出去 上网 ; 如果是 11.11.11.254,那么 就转成接口的浮动地址出去上网 。 1.4 配置 Snatpool( 非必要 ) Local TrafficAddress TranslationSnatpoolCreate