您的位置:首页 > 其它

F5 BIG-IP配置实例与Web管理界面体验

2013-05-22 16:53 453 查看
转载请注明出自:http://blog.s135.com/]

  前言:最近一直在对比测试F5 BIG-IP和Citrix NetScaler负载均衡器的各项性能,于是写下此篇文章,记录F5 BIG-IP的常见应用配置方法。

   目前,许多厂商推出了专用于平衡服务器负载的负载均衡器,如F5 Network公司的BIG-IP,Citrix公司的NetScaler。F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、 IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、 Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN
Flood保护、防火墙—包过滤、包消毒等功能。

  以下是F5 BIG-IP用作HTTP负载均衡器的主要功能:

  ①、F5 BIG-IP提供12种灵活的算法将所有流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器。

   ②、F5 BIG-IP可以确认应用程序能否对请求返回对应的数据。假如F5 BIG-IP后面的某一台服务器发生服务停止、死机等故障,F5会检查出来并将该服务器标识为宕机,从而不将用户的访问请求传送到该台发生故障的服务器上。这样,只要其它的服务器正常,用户的访问就不会受到影响。宕机一旦修复,F5 BIG-IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送。

  ③、F5 BIG-IP具有动态Session的会话保持功能。

  ④、F5 BIG-IP的iRules功能可以做HTTP内容过滤,根据不同的域名、URL,将访问请求传送到不同的服务器。

  下面,结合实例,配置F5 BIG-IP LTM v9.x:

  _学习,再学习,灭亡。。。_新浪博客.mht!http://blog.s135.com/attachment/200805/f5-big-ip.gif]



  ①、如图,假设域名blog.s135.com被解析到F5的外网/公网虚拟IP:61.1.1.3(vs_squid),该虚拟IP下有一个服务器池(pool_squid),该服务器池下包含两台真实的Squid服务器(192.168.1.11和192.168.1.12)。

  ②、如果 Squid缓存未命中,则会请求F5的内网虚拟IP:192.168.1.3(vs_apache),该虚拟IP下有一个默认服务器池(pool_apache_default),该服务器池下包含两台真实的Apache服务器(192.168.1.21和192.168.1.22),当该虚拟IP匹配iRules规则时,则会访问另外一个服务器池(pool_apache_irules),该服务器池下同样包含两台真实的Apache 服务器(192.168.1.23和192.168.1.24)。

  ③、另外,所有真实服务器的默认网关指向F5的自身内网IP,即192.168.1.2。

  ④、所有的真实服务器通过SNAT IP地址61.1.1.4访问互联网。

  详细配置步骤:

  一、登录到F5 BIG-IP管理界面:

  1、初次使用:

  ①、打开F5 BIG-IP电源,用一根网线(直连线和交叉线均可)连接F5 BIG-IP的3.1管理网口和笔记本电脑的网口,将笔记本电脑的IP地址配置为“192.168.1.*”,子网掩码配置为“255.255.255.0”。

  ②、用浏览器访问F5 BIG-IP的出厂默认管理IP地址https://192.168.1.245/https://192.168.245.245/

  ③、输入出厂默认用户名:admin,密码:admin

  ④、点击Activate进入F5 BIG-IP License申请与激活页面,激活License。

  ⑤、修改默认管理密码。

  2、以后登录:

  通过F5 BIG-IP的自身外网IP登录。

  ①、假设设置的F5自身外网IP为61.1.1.2,就可以通过https://61.1.1.2/登录。

  ②、还可以通过SSH登录,用户名为root,密码跟Web管理的密码相同。

  二、创建两个VLAN:internal和external,分别表示内网和外网。

  ★创建VLAN演示页面:http://blog.s135.com/book/f5/vlan_create.htm

  ★VLAN列表演示页面:http://blog.s135.com/book/f5/vlan_list.htm

  1、创建VLAN:internal(内网)

  在“Network→VLANs”页面点击“create”按钮:

  ①、Name栏填写:internal(填一个英文名称)

  ②、Tag栏填写:4093(填一个数字)

  ③、Interfaces栏:将Available列的“1.1”拉到Untagged列。1.1表示F5 BIG-IP的第一块网卡。

  2、创建VLAN:external(外网)

  在“Network→VLANs”页面点击“create”按钮创建VLAN:

  ①、Name栏填写:internal(填一个英文名称)

  ②、Tag栏填写:4094(填一个数字)

  ③、Interfaces栏:将Available列的“1.2”拉到Untagged列。1.2表示F5 BIG-IP的第二块网卡。

  三、创建F5 BIG-IP的自身IP:分别对应internal(内网)和external(外网)。

  ★创建自身IP演示页面:http://blog.s135.com/book/f5/selfip_create.htm

  1、创建自身内网IP:192.168.1.2

  在“Network→Self IPs”页面点击“create”按钮:

  ①、IP Address栏填写:192.168.1.2(填内网IP地址)

  ②、Netmask栏填写:255.255.255.0(填内网子网掩码)

  ③、VLAN栏选择:internal

  ④、Port Lockdown栏选择:Allow Default(默认值)

  2、创建自身外网IP:61.1.1.2

  在“Network→Self IPs”页面点击“create”按钮:

  ①、IP Address栏填写:61.1.1.2(填外网IP地址)

  ②、Netmask栏填写:255.255.255.0(填外网子网掩码)

  ③、VLAN栏选择:external

  ④、Port Lockdown栏选择:Allow Default(默认值)

  四、创建默认网关路由

  ★创建默认网关路由演示页面:http://blog.s135.com/book/f5/routes_create.htm

  1、创建默认网关路由

  在“Network→Routes”页面点击“create”按钮:

  ①、Type栏选择:Default Gateway(默认值)

  ②、Resource栏选择:Use Gateeay...,在其后的输入框填写网关IP地址:61.1.1.1(这里假设此IP为外网网关地址)

  五、创建服务器自定义健康检查

  ★创建服务器自定义健康检查演示页面:http://blog.s135.com/book/f5/monitors_create.htm

  1、创建自定义HTTP健康检查:monitor_http

  在“Local Traffic→Monitors”页面点击“create”按钮:

  ①、Name栏填写:monitor_http(填一个英文名称)

  ②、Type栏选择:HTTP

  ③、Import Settings栏选择:HTTP

  ④、Interval栏填写:5(表示每5秒钟进行一次健康检查)

  ⑤、Timeout栏填写:16(表示健康检查的连接超时时间为16秒)

  ⑥、Send String栏填写:GET /(也可以根据自己的需求发送其他方法的请求,例如HEAD /或者GET /index.htm)

  ⑦、Receive String栏填写:(填写对应的返回字符串,默认不填写)

  六、创建服务器池(pool)

  ★创建服务器池演示页面:http://blog.s135.com/book/f5/pools_create.htm

  1、创建Squid服务器池:pool_squid

  在“Local Traffic→Pools”页面点击“create”按钮:

  ①、Name栏填写:pool_squid(填一个英文名称)

  ②、Health Monitors栏:将第四步创建的自定义HTTP健康检查“monitor_http”由Available列拉到Active列

  ③、Load Balancing Method栏选择:Round Robin(这里选择的负载均衡方式是轮询,也可以选择其他方式)

  ④、New Members栏:先选择New Address,再添加两台Squid服务器的IP地址192.168.1.11、192.168.1.12以及它们的端口80

  2、创建第一组Apache服务器池:pool_apache_default

  在“Local Traffic→Pools”页面点击“create”按钮:

  ①、Name栏填写:pool_apache_default(填一个英文名称)

  ②、Health Monitors栏:将第四步创建的自定义HTTP健康检查“monitor_http”由Available列拉到Active列

  ③、Load Balancing Method栏选择:Round Robin(这里选择的负载均衡方式是轮询,也可以选择其他方式)

  ④、New Members栏:先选择New Address,再添加第一组两台Apache服务器的IP地址192.168.1.21、192.168.1.22以及它们的端口80

  3、创建第二组Apache服务器池:pool_apache_irules

  在“Local Traffic→Pools”页面点击“create”按钮:

  ①、Name栏填写:pool_apache_irules(填一个英文名称)

  ②、Health Monitors栏:将第四步创建的自定义HTTP健康检查“monitor_http”由Available列拉到Active列

  ③、Load Balancing Method栏选择:Round Robin(这里选择的负载均衡方式是轮询,也可以选择其他方式)

  ④、New Members栏:先选择New Address,再添加第二组两台Apache服务器的IP地址192.168.1.23、192.168.1.24以及它们的端口80

  七、创建供七层负载均衡使用的Profiles配置

  ★创建Profiles演示页面:http://blog.s135.com/book/f5/profiles_create.htm

  1、创建Profiles配置:profile_http

  在“Local Traffic→Profiles”页面点击“create”按钮:

  ①、Name栏填写:profile_http(填一个英文名称)

  ②、Parent Profile栏选择:HTTP

   ③、Insert XForwarded For栏:如果需要,可以选中方框,选择Enable(在Header头中插入x-forwarded-for标记,以便做七层负载均衡时能够获取用户真实IP,本文中Squid服务器开启了follow_x_forwarded_for allow all,因此F5无需设置此项)

  注:在此设置页面中,还有压缩等优化功能,可以根据需要进行设置。

  八、创建iRules规则

  ★创建iRules规则演示页面:http://blog.s135.com/book/f5/irules_create.htm

  1、创建iRules规则:irules_apache

  在“Local Traffic→Profiles”页面点击“create”按钮:

  ①、Name栏填写:irules_apache(填一个英文名称)

  ②、Definition栏填写以下脚本,将访问的域名为“blog.s135.com”,访问的网址以“.htm”结尾,或者以“/read.php”开头的请求全部转到服务器池“pool_apache_irules”:

view plainprint?

when HTTP_REQUEST {
if {[HTTP::host]
equals "blog.s135.com" and
[HTTP::uri] ends_with ".htm"}
{
pool pool_apache_irules
}
elseif {[HTTP::host] equals "blog.s135.com"
and [HTTP::uri] starts_with "/read.php"}
{
pool pool_apache_irules
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: