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 ...
随机推荐
- javaIO——BufferedReader
今天来学习一下 java.io.BufferedReader ,从命名可以看出,跟前面学习的 StringReader 和 CharArrayReader 有些不一样,这些都是按照数据源类型命名,Bu ...
- [转载]sklearn多分类模型
[转载]sklearn多分类模型 这篇文章很好地说明了利用sklearn解决多分类问题时的implement层面的内容:https://www.jianshu.com/p/b2c95f13a9ae.我 ...
- Arcgis for js加载百度地图
看转:https://blog.csdn.net/qq_41046162/article/details/80248281 通过学习了一段时间的arcgis for js,让我来讲一下如何在arcgi ...
- 如何使用JDBC连接数据库
1 JDBC:java database connectivity,是java程序与数据库系统通信的标准api 2 下载mysql JDBC驱动,解压缩找到mysql-connector-java-5 ...
- 四款免费好用的Bootstrap ui编辑器
Bootstrap带来了设计革命,本文介绍的四种免费Bootstrap在线设计工具,可视化所见所得设计网页,然后输出Html/CSS代码,其中有些甚至可以实现拖曳,也有可以设定自己的主题模板Theme ...
- 使用JS和PHP导出table表格
把table表格的内容导出成excel 或者word等格式(简单容易不需要太多php) 导出需注意 1. 样式都在行间,导出excel表格会继承样式包括colspan.rowspan,非表格元素,样式 ...
- Django框架orm
一.django目录 二.登录注册 三.三件套 四.orm简介 五.基于orm的用户登录 一.django目录 -settings -urls -views -强调:setting中的'django. ...
- 面试题——SSM面试题
树木丛生红火火 树木丛生红火火 微信公众号:Java全栈开发大联盟 原文地址:https://note.youdao.com/ynoteshare1/index.html?id=3f81baea7 ...
- find 命令和sed命令练习
1.查找/var目录下属主为root,且属组为mail的所有文件 find /var/ -user root -group mail 2.查找/var目录下不属于root.lp.gdm的所有文件 fi ...
- bind支持mysql
最近打算将bind的记录信息存入到数据库中去,网上找了下,原来早有老外写好了mysql-bind的补丁,重新编译bind即可实现bind支持mysql存储.(http://mysql-bind.sou ...