阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

319次阅读
没有评论

共计 1955 个字符,预计需要花费 5 分钟才能阅读完成。

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

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

一、实验拓扑

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

二、整体环境

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

三、详细配置

路由器配置

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

在上面的配置中 eth0eth2VIP 一共使用了 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 要配到同一个网卡上。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/148025.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1955字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中