LVS-DR之VIP、DIP跨网段实例

简介: 在日常应用环境中,我们会遇到这样一种lvs部署环境,所有的dr以及的rs server都在一个局域网环境中,但只有一个公网ip,而又需要将应用发布到internet上,都知道lvs的最好的模式就是所有的server都有一个公网ip,但很多时候公网资源稀缺,当出现只有一个公网ip的时候,怎么实现l...

img_8b1ee5b4e07c55fecf042c512f79ed7d.png

在日常应用环境中,我们会遇到这样一种lvs部署环境,所有的dr以及的rs server都在一个局域网环境中,但只有一个公网ip,而又需要将应用发布到internet上,都知道lvs的最好的模式就是所有的server都有一个公网ip,但很多时候公网资源稀缺,当出现只有一个公网ip的时候,怎么实现lvs对外发布呢?

一、实验拓扑

img_cab21ab10ad2f90f2e1565351aff6f1a.png

二、整体环境

img_175cff8f198de165f0bf1bc845bd9923.png

三、详细配置

路由器配置

eth0:公网IP接入INTERNET
eth1:172.18.68.10(公网IP)                     #实验环境中使用172.18.68.10做公网IP
eth2:10.10.0.1内网IP

在上面的配置中eth0、eth2、VIP一共使用了3个公网IP。还可以缩减成两个公网IP。
即eth1不配置公网IP,在路由上添加主机路由 route add -host 172.18.68.100 dev eth2 ,也能达到相同的效果。

VS调度器配置

在脚本中修改VIP、网卡名、端口、后端服务器然后执行脚本即可。
注意:关于vip,如果vip不在DIP所在的网段内,那么vip一定要配置在dr与后端RS Server直连的网卡上,不然就会出现无法访问的情况;也就是说VIP与RIP要配到同一个网卡上。

#!/bin/bash
#Author:shuaiguoxia.com
#Date:2017-10-23
vip='172.18.0.100'
iface='eth0:1'
mask='255.255.255.255'
port='80'
rs1='10.10.0.72'
rs2='10.10.0.73'
scheduler='wrr'
type='-g'
case $1 in
start)
    ifconfig $iface $vip netmask $mask broadcast $vip up
    iptables -F
    ipvsadm -A -t ${vip}:${port} -s $scheduler
    ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1
    ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1
    echo "The VS Server is Ready!"
    ;;
stop)
    ipvsadm -C
    ifconfig $iface down
    echo "The VS Server is Canceled!"
    ;;
*)
    echo "Usage: $(basename $0) start|stop"
    exit 1
    ;;
esac

将以上代码保存为脚本,然后执行脚本即可

./dr-vs.sh start              #dr-vs.sh为脚本名

RS服务器配置

首先配置RS的内网IP地址,设定默认网关为10.10.0.1.然后运行下面脚本即可

#!/bin/bash
#Author:shuaiguoxia.com
#Date:2017-10-23
vip=172.18.68.100
mask='255.255.255.255'
dev=lo:1
case $1 in
start)
    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    ifconfig $dev $vip netmask $mask broadcast $vip up
    route add -host $vip dev $dev
    echo "The RS Server is Ready!"
    ;;
stop)
    ifconfig $dev down
    echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore3
    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
    echo "The RS Server is Canceled!"
    ;;
*) 
    echo "Usage: $(basename $0) start|stop"
    exit 1
    ;;
esac

将以上代码保存为脚本,然后执行脚本即可

./dr-rs.sh start              #dr-rs.sh为脚本名

注意

注意:关于vip,如果vip不在DIP所在的网段内,那么vip一定要配置在dr与后端RS Server直连的网卡上,不然就会出现无法访问的情况;也就是说VIP与RIP要配到同一个网卡上。

目录
相关文章
|
存储 负载均衡 并行计算
LVS负载均衡群集——NAT模式实例
LVS负载均衡群集——NAT模式实例
LVS负载均衡群集——NAT模式实例
|
监控 网络协议
zabbix 监控LVS(实例)
/etc/zabbix/zabbix_agentd.conf UnsafeUserParameters=1 UserParameter=ipvsadm.activeconn[],/etc/zabbix/ipvsadm.
1160 0
|
网络协议
KEEPALIVED 做LVS+HA实例安装与配置
--------------------------------------master------------------------------------------------------- wget http://www.
1023 0
|
移动开发 网络协议 Shell
LVS+KEEPALIVED 安装与配置实例
--------------------------------------master--------------------------------------- echo "1" > /proc/sys/net/ipv4/ip_forward wget http://www.
1289 0
|
测试技术 PHP
|
负载均衡 应用服务中间件 调度
|
网络协议 MySQL 关系型数据库
Mysql高可用之lvs+keepalived+mysql多实例+双master
一.前言 在mysql的实际生产环境中,配置了mysql双机多实例+主从复制,并且准备设置为双机多实例+双master,以增加mysql实例的高可用性。经过研究,仅keepalived无法实现多实例上的高可用,于是采用lvs+keepalived以实现mysql多实例+双master上的高可用.LVS和Keepalived介绍:LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。
2023 0