F5负载均衡器简明配置手册.docx
《F5负载均衡器简明配置手册.docx》由会员分享,可在线阅读,更多相关《F5负载均衡器简明配置手册.docx(15页珍藏版)》请在冰豆网上搜索。
![F5负载均衡器简明配置手册.docx](https://file1.bdocx.com/fileroot1/2023-2/21/32829e30-aa70-4813-809b-da1349363b84/32829e30-aa70-4813-809b-da1349363b841.gif)
F5负载均衡器简明配置手册
F5负载均衡器简明配置手册
Submittedbyycgon2007-11-2819:
17.Unix/Linux
CopyFrom:
负载均衡器通常称为四层交换机或七层交换机。
四层交换机主要分析IP层及TCP/UDP层,实现四层流量负载均衡。
七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息。
一、F5配置步骤:
1、F5组网规划
(1)组网拓朴图(具体到网络设备物理端口的分配和连接,服务器网卡的分配与连接)
(2)IP地址的分配(具体到网络设备和服务器网卡的IP地址的分配)
(3)F5上业务的VIP、成员池、节点、负载均衡算法、策略保持方法的确定
2、F5配置前的准备工作
(1)版本检查
f5-portal-1:
~#bversion
Kernel:
BIG-IPKernel4.5PTF-07Build18
(2)时间检查--如不正确,请到单用户模式下进行修改
f5-portal-1:
~#date
ThuMay2015:
05:
10CST2004
(3)申请license--现场用的F5都需要自己到F5网站上申请license
3、F5 的通用配置
(1)在安全要求允许的情况下,在setup菜单中可以打开telnet及ftp功能,便于以后方便维护
(2)配置vlanunique_mac选项,此选项是保证F5上不同的vlan的MAC地址不一样。
在缺省情况下,F5的各个vlan的MAC地址是一样的,建议在配置时,把此项统一选择上。
可用命令ifconfig–a来较验
具体是system/AdvancedProperties/vlanunique_mac
(3)配置snatany_ip选项选项,此选项为了保证内网的机器做了snat后,可以对ping的数据流作转换。
Ping是第三层的数据包,缺省情况下F5是不对ping的数据包作转换,也就是internalvlan的主机无法pingexternalvlan的机器。
(注意:
还可以采用telnet来验证。
)
具体是system/AdvancedProperties/snatany_ip
4、F5的初始化配置
建议在对F5进行初始时都用命令行方式来进行初始化(用Web页面初始化的方式有时会有问题)。
登录到命令行上,运行config或setup命令可以进行初始化配置。
初次运行时会提示一些license的信息。
default:
~#config
5、F5双机切换监控配置(有F5双机时需要)
(1)在web页面中选择相应的vlan,在armfailsafe选择则可。
Timeout为从F5收不到包的时间起,经过多长时间就发生切换。
此配置不能同步,需要在F5的主备机上同时配置。
每个vlan都可以配置vlanarmfailsafe。
具体在Network下
(2)在web页面中选择system,在redundantproperties中把gatewayfailsafe选择则可。
Router是需要监控的地址。
此配置不能同步,需要在F5的主备机上同时配置。
一套F5上只能配置一个gatewayfailsafe
具体在system/redundantproperties/gatewayfailsafe
6、F5 MAC masquerade配置
MacMasquerading是F5的SharedIPAddress(Floating)的MAC地址,F5如果不配置此项,则sharedIPAddress的MAC地址与每台F5的vlanselfIPAddress的MAC地址是一样的。
一般服务器是以sharedIPAddress为网关,在两台F5上都配置了MacMasquerade(相同的MAC地址),这样当F5发生切换后,服务器上sharedIPaddress的MAC不变,保证了业务的不中断
具体在Network下
7、F5的pool配置
(1)在配置工具Web页面的导航面板中选择“Pools”中的“Pools”标签,点击“ADD”按钮添加服务器池(Pool)。
(2)在池属性(PoolProperties)中的“LoadBalancingMethod”表格中选择负载均衡策略,通常采用默认策略:
“RoundRobin”
(3)在“Resouces”表格中的“MemberAddress”文本框输入成员IP地址,在“Service”文本框中输入服务端口,点击“>>”添加到“CurrentMembers”当前成员列表中。
(4)添加所有组成员,点击“Done”完成配置。
(5)在“Pools”中的“PoolName”列选中特定池,然后池属性页面中选择“Persistence”标签。
(6)在“PersistenceType”表格中选定会话保持类型。
点击“Apply”应用配置。
8、F5的virtualserver配置
(1)在配置工具Web页面的导航面板中选择“VirtualServers”中的“VirtualServers”标签,点击“ADD”按钮添加虚拟服务器。
(2)在“AddVirtualServer”窗口的“Address”文本框中输入虚拟服务器IP地址,并在“Service”文本框中输入服务端口号或在下拉框中选择现有的服务名称,点击“Next”执行下一步。
(3)在“AddVirtualServer”窗口的“ConfigureBasicProperties”页面中点击“Next”执行下一步。
在“AddVirtualServer”窗口的“SelectPhysicalResources”页面中点击单选按钮“Pool”,并在下拉框中选择虚拟服务器对应的负载均衡池。
(4)按“Done”完成创建虚拟服务器。
9、F5的monitor的配置
(1)在配置工具Web页面的导航面板中选择“Monitor”中的“Monitors”标签,点击“ADD”按钮添加监控
(2)根据需要选择相关关联类型:
“NodeAssociations”标签、NodeAddressAssociations”标签、ServiceAssociations”标签。
(3)被选关联标签中,在“ChooseMonitor”表格中选择监控名称,点击“>>”按钮添加到“MonitorRule”监控规格文本框中。
监控规则可以为一条或多条。
(4)选择监控规则后,在对应节点的“AssociateCurrentMonitorRule”复选框中选中。
如果欲删除监控关联,则选中对应节点的“DeleteExistingAssocation”复选框。
(5)点击“Apply”关联监控
10、F5的SNAT配置
(1)在配置工具Web页面的导航面板中选择“NATs”中的“SNATs”标签,点击“ADD”按钮添加SNAT地址。
(2)在“AddSNAT”窗口中“TranslationAddress”的“IP”文本框中输入SNATIP地址,并在“OriginList”的“OriginAddress”文本框中输入节点IP地址或在“OriginVLAN”下拉框中选择VLAN名称,点击“>>”加入“CurrentList”列表。
(3)按“Done”完成添加SNATIP地址。
11、F5主备机同步及切换校验
具体在system/RedundantProperties/synchonizeConfig...
12、业务的校验
F5主备机切换的校验
F5主备机业务运行的校验
其中1~6是基本配置,7~10业务配置,11~12校验
二、F5负载均衡器的维护
1、F5节点及应用的检查
通过“System->NetworkMap”页面查看节点及应用状态
绿色:
节点或虚拟服务器为“UP”
红色:
节点或虚拟服务器状态为“Down”
灰色:
节点或虚拟服务器被禁用
2、日志的检查
(1)当天日志:
从web上查看logs中的systemlog、bigiplog、monitorlog,看日志中是否有异常。
(2)7天内的日志
系统日志文件-/var/log/messages消息,系统消息
BIG-IP日志文件-/var/log/bigip
“External”BIG-IPevents
Monitor日志文件-/var/log/bigd
“Internal”BIG-IPEvents
3DNS日志文件-/var/log/3dns
3DNSInformation
用gzcat、more、vi命令打开
3、F5流量的检查
(1)业务上的基本维护主要是在F5上查看F5分发到各节点的connect是否负载均衡,一般不应有数量级的差别
(2)通过WEB->pool->poolstatistics中查看connection项中的total和current项,不应有明显的数量级的差别
(3)F5qkview命令
执行qkview,执行完成后将输出信息保存在文件“/var/tmp/-tech.out”中,供高级技术支持用
(4)F5tcpdump命令
TCPDUMP是Unix系统常用的报文分析工具,TCPDUMP经常用于故障定位,如会话保持失效、SNAT通信问题等
tcpdump[-adeflnNOpqRStvxX][-ccount][-Ffile]
[-iinterface][-mmodule][-rfile]
[-ssnaplen][-Ttype][-wfile]
[-Ealgo:
secret][expression]
[文章作者:
张宴本文版本:
v1.0最后修改:
2008.05.22转载请注明出自:
前言:
最近一直在对比测试F5BIG-IP和CitrixNetScaler负载均衡器的各项性能,于是写下此篇文章,记录F5BIG-IP的常见应用配置方法。
目前,许多厂商推出了专用于平衡服务器负载的负载均衡器,如F5Network公司的BIG-IP,Citrix公司的NetScaler。
F5BIG-IPLTM的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYNFlood保护、防火墙—包过滤、包消毒等功能。
以下是F5BIG-IP用作HTTP负载均衡器的主要功能:
①、F5BIG-IP提供12种灵活的算法将所有流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器。
②、F5BIG-IP可以确认应用程序能否对请求返回对应的数据。
假如F5BIG-IP后面的某一台服务器发生服务停止、死机等故障,F5会检查出来并将该服务器标识为宕机,从而不将用户的访问请求传送到该台发生故障的服务器上。
这样,只要其它的服务器正常,用户的访问就不会受到影响。
宕机一旦修复,F5BIG-IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送。
③、F5BIG-IP具有动态Session的会话保持功能。
④、F5BIG-IP的iRules功能可以做HTTP内容过滤,根据不同的域名、URL,将访问请求传送到不同的服务器。
下面,结合实例,配置F5BIG-IPLTMv9.x:
①、如图,假设域名被解析到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。
④、所有的真实服务器通过SNATIP地址61.1.1.4访问互联网。
详细配置步骤:
一、登录到F5BIG-IP管理界面:
1、初次使用:
①、打开F5BIG-IP电源,用一根网线(直连线和交叉线均可)连接F5BIG-IP的3.1管理网口和笔记本电脑的网口,将笔记本电脑的IP地址配置为“192.168.1.*”,子网掩码配置为“255.255.255.0”。
②、用浏览器访问F5BIG-IP的出厂默认管理IP地址https:
//192.168.1.245或https:
//192.168.245.245
③、输入出厂默认用户名:
admin,密码:
admin
④、点击Activate进入F5BIG-IPLicense申请与激活页面,激活License。
⑤、修改默认管理密码。
2、以后登录:
通过F5BIG-IP的自身外网IP登录。
①、假设设置的F5自身外网IP为61.1.1.2,就可以通过https:
//61.1.1.2/登录。
②、还可以通过SSH登录,用户名为root,密码跟Web管理的密码相同。
二、创建两个VLAN:
internal和external,分别表示内网和外网。
★创建VLAN演示页面:
★VLAN列表演示页面:
1、创建VLAN:
internal(内网)
在“Network→VLANs”页面点击“create”按钮:
①、Name栏填写:
internal(填一个英文名称)
②、Tag栏填写:
4093(填一个数字)
③、Interfaces栏:
将Available列的“1.1”拉到Untagged列。
1.1表示F5BIG-IP的第一块网卡。
2、创建VLAN:
external(外网)
在“Network→VLANs”页面点击“create”按钮创建VLAN:
①、Name栏填写:
internal(填一个英文名称)
②、Tag栏填写:
4094(填一个数字)
③、Interfaces栏:
将Available列的“1.2”拉到Untagged列。
1.2表示F5BIG-IP的第二块网卡。
三、创建F5BIG-IP的自身IP:
分别对应internal(内网)和external(外网)。
★创建自身IP演示页面:
1、创建自身内网IP:
192.168.1.2
在“Network→SelfIPs”页面点击“create”按钮:
①、IPAddress栏填写:
192.168.1.2(填内网IP地址)
②、Netmask栏填写:
255.255.255.0(填内网子网掩码)
③、VLAN栏选择:
internal
④、PortLockdown栏选择:
AllowDefault(默认值)
2、创建自身外网IP:
61.1.1.2
在“Network→SelfIPs”页面点击“create”按钮:
①、IPAddress栏填写:
61.1.1.2(填外网IP地址)
②、Netmask栏填写:
255.255.255.0(填外网子网掩码)
③、VLAN栏选择:
external
④、PortLockdown栏选择:
AllowDefault(默认值)
四、创建默认网关路由
★创建默认网关路由演示页面:
1、创建默认网关路由
在“Network→Routes”页面点击“create”按钮:
①、Type栏选择:
DefaultGateway(默认值)
②、Resource栏选择:
UseGateeay...,在其后的输入框填写网关IP地址:
61.1.1.1(这里假设此IP为外网网关地址)
五、创建服务器自定义健康检查
★创建服务器自定义健康检查演示页面:
1、创建自定义HTTP健康检查:
monitor_http
在“LocalTraffic→Monitors”页面点击“create”按钮:
①、Name栏填写:
monitor_http(填一个英文名称)
②、Type栏选择:
HTTP
③、ImportSettings栏选择:
HTTP
④、Interval栏填写:
5(表示每5秒钟进行一次健康检查)
⑤、Timeout栏填写:
16(表示健康检查的连接超时时间为16秒)
⑥、SendString栏填写:
GET/(也可以根据自己的需求发送其他方法的请求,例如HEAD/或者GET/index.htm)
⑦、ReceiveString栏填写:
(填写对应的返回字符串,默认不填写)
六、创建服务器池(pool)
★创建服务器池演示页面:
1、创建Squid服务器池:
pool_squid
在“LocalTraffic→Pools”页面点击“create”按钮:
①、Name栏填写:
pool_squid(填一个英文名称)
②、HealthMonitors栏:
将第四步创建的自定义HTTP健康检查“monitor_http”由Available列拉到Active列
③、LoadBalancingMethod栏选择:
RoundRobin(这里选择的负载均衡方式是轮询,也可以选择其他方式)
④、NewMembers栏:
先选择NewAddress,再添加两台Squid服务器的IP地址192.168.1.11、192.168.1.12以及它们的端口80
2、创建第一组Apache服务器池:
pool_apache_default
在“LocalTraffic→Pools”页面点击“create”按钮:
①、Name栏填写:
pool_apache_default(填一个英文名称)
②、HealthMonitors栏:
将第四步创建的自定义HTTP健康检查“monitor_http”由Available列拉到Active列
③、LoadBalancingMethod栏选择:
RoundRobin(这里选择的负载均衡方式是轮询,也可以选择其他方式)
④、NewMembers栏:
先选择NewAddress,再添加第一组两台Apache服务器的IP地址192.168.1.21、192.168.1.22以及它们的端口80
3、创建第二组Apache服务器池:
pool_apache_irules
在“LocalTraffic→Pools”页面点击“create”按钮:
①、Name栏填写:
pool_apache_irules(填一个英文名称)
②、HealthMonitors栏:
将第四步创建的自定义HTTP健康检查“monitor_http”由Available列拉到Active列
③、LoadBalancingMethod栏选择:
RoundRobin(这里选择的负载均衡方式是轮询,也可以选择其他方式)
④、NewMembers栏:
先选择NewAddress,再添加第二组两台Apache服务器的IP地址192.168.1.23、192.168.1.24以及它们的端口80
七、创建供七层负载均衡使用的Profiles配置
★创建Profiles演示页面:
1、创建Profiles配置:
profile_http
在“LocalTraffic→Profiles”页面点击“create”按钮:
①、Name栏填写:
profile_http(填一个英文名称)
②、ParentProfile栏选择:
HTTP
③、InsertXForwardedFor栏:
如果需要,可以选中方框,选择Enable(在Header头中插入x-forwarded-for标记,以便做七层负载均衡时能够获取用户真实IP,本文中Squid服务器开启了follow_x_forwarded_forallowall,因此F5无需设置此项)
注:
在此设置页面中,还有压缩等优化功能,可以根据需要进行设置。
八、创建iRules规则
★创建iRules规则演示页面:
1、创建iRules规则:
irules_apache
在“LocalTraffic→Profiles”页面点击“create”按钮:
①、Name栏填写:
irules_apache(填一个英文名称)
②、Definition栏填写以下脚本,将访问的域名为“”,访问的网址以“.htm”结尾,或者以“/read.php”开头的请求全部转到服务器池“pool_apache_irules”:
viewplaincopytoclipboardprint?
1.when HTTP_REQUEST {
2. if {[HTTP:
:
host] equals "" and [HTTP:
:
uri] ends_with ".htm"} {
3. pool pool_apache_irules
4. }
5. elseif {[HTTP:
:
host] equals "" and [HTTP:
:
uri] starts_with "/read.php"} {
6. pool pool_apache_irules