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


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 ,也能达到相同的效果。
在脚本中修改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的内网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-dr之vip、dip跨网段实例的详细内容,更多请关注代码网其它相关文章!
发表评论