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宕机或服务宕掉,会切换至 ...
随机推荐
- DIP常用资源整理
Deep Learning(深度学习): ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习) ...
- sql server 语句书写注意事项
1 Between在某些时候比IN 2 在必要是对全局或者局部临时表创建索引,有时能够提高速度,但不是一定会这样,因为索引也耗费大量的资源.他的创建同是实际表一样 3 尽量少用视图,它的效率低.对视 ...
- iPhone 11来了
- 【坑】Spring中抽象父类属性注入,子类调用父类方法使用父类注入属性
运行环境 idea 2017.1.1 spring 3.2.9.RELEASE 需求背景 需要实现一个功能,该功能有2个场景A.B,大同小异 抽象一个抽象基类Base,实现了基本相同的方法BaseMe ...
- 前端基础(九):SweetAlert(弹出框)
简介 SweetAlert是一款很好用的弹出框框架 下载 点我下载 导入 博主用的是bootstrap-sweetalert,所以要依赖bootstrap,导入前先导入原生jQuery以及bootst ...
- Django_01_创建图书管理项目
在django中,项目的组织结构为一个项目包含多个应用,一个应用对应一个业务模块 示例:创建项目的名称为test1,完成“图书-英雄”信息的维护,创建应用名称为booktest 创建项目:首先进入到虚 ...
- Golang等待一组协程结束
1. 利用waitgroup import ( "log" "sync" "sync/atomic" "time" ) ...
- Codeforces 1187 G - Gang Up
G - Gang Up 思路: 每个点按时间拆点建边,然后跑最小费用流 一次走的人不能太多,假设每次走的人为k (k*k-(k-1)*(k-1))*d <= c+d k <= 24 代码: ...
- Gym - 101170B British Menu SCC点数目不超过5的最长路
题意其实就是给你一个有向图 但是每个SCC里面的点数目不超过5 求最长路 首先暴力把每个SCC里的每个点的最长路跑出来 然后拓扑排序dp 然后因为tarjan 搜索树出来的SCC是拓扑排好序的 可以直 ...
- Mybatis那些事-拦截器(Plugin+Interceptor)
作者:yhjyumi的专栏 数据权限实现(Mybatis拦截器+JSqlParser) Mybatis的拦截器实现机制,使用的是JDK的InvocationHandler. 当我们调用Paramete ...