LVS之DR模式
目录:
- 网络环境
- LVS服务器网络配置
- LVS服务器添加ipvs规则
- RS服务器配置
- 访问验证
- 抓包分析
- 注意事项
【网络环境】
网络拓扑结构如下表:
|
服务器
|
类型
|
网卡
|
IP
|
MAC
|
说明
|
|
v_mechine2
|
client
|
ens32
|
192.168.237.132
|
00:0c:29:ff:f9:ca
|
客户端ip
|
|
v_mechine1
|
lvs_vip
lvs_dip
|
ens35
ens32
|
192.168.237.141
192.168.237.131
|
00:0c:29:33:72:59
00:0c:29:33:72:45
|
对外vip
对内dip
|
|
v_mechine3
|
rs1_vip
rs1_rip
|
lo:0
ens33
|
192.168.237.141
192.168.237.171
|
00:0c:29:4e:33:cb
|
虚拟网口vip,无mac
内部rip
|
|
v_mechine4
|
rs2_vip
rs2_rip
|
lo:0
ens33
|
192.168.237.141
192.168.237.172
|
00:0c:29:ae:a1:bb
|
虚拟网口vip,无mac
内部rip
|
【LVS服务器网络配置】
配置双网卡,均在同一网段上:
[root@v_machine1 ~]# ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether 00:0c:29:33:72:45 brd ff:ff:ff:ff:ff:ff
inet 192.168.237.131/ brd 192.168.237.255 scope global ens32
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe33:/ scope link
valid_lft forever preferred_lft forever
: ens34: <BROADCAST,MULTICAST> mtu qdisc pfifo_fast state DOWN qlen
link/ether :0c::::4f brd ff:ff:ff:ff:ff:ff
: ens35: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether 00:0c:29:33:72:59 brd ff:ff:ff:ff:ff:ff
inet 192.168.237.141/ brd 192.168.237.255 scope global ens35
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe33:/ scope link
valid_lft forever preferred_lft forever
路由设置如下:
[root@v_machine1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.237.2 0.0.0.0 UG ens32
169.254.0.0 0.0.0.0 255.255.0.0 U ens32
169.254.0.0 0.0.0.0 255.255.0.0 U ens35
192.168.237.0 0.0.0.0 255.255.255.0 U ens32
192.168.237.0 0.0.0.0 255.255.255.0 U ens35
开启路由转发:
临时开启路由转发:
# echo > /proc/sys/net/ipv4/ip_forward
或使用
# sysctl -w net.ipv4.ip_forward=
永久开启路由转发:
修改/etc/systcl.conf参数如下
# cat /etc/sysctl.conf | 'net.ipv4.ip_forward'
net.ipv4.ip_forward=
配置生效命令
# sysctl -p
tips:0关闭,1开启
【LVS服务器添加ipvs规则】
添加服务和规则
[root@v_machine1 ~]# ipvsadm -A -t 192.168.237.141: -s wrr
[root@v_machine1 ~]# ipvsadm -a -t 192.168.237.141: -r 192.168.237.171: -g -w
[root@v_machine1 ~]# ipvsadm -a -t 192.168.237.141: -r 192.168.237.172: -g -w
查看ipvs规则,已添加成功
[root@v_machine1 ~]# ipvsadm -Ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.237.141: wrr
-> 192.168.237.171: Route
-> 192.168.237.172: Route
【RS服务器配置】
两台RS服务器均添加虚拟网卡lo:0(也可使用其它虚拟网口,如ens33:0)
[root@v_machine3 network-scripts]# ifconfig lo: 192.168.237.141 netmask 255.255.255.255 up
[root@v_machine3 segments_dr]# ifconfig
ens33: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 192.168.237.171 netmask 255.255.255.0 broadcast 192.168.237.255
inet6 fe80::20c:29ff:fe4e:33cb prefixlen scopeid 0x20<link>
ether 00:0c:29:4e:33:cb txqueuelen (Ethernet)
RX packets bytes (571.6 KiB)
RX errors dropped overruns frame
TX packets bytes (362.4 KiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (3.7 KiB)
RX errors dropped overruns frame
TX packets bytes (3.7 KiB)
TX errors dropped overruns carrier collisions lo:0: flags=<UP,LOOPBACK,RUNNING> mtu
inet 192.168.237.141 netmask 255.255.255.255
loop txqueuelen (Local Loopback)
路由设置如下:
[root@v_machine3 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.237.2 0.0.0.0 UG ens33
169.254.0.0 0.0.0.0 255.255.0.0 U ens33
192.168.237.0 0.0.0.0 255.255.255.0 U ens33
【访问验证】
客户端上curl访问lvs服务器的vip
[root@v_machine2 ~]# curl 192.168.237.141 -w "对端ip:%{remote_ip}\n"
hello,192.168.237.171
对端ip:192.168.237.141
[root@v_machine2 ~]# curl 192.168.237.141 -w "对端ip:%{remote_ip}\n"
hello,192.168.237.172
对端ip:192.168.237.141
[root@v_machine2 ~]# curl 192.168.237.141 -w "对端ip:%{remote_ip}\n"
hello,192.168.237.172
对端ip:192.168.237.141
可见,lvs已按照加权轮询方式处理客户端访问请求
【抓包分析】
arp数据流:

可见DS收到client的访问请求后直接将请求转给了后端RS
http数据流,回包:

从client上的收包中,可以看到数据是直接从RS2返回给client的
由上述数据分析可以得出以下数据流程图:

数据包pcap文件:
链接:https://pan.baidu.com/s/1FnV3jL_p5ohbsrPpyek4JQ
提取码:85oy
【注意事项】
LVS之DR模式的更多相关文章
- LVS:DR模式(Direct Routing)部署实验
本文介绍怎样在kvm的虚拟环境下,部署实验LVS的DR模式.包含网络结构图,怎样配置.以及使用tcpdump分析ip包. 网络结构图 kvm ...
- LVS的DR模式
DR模式: 请求由LVS接受,由真实提供服务的服务器(RealServer, RS)直接返回给用户,返回的时候不经过LVS. DR模式下需要LVS和绑定同一个VIP(RS通过将VIP绑定在loopba ...
- LVS的DR模式负载均衡
参考项目:http://www.cnblogs.com/along21/p/7833261.html#auto_id_3 LVS的DR模式实现负载均衡 1.环境 lvs-server :192.168 ...
- Lvs Keepalive DR模式高可用配置
Lvs Keepalive DR模式配置 一.环境 #DIP# eth0:192.168.233.145#VIP# eth0:0 192.168.233.250/32 #RIP1:192.168.23 ...
- lvs中dr模式配置脚本
1 dr模式介绍 1.1 lvs的安装 安装具体解释:http://blog.csdn.net/CleverCode/article/details/50586957. 1.2 lvs模式 lvs有三 ...
- lvs部署-DR模式
DR模式 角色 IP地址 备注 LVS负载均衡器 192.168.119.132 VIP:192.168.119.150 ipvsadm http_Real server 192.168.119 ...
- CentOS6.4 配置LVS(DR模式)
DR模式中LVS主机与实际服务器都有一块网卡连在同一物理网段上. IP分配 VIP:10.10.3.170 RIP1:10.10.3.140 RIP2:10.10.3.141 1.安装所需的依赖包 y ...
- LVS的DR模式测试案例<仅个人记录>
初始概念 大家都知道LVS,是章文嵩博士创建的,所以首先推一下主站吧!http://zh.linuxvirtualserver.org/ LVS集群分为三层结构: 负载调度器(load balance ...
- LVS+keepalived DR模式配置高可用负载均衡集群
实验环境 LVS-Master 10.0.100.201 VIP:10.0.100.203 LVS-Slave 10.0.100.204 WEB1-Tomcat 10.0.2.29 gat ...
- lvs 中DR模式负载均衡及keepalived
lvs DR配置 LVS负载均衡:三种负载均衡模式:DR,TUN(ip隧道),NAT,这里我们介绍DR模式 server1: 首先,配置server机yum源 方便后期实验流畅vim /etc/yum ...
随机推荐
- TCP面向字节流和UDP面向报文的区别
TCP面向字节流 打个比方比喻TCP,你家里有个蓄水池,你可以里面倒水,蓄水池上有个龙头,你可以通过龙头将水池里的水放出来,然后用各种各样的容器装(杯子.矿泉水瓶.锅碗瓢盆)接水. 上面的例子中,往水 ...
- [转载]AdaBoost算法
[转载]AdaBoost算法 原文:https://blog.csdn.net/v_july_v/article/details/40718799 这里就不转载了,到原文看吧.但是有几点可以注意下: ...
- Springboot整合MybatisPlus
目录 1.pom文件 2.创建CodeGenerator.java 3.在application.yml中配置mybatis-plus 4.创建MybatisPlusConfig.java文件 其他 ...
- react hooks学习
接触React项目快两个月了,还在研究摸索各种知识点的过程中,充实且幸福. 在项目中学习新知识,还是很有效率的,一边写项目,一边实验新的知识点,比如react hooks!嘻嘻嘻~~~ 写了好一段时间 ...
- interrupt分析
转载自 https://blog.csdn.net/zhangliangzi/article/details/52485319 interrupt简述 interrupt() 方法只是改变中断状态而已 ...
- bash shell脚本之获取时间日期
shell中的时间日期获取 cat test5: #!/bin/bash # using the backtick character testing=`date` echo "The da ...
- VC文件扩展名
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度. .BMP:位图资源文件. .BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE ...
- PHP扩展模块php_igbinary和php_redis的安装
php_igbinary : 在序列化和反序列化的效率上高于其自带的 php_redis :效率是相当高有链表排序功能 详情略 安装之前要准备 百度网盘: wampserver2.5-A ...
- SpringCloud01——服务的注册和发现
SpringCloud01--服务的注册和发现 一.微服务的注册和发现 我们在微服务中,往往有服务提供者,服务消费者和服务注册中心.我们之前学习的Zookeeper就是一个注册中心.但是在官方的Spr ...
- xgboost&lightgbm调参指南
本文重点阐述了xgboost和lightgbm的主要参数和调参技巧,其理论部分可见集成学习,以下内容主要来自xgboost和LightGBM的官方文档. xgboost Xgboost参数主要分为三大 ...