本文共 1865 字,大约阅读时间需要 6 分钟。
如何实现LVS 实现NAT模型 大写A和小写a两条命令 先定义集群服务,是基于哪个协议来实现lvs调度,-A -E(修改) 服务器地址service-address ** -t代表tcp协议,后面跟端口号 定义把哪个服务发布到lvs上 -s scheduler调度算法,10种 -r是 real-server 告诉lvs哪些是后端服务器,如果有两个rS,就需要敲两条命令,加到集群服务里 lvs有4种工作模式,就需要通过这个来定义 -g是DR模型,默认的 -i对应 tun模式 -m nat模式 -w是权重,不写就是大家都是1 客户端和lvs在一个网段,就不需要加网关,直接就可以访问 30.6做客户端, 30.7做lvs服务器,并且修改ip地址 30.7上的公网地址修改 重启服务 生效了 本质上因为是DNAT,还需要启用ipforward 现在启用IPforward 接着把客户端搭建起来 修改地址生效 在后面两台服务器装http服务,而且这两台机器的网管必须指向30.200 修改地址安装http服务 修改主机名 在另外的27上也一样操作 重新启动服务 在lvs上应该可以看到两个web界面 、 现在就缺调度了,网关都没有加,说明到不了192的网段 现在定义IPvs规则 安装ipvs包 --r r(轮询,静态算法** 现在可以用Ln查看 现在需要把后端的rs加进来,用-a -r rs -m nat类型,因为用的是r轮询,就和权重没有关系 把两个加进去就成为可以被集群服务调用的主机了 nat支持端口映射,所以后面可以把rs的端口地址改了,可以不用80 在后端的realserver上看到的是客户端cip发起的请求 ping是直接访问LVS,不会转发到内部的 发布的是tcp80,只有访问tcp80,才会转发,ping是走icmp协议 x现在就实现了NAT的模式 但是如果中间加上路由器是否可以 可以是可以,就变成下面的样子了 中间这个变成路由器 路由需要两块网卡 lvs也需要修改一下 修改lvs地址 不加网关也要加路由否则到达不了rs 默认网管就有了 路由器的网卡名字不对 把原来的1删除,2改成1 rs的网关不用修改,因为还是192.168.30.200 30.0的地址需要修改一下 修改第二个地址 因为目标地址是不变的,需要加上到达172网段的路由, 虽然配了路由,还是还需要给路由器启用ipforward。cen’t’os默认有这一选项 、 生效 过不去,抓包看看能不能看到数据包来源 rs1看看80端口的抓包数据 lvs可以访问后端服务器没有问题 rs能出去但是回不来 客户端再去访问 已经调度过去了,17的80端口 收到了请求 只看80端口 两台rs都抓一下 防火墙没有问题 网关加错了,应该是0.200 现在就可以了 rs服务器也能看清楚是谁访问的 nat模式是可以加路由的,只不过一般不加而已 rs的服务器端口不一定 非要80 、改成8080 就需要在调度器上把80端口改成8080 直接改改不了,只能删除 应该是成功了 所以端口映射也支持,现在加个权重看看,调度算法(在定义集群服务的时候定义的。-E修改的是集群服务的信息 -小写e是改的rs的信息 修改lvs服务器 增加权重 1 多一点,应该是3比1的比例 还有一种是源地址哈希,只要你的客户端ip是同一个地址来的,就访问的是同一个realserver 就要改成sh 就一直往rs1上调度了 目标地址哈希,只要访问的地址目标是固定的,永远往固定的机器上调度。目标地址URL路径 创建10个页面 在另一台RS也这么玩 把LVS改成目标地址哈希 目标地址一样就调度到固定的主机上,目标地址不一样,可能调度的主机会变 把之前的权重删除,变成1比1 因为没有配置文件所以报错,所以重启一下,把之前记录的缓存丢了 -A增加调度集群服务信息,-a增加rs的地址 没有加m,默认是dr模型,端口都是一样的,不支持端口映射 删除rs的 记录 添加8080记录 一旦调度到1上就永远是1,调度到2就永远是2 只要目标地址一样,无论是谁现在访问都是2 再创建多点的页面试试 一个都不是1 这边调度好了,无论谁链接都是2 -m表示的是用nat模式 也可以加个权重 这就是nat模式的LVS 客户端发起请求到服务器端,服务器可以看到是从哪个机器上发起的请求,而且数据报文和请求报文都要经过原路LVS服务器返回,这样LVS服务器压力就比较大,所以使用DR模型就可以解决这个问题转载地址:http://dfkgn.baihongyu.com/