博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux怎么查看F5地址,F5-npath模式-说明-linux上配置
阅读量:6376 次
发布时间:2019-06-23

本文共 2146 字,大约阅读时间需要 7 分钟。

F5-npath模式-说明-linux上配置

NPATh 是三角模式,即F5放在旁路,真实服务器网关也不用设为F5地址

服务器的loopback地址设置为bigip的vip后回去的流量就不走bigip

不是因为设置了loopback地址而不走BIGIP的,BIGIP下面的服务器的网关地址指向是交换机或者路由器,

、并没有指向BIGIP,所以回去的流量就不走BIGIP。设置loopback地址的作用是服务器在收到客户端请求之后,

返回给客户端的地址是loopback地址,这样让客户端的再次请求时先走到BIGIP上,然后再由BIGIP流向服务器,

从而实现三角传输。

BIGIP在做npath的时候是要勾掉port translation和address translation的,这个时候,客户端请求发到BIGIP VS上,

从BIGIP转发给服务器的时候就不会改变数据包里面的目地地址和目标端口,而只改变数据包的目的MAC地址。

所以请求会发送到服务器的网卡上。注意这个时候的源地址是客户端的真实地址。

loopback地址和VS地址相同,因此,侦听在Loopback地址上的应用会把请求接收进行处理。

处理完成后在返回的时候查看本机路由,发现客户端源地址不和本地网卡直连,因此就从默认网关送回回应包。

而此时的默认网关是路由器或者交换机,所以就直接返回给客户端了。

1)三角模式的负载均衡

三角模式的负载均衡,即客户端发送给F5,F5转发给服务器,服务器直接发回给客户端,其中这么奇特的模式,

其实是用到了IP欺骗(即mac地址和IP实际不是匹配的)。三角模式的图,可以在PPT中看到。

(2)负载均衡F5是以TCP连接为单位的.("三角"模式)

在客户端有连接请求(即TCP SYN握手请求)时,F5才会根据负载均衡算法去计算出应该发到哪台服务器,

比如服务器A。往后,该TCP连接上的数据的传送,虽然客户端依然将TCP包发给F5,

但是F5不再使用算法计算应该发往哪台服务器,而都会将TCP包转发给服务器A。

所以,一个TCP连接建立后,在这个TCP连接上的数据的传输,

客户端最终都是和某台特定的服务器(如服务器A)进行数据传输的。

(3)负载均衡机器F5的IP欺骗。("三角"模式)

IP欺骗是用在"三角"模式上。F5和服务器A握手,以及后续将TCP包都发给服务器A,TCP包的都是以[src=客户端IP,dest=F5的IP]

这样的TCP头传输的,不过虽然[src=客户端IP],但是实际[src=客户端IP]的mac地址是F5,

[dest=F5的IP]实际的mac地址是服务器A,这称为IP欺骗(具体做法应该是hack负载均衡机器F5的IP寻址ARP的过程,

让寻找到的mac是伪装的)。这样,服务器A在接收到TCP包,由于TCP头是[src=客户端IP,dest=F5的IP],

所以,服务器A则会以[src=F5的IP,dest=客户端的IP]为TCP头将TCP数据包发给客户端,

客户端又以[src=客户端IP,dest=F5的IP]的TCP头部将TCP数据包发给F5。这就形成了三角的形状。

注意,这种三角模式用到的IP欺骗,必须是在内部IP(私有IP地址)之间,

即F5和服务器们有相同的IP号(子网掩码的1对应的部分),才行。

-------------------------------------------------------------

linux 服务器负载时使用nPath的注意事项

操作系统RedHat AS4

模拟情况:vip 192.168.10.110

real server 192.168.10.205/203

即虚拟ip和realserver在同一个网段,又需要采取单臂模式的情况时。

最后结果,需要在linux服务器上作如下配置

1. 修改lo地址为vip地址

配置修改:   vi /etc/sysconfig/network-scripts/ifcfg-lo:0

DEVICE=lo:0

IPADDR=192.168.10.110

NETMASK=255.255.255.255

ONBOOT=yes

NAME=loopback

测试是否配置成功,可以直接在此服务器上ping 192.168.10.110

2. 通过运行如下脚本实现对loopback口的arp广播的禁止:否则,其它机器,就可以ping通这个地址了

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore   //这个是主要的

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

注:以上eth0是服务器发布服务的网络接口,可以根据具体的环境设置。

可以将这四行脚本写进rc.local里,让其每次开机时都自动运行。

3.配置好服务器上的以上配置后再进行F5的相应配置。

转载地址:http://savqa.baihongyu.com/

你可能感兴趣的文章
msyql主从畚份
查看>>
[学习笔记]上下界网络流
查看>>
小知识点随手记
查看>>
如何实现一个搜索引擎
查看>>
vue写出放大镜的效果
查看>>
JVM(五)回收机制
查看>>
reactjs弹幕视频播放
查看>>
linux dns
查看>>
线段上格点的个数
查看>>
上线前网页性能及体验的检查
查看>>
LoadRunner脚本编写(转)
查看>>
java泛型
查看>>
“用户、组或角色'XXX'在当前数据库中已存在”问题
查看>>
Volatile关键字的解读
查看>>
LeetCode【169. Majority Element】
查看>>
微信小程序登录 该死的官方文档TypeError: the JSON object must be str, not 'bytes'
查看>>
0x800a01bd - JavaScript 运行时错误: 对象不支持此操作
查看>>
dos下根据端口找到对应的程序
查看>>
解决Win10 SVN图标不显示问题
查看>>
IntentService与Service的区别
查看>>