LVS NAT模型演示

LVS NAT模型演示

LVS NAT模型演示

这里我们刻意将两个RS的web页面文件,提供为不同的内容(实际应用中,每个RS页面的内容要完全相同)

基本配置

[root@web1 ~]# route add default gw 192.168.110.130  --> web1服务器中,默认网关要指向DIP
[root@web2 ~]# route add default gw 192.168.110.130  --> web2服务器中,默认网关要指向DIP
[root@Directory ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1   //开启路由转发功能
[root@Directory ~]# sysctl -p  //以上修改立即生效

directory配置

[root@Directory ~]# ipvsadm -A -t 10.1.249.43:80:80 -s rr  -->添加一个集群服务,调度算法为rr
[root@Directory ~]# ipvsadm -L -n  -->查看添加的集群服务
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.1.249.43:80 rr  --> 成功添加   调度算法为rr

[root@Directory ~]# ipvsadm -a -t 10.1.249.43:80 -r 192.168.110.129 -m -->向集群中添加RS
[root@Directory ~]# ipvsadm -a -t 10.1.249.43:80 -r 192.168.110.128 -m -->将web1和web2添加到集群中
[root@Directory ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.1.249.43:80 rr
  -> 192.168.110.128:80           Masq    1      0          0     -->成功添加    
  -> 192.168.110.129:80           Masq    1      0          0     --> 权重默认为1  masq-->masquerade-->地址伪装

测试:浏览器内输入10.1.249.43(VIP的地址)

刷新

LVS NAT模型演示

默认每刷新一次,会出现不同的页面

因为我们此时的算法为rr 即在web1和web2之间轮询

命令查看状态

[root@Directory ~]# ipvsadm -L -nc
TCP 00:17  TIME_WAIT   10.1.250.160:55181 10.1.249.43:80     192.168.110.128:80  -->明显看出在轮询
TCP 01:55  TIME_WAIT   10.1.250.160:55253 10.1.249.43:80     192.168.110.129:80
TCP 01:55  TIME_WAIT   10.1.250.160:55254 10.1.249.43:80     192.168.110.128:80
TCP 01:55  TIME_WAIT   10.1.250.160:55251 10.1.249.43:80     192.168.110.129:80
...



[root@Directory ~]# ipvsadm -L -n --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
TCP  10.1.249.43:80                     18       88       87    12095     8353
  -> 192.168.110.128:80                  9       43       42     5768     4048  --> 匹配到的报文数几乎一样
  -> 192.168.110.129:80                  9       45       45     6327     4305

修改调度算法为wrr测试

[root@Directory ~]# ipvsadm -Z 统计数据清零
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
TCP  10.1.249.43:80                      0        0        0        0        0  --> 全部清零
  -> 192.168.110.128:80                  0        0        0        0        0
  -> 192.168.110.129:80                  0        0        0        0        0


[root@Directory ~]# ipvsadm -E -t 10.1.249.43:80 -s wrr  --> 修改调度算法
[root@Directory ~]# ipvsadm -e -t 10.1.249.43:80 -r 192.168.110.129 -m -w 3  --> 将web1的权重修改为3
[root@Directory ~]# ipvsadm -L -n     
-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.1.249.43:80 wrr
  -> 192.168.110.128:80           Masq    1      0          1          
  -> 192.168.110.129:80           Masq    3      0          0   --> 此时web1的权重为3

测试访问 一定要访问VIP的地址 此时,平均出现3次web1会出现1次web2

统计数据查看

[root@Directory ~]# ipvsadm -L -n --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
TCP  10.1.249.43:80                     24      120      117    16393     9859
  -> 192.168.110.128:80                  6       30       30     4218     2958
  -> 192.168.110.129:80                 18       90       87    12175     6901   --> 数据几乎为上面的3倍

查看访问日志

此时查看web1或者web2中httpd的访问日志时,一定是CIP
[root@web2 ~]# tail /var/log/httpd/access_log --> 查看web2的httpd的访问日志
10.1.250.160 - - [03/Sep/2016:15:23:43 +0800] "GET / HTTP/1.1" 200 14 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36"
10.1.250.160 - - [03/Sep/2016:15:23:43 +0800] "GET / HTTP/1.1" 200 14 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36"
10.1.250.160 - - [03/Sep/2016:15:23:44 +0800] "GET / HTTP/1.1" 200 14 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36"
=== 10.1.250.160为我们测试访问的客户端地址 ===

原创文章,作者:sixijie,如若转载,请注明出处:http://www.178linux.com/55735

(0)
sixijiesixijie
上一篇 2016-10-29 21:58
下一篇 2016-10-29 22:59

相关推荐

  • N25-第十三周博客作业

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu;2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;3)添加samba用户gentoo,centos和ubu…

    Linux干货 2017-04-19
  • 设计模式(二)单件模式Singleton(创建型)

      几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销。再如大家最经常用的IM,如QQ,在同一台电脑,一个帐号只能有唯一的登录。 1. 问题 怎样确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例…

    Linux干货 2015-06-24
  • find命令详解

    写在前面,命令总览: 文件名:-name  -iname   glob     从属关系: -user  -group  -uid  –gid  -nouser  -nogroup 按类型:-type []  ,f,d,l,b,c…

    Linux干货 2016-02-14
  • keepalived高可用haproxy配合varnish实现wordpress的动静分离

    haproxy和nginx都可以作为七层和四层反代服务器对外提供服务,此文通过haproxy和keealived配置varnish搭建wordpress的动静分离站点 一、实验环境 五台虚拟机: haproxy-1:搭建haproxy和keepalived服务,ip地址:192.168.11.176 haproxy-2:搭建haproxy和keepalive…

    2017-07-03
  • 计算机组成与Linux基础

    一 计算机组成 冯诺依曼体系 计算机处理数据和指令一律用二进制表示 指令和数据不加混合存储在同一存储器中 顺序执行程序每一条指令 计算机硬件由运算器、控制器、存储器、输入设备以及输出设备组成 计算机组成部分 CPU:含有指令集,对程序进行运算和判断并分为两个主要单元分别为算术逻辑单元和控制单元。其中算术逻辑单元主要负责程序运算与判断,控制单元负责协调组件与个…

    Linux干货 2017-07-30
  • 创建CA

    创建CA和申请证书 创建私有CA: 首先在CA服务器端创建CA。 先去看openssl的配置文件: /etc/pki/tls/openssl.cnf 一般我们不会去更改这个配置文件,但是要去看一下。我们是根据这个文件创建的CA. 这个文件里是openssl的配置文件,我们打开后只观察与CA有关的文件。   在文本中可以看出一个主机中可以有多个CA,…

    2017-07-28