1、dr 采用修改mac 地址方式,使用二层网络mac路由。所以rs调度的vip 和 后端的realip必须是同一网段。

注意事项:真是服务器上本地lo网卡需要配置为和rs调度的vip 一样。

这样真是服务器在处理请求以后。通过lo网卡路由给本地etcho 转发给对应的服务器的源IP保持不变。

一安装
yum install ipvsadm -y 二配置dr模式
vim /usr/local/sbin/lvs_dr.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward #路由模式打开
ipv=/sbin/ipvsadm
vip=172.29.3.58
rs1=192.168.0.18
rs2=192.168.0.28
ifconfig eth0:0 down
ifconfig eth0:0 172.29.3.58 broadcast 172.29.3.58 netmask 255.255.255.255 up
route add -host 172.29.3.58 dev eth0:0 #设置vip
ipv=/sbin/ipvsadm -C
/sbin/ipvsadm -A -t 172.29.3.58:80 -s wrr #vip添加RS地址,并设置为DR模式
/sbin/ipvsadm -a -t 172.29.3.58:80 -r 92.168.0.18 :80 -g # a:添加真实主机 t:地址和端口号 r:RS
/sbin/ipvsadm -a -t 172.29.3.58:80 -r 192.168.0.28 :80 -g realip 配置
vim /usr/local/sbin/lvs_dr_rs.sh
#! /bin/bash
vip=172.29.3.58
ifconfig lo:0 172.29.3.58 broadcast 172.29.3.58 netmask 255.255.255.255 up # 设置本地回环网卡与vip一致 这样在出时候,源IP就和vip不
route add -host 172.29.3.58 lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore #关闭arp解析
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

2、NAT模式 修改的是input转发时候的IP.目标通过IP路由。真是服务器上网关必须指向内网ip(需要通过调度器返回给用户。无法直接返回给用户)。因此nat模式时候。调度器是锦屏。

#! /bin/bash
# director服务器上开启路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -p
# 关闭 icmp 的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects echo
0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
# director设置 nat 防火墙
iptables -t nat -F iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE #masquerade 会自动替换为对应网卡动态获取的ip. 将来源为192.168.0.0 目标ip替换为对应realip
# director设置
IPVSADM='/sbin/ipvsadm'
/sbin/ipvsadm -C
/sbin/ipvsadm -A -t 172.16.254.200:80 -s wrr
/sbin/ipvsadm -a -t 172.16.254.200:80 -r 192.168.0.18:80 -m -w 1
/sbin/ipvsadm -a -t 172.16.254.200:80 -r 192.168.0.28:80 -m -w 1

网关配置:
route add default gw 192.168.0.8


注意,切记一定要在两台 RS 上设置网关的 IP 为 director 的内网 IP。
[root@localhost ntpstats]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
#修改网关为调度器的ip地址
GATEWAY=192.168.40.200


路由参考:https://www.cnblogs.com/linyfeng/p/7534677.html

lvs-安装以及脚本的更多相关文章

  1. LVS安装使用详解

    简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org. ...

  2. (转)LVS安装使用详解

    原文:https://www.cnblogs.com/MacoLee/p/5856858.html 简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由 ...

  3. centos环境自动化批量安装软件脚本

    自动化安装jdk软件部署脚本 准备工作: 1.在执行脚本的服务器上生成免密码公钥: 安装expect命令 yum install -y expect ssh-keygen 三次回车 2.将jdk-7u ...

  4. 子进程 已安装 pre-removal 脚本 返回了错误号 1或2 与 子进程 已安装 post-installation 脚本 返回了错误号 1或2

    今天在ubuntu kylin上安装了virtualbox, 后来我想删除了再装个新一点的,结果正常的情况下删除不了,我就把找到的virtualbox的目录全部都删除了, 再通过apt-get rem ...

  5. 黄聪:WebBrowser执行和安装jQuery脚本(IEBrowse)

    上一文章说明了如何让 js 脚本访问 .NET 中的类, 这次希望给大家说明一下在任意页面中安装 jQuery 脚本, 并操作页面上的元素. 其实在第一篇关于 IEBrowser 的文章当中, 已经有 ...

  6. LVS安装配置

    LVS安装部署 一.LVS安装(CENTOS) 1.LVS模块ip_vs已经内置在LINUX内核中,一般情况下ip_vs并没有启动,可以通过lsmod | grep ip_vs查看,能够看到信息表示模 ...

  7. 安装LVS安装LVS和配置LVS的工作比较繁杂

    安装LVS安装LVS和配置LVS的工作比较繁杂,读者在配置的过程中需要非常细心和耐心.在本节我们将对其进行详细地介绍.主要包括如下几个核心步骤:1.获取支持LVS的内核源代码如果读者需要使用LVS,需 ...

  8. linux一键安装vncserver脚本

    title: linux一键安装vncserver脚本 date: 2016-04-11 14:32:04 tags: --- linux多数情况下是作为服务器使用的,管理员一般也喜欢使用命令行来管理 ...

  9. 安装用户脚本的福音:Tampermonkey(油猴)

    一直都知道网络的强大,NB的程序员大牛潜伏在我们身边.但是一直以来,如果想使用的一些特殊用途的浏览器插件都无法安装,今天被大神级的师兄给秒到了,原来这世上还有一个免费的用户脚本管理器,有了用户脚本管理 ...

  10. 子进程 已安装 post-installation 脚本 返回错误状态 1,dpkg: 处理软件包 python-crypto (--configure)时出错: 该软件包正处于非常不稳定的状态;

    这几天在学习redis的时候,装软件总是报错,两个问题都和dpkg有关,上网查阅了些解决办法,发现整体来说执行以下方法均可解决. 虽然每个人需要安装的包不同,但是出现此类问题的不同也只有安装包的名字, ...

随机推荐

  1. 测试udp端口

    yum -y install nc 在a机器上执行: nc -ul 1080 在b机器上执行:nc -u 服务器ip 1080 a机器可以接收到报文则代表端口正常.

  2. 在EntityFrameworkCore中记录EF修改日志,保存,修改字段的原始值,当前值,表名等信息

    突发奇想,想把业务修改的所有字段原始值和修改后的值,做一个记录,然后发现使用EF可以非常简单的实现这个功能 覆盖父类中的 SaveShanges() 方法 public new int SaveCha ...

  3. 出现 error: RPC failed; curl 18 transfer closed with outstanding read data remaining 的原因

    最近在做全栈项目,前台后台,服务器端,三端在一个文件夹,当git clone 项目的时候就会出现:error: RPC failed; curl 18 transfer closed with out ...

  4. JavaScript多元运算符

    JavaScript多元运算符   JavaScript多元运算符 **实例:**` function test(9){ var a=4,b=11; return p > 1 ? p<b ...

  5. textarea自适应高(宽)度

    转载请注明来源:https://www.cnblogs.com/hookjc/ 方法一: <textarea rows=1 cols=40 style='overflow:scroll;over ...

  6. docker简介及安装(1)

    Docker简介 软件开发中最为麻烦的事情可能就是配置环境了.由于用户使用的操作系统具有多样性,即便使用跨平台的开发语言(如Java和Python)都不能保证代码能够在各种平台下都可以正常的运转,而且 ...

  7. JAVA boolean 类型

    boolean 类型用来存储布尔值,在java中布尔值只有2个,true和false. boolean flag=true; flag=false;

  8. PHP的这些基础知识你应该熟知

    PHP变量的值类型和引用类型 四种基本类型(int,float,string,boolean)以及复合类型(array)均为值类型,变量间的赋值传递的是值,相当于创建一个副本给新变量. 对象(obje ...

  9. 7.2.*PHP编译安装时常见错误解决办法,php编译常见错误

    configure: error: Cannot find ldap.h   检查下面是不是已经安装,如果没有安装之:检查:yum list openldapyum list openldap-dev ...

  10. 如何按规定的格式向mysql中导入数据

    1.首先我们拿到数据,数据必须按照一定的格式书写的.如用|区分字段,换行区分row 12107 | 心情1 | 今天的心情很不好啊. 12108 | 天气 | 今天天气还行. 12109 | 臭美 | ...