LVS之NAT模式
目录:
- 网络环境
- LVS服务器配置
- LVS服务器添加ipvs规则
- RS服务器配置
- 访问验证
- 抓包分析
- 注意事项
【网络环境】
| 服务器类型 | IP | 说明 |
| lvs_vip | 192.168.2.130 | vip处于不同网段 |
| lvs_dip | 192.168.237.131 | dip与rip处于同一网段 |
| realserver1 | 192.168.237.171 | httpd服务器 |
| realserver2 | 192.168.237.172 | httpd服务器 |
tips:三台服务器均关闭防火墙和selinux
【LVS服务器配置】
# echo > /proc/sys/net/ipv4/ip_forward
# sysctl -w net.ipv4.ip_forward=
# cat /etc/sysctl.conf | grep 'net.ipv4.ip_forward'
net.ipv4.ip_forward=
# sysctl -p
【LVS服务器添加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.2.130: rr
-> 192.168.237.171: Masq
-> 192.168.237.172: Masq
【RS服务器配置】
[root@v_machine3 lvs]# route add default gw 192.168.237.131
[root@v_machine3 lvs]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.237.131 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
忽略arp广播(可省略,因为RS上没有vip)
# echo > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo > /proc/sys/net/ipv4/conf/all/arp_announce
# echo > /proc/sys/net/ipv4/conf/ens33/arp_ignore
# echo > /proc/sys/net/ipv4/conf/ens33/arp_announce
【访问验证】
先后访问lvs服务器
[root@v_machine1 lvs]# curl 192.168.2.130
hello,192.168.237.171
[root@v_machine1 lvs]#
[root@v_machine1 lvs]# curl 192.168.2.130
hello,192.168.237.172
[root@v_machine1 lvs]# ipvsadm -Lnc
IPVS connection entries
pro expire state source virtual destination
TCP : TIME_WAIT 192.168.2.130: 192.168.2.130: 192.168.237.172:
TCP : TIME_WAIT 192.168.2.130: 192.168.2.130: 192.168.237.171:
TCP : TIME_WAIT 192.168.2.104: 192.168.2.130: 192.168.237.172:
TCP : TIME_WAIT 192.168.2.104: 192.168.2.130: 192.168.237.171:
TCP : TIME_WAIT 192.168.2.104: 192.168.2.130: 192.168.237.171:
本地(192.168.2.104)浏览器访问测试:

postman测试:

结论:可见lvs实现了对用户访问的轮询调度
【抓包分析】
[root@v_machine2 ~]# curl 192.168.91.130
hello,192.168.237.172
[root@v_machine2 ~]# curl 192.168.91.130
hello,192.168.237.171
在lvs服务器上抓包,然后wireshark打开查看:


对第一次访问数据包追踪http流:

数据包文件:
链接:https://pan.baidu.com/s/1FnV3jL_p5ohbsrPpyek4JQ
提取码:85oy
【注意事项】
[root@v_machine1 ~]# setenforce
setenforce: SELinux is disabled
systemctl stop iptables
iptables -F
iptables -X
关掉NetworkManager,并禁止开机启动,这个服务容易导致路由添加不成功;
systemctl stop NetworkManager
systemctl disable NetworkManager
LVS之NAT模式的更多相关文章
- LVS基于NAT模式搭建负载均衡群集
LVS的基本架构图 负载均衡群集中,包括三个层次的组件: 1.第一层,负载调度器(BL) 前段至少有一个负载调度器(Load Balancer 或称为Director)负责响应并分发来自客户端的访问请 ...
- centos7 lvs+keepalived nat模式
1.架构图 3.地址规划 主机名 内网ip 外网ip lvs-master 192.168.137.111(仅主机)eth1 172.16.76.111(桥接)eth0 lvs-slave 192 ...
- LVS的NAT模式测试
dir 分别配置ip eth0 :10.222.138.200 eth0:1 10.222.21.190 rs1 eth0 :10.222.138.201 rs2 eth0: 10.222.1 ...
- Linux系统(四)负载均衡LVS集群之NAT模式
序言 提到LVS,就从章文嵩博士开始吧,反正也不知道如何下笔来写这一篇.章大博士,读博时候创建这个lvs软件项目,但是他提倡开源精神,在用户的建议和反馈中,这个花了他两周时间开发的开源软件不断得到改建 ...
- Linux系统(四)LVS集群负载均衡NAT模式
序言 提到LVS,就从章文嵩博士开始吧,反正也不知道如何下笔来写这一篇.章大博士,读博时候创建这个lvs软件项目,但是他提倡开源精神,在用户的建议和反馈中,这个花了他两周时间开发的开源软件不断得到改建 ...
- LVS负载均衡之NAT模式部署
1.LVS的NAT模式介绍 参考自官网:http://www.linuxvirtualserver.org/zh/lvs3.html 由于IPv4中IP地址空间的日益紧张和安全方面的原因,很多网络使用 ...
- LB负载均衡集群及NAT模式配置
一.LB(load balance)负载均衡集群 负载均衡集群常用的有: 1.软件实现的 nginx(工作在OSI第七层应用层) lvs+keepalived(工作在OSI第四层传输层) 2.硬件实现 ...
- Vmware虚拟机配置LVS/NAT模式遇到的坑。
这两天在研究LVS的负载均衡,先从最简单的LVS/NAT模式开始入手. 最后配置完之后能够相互之间Ping通,并且能够直接访问real服务器提供的web服务,而且防火墙也已经关闭了. 但是通过访问LV ...
- LVS集群之NAT模式实现
LVS集群之NAT模式实现 一.集群的种类 集群系统主要分为 1.HA:高可用集群,又叫双机热备. (a)原理 2台机器A,B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至 ...
随机推荐
- linux pthread多线程编程模板
pthread_create() 创建线程,pthread_join()让线程一直运行下去. 链接时要加上-lpthread选项. pthread_create中, 第三个参数为线程函数,定义如下: ...
- django inclusion用法
概述: inclusion主要的是生成html标签, 返回的是一个字典,大分部跟simple_tag类似, simple_tag可返回任意类型的值 定义inclusion from django im ...
- sql 随机数系列
一.把数据库把某个字段更新为随机数 DECLARE @Hour INT DECLARE @Counts INT SET @Hour =DATENAME(HOUR, GETDATE()) ) BEGIN ...
- Windows下Pycharm安装Tensorflow:ERROR: Could not find a version that satisfies the requirement tensorflow
今天在Windows下通过Pycharm安装Tensorflow时遇到两个问题: 使用pip安装其实原理都相同,只不过Pycharm是图形化的过程! 1.由于使用国外源总是导致Timeout 解决方法 ...
- java.io.IOException: Broken pipe
最近项目虽然已经在正常运行,但是偶尔会有一些不知名的错误冒出来,比如时不时报一个数据库主键重复或者某些时候会有null的异常报出来.看看代码写完能跑起来还只是开始而已,需要不断精进重构,才能让代码运行 ...
- Codeforces 1175F The Number of Subpermutations
做法①:RMQ(预处理NLOGN+后续跳跃蜜汁复杂度) 满足题意的区间的条件转换: 1.长度为R-L+1则最大值也为R-L+1 2.区间内的数不重复 当RMQ(L,R)!=R-L+1时 因为已经保证了 ...
- 如何用 tensorflow serving 部署服务
第一步,读一读这篇博客 https://www.jb51.net/article/138932.htm (浅谈Tensorflow模型的保存与恢复加载) 第二步: 参考博客: https://blog ...
- ubuntu 中 搭建 C编程环境
在 ubuntu 中 使用 快捷键 Ctrl + Alt + T 打开 终端 在终端输入 gcc 查看 有没有安装 gcc (c语言的编译器) ( 我这里是 已经 安装 好的 ) 进行 安装 gcc ...
- 一个restframework快速实例
首先在settings.py中引入 INSTALLED_APPS = [ ...... 'rest_framework', ......] 相关模型结构如下: class custume(models ...
- spring-boot-configuration-processor 是干啥用的
spring默认使用yml中的配置,但有时候要用传统的xml或properties配置,就需要使用spring-boot-configuration-processor了 引入pom依赖 <de ...