• LVS集群TUN模式实例(5)


    LVS集群TUN模式实例

    1、 实验拓扑图

     

    2、 实验环境

    4台CentOS6.2的服务器。

    类型

    IP

    DR

    eth0:10.20.73.20 

    VIP

    eth0:0 10.20.73.30

    RS

    10.20.73.22(web01)

    10.20.73.23(web02)

    10.20.110.140(web03)【不同网段】

     

     

    3、安装和配置

    3.1 安装

    在DS上安装lvs:yum install ipvsadm

     

    3.2  配置

    配置lvs启动脚本:

    [root@master]# cat /etc/init.d/ipvsnat 

    #!/bin/bash
    #lvs script(tunnel mode)

    VIP=10.20.73.30
    RIP1=10.20.73.22
    RIP2=10.20.73.23
    RIP3=10.20.110.140

    . /etc/rc.d/init.d/functions

    case "$1" in
    start)
    echo "start LVS TUN"
    /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
    /sbin/route add -host $VIP dev eth0:0
    echo "1" > /proc/sys/net/ipv4/ip_forward
    /sbin/iptables -F
    /sbin/ipvsadm -C
    /sbin/ipvsadm -A -t $VIP:80 -s rr
    /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -i
    /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -i
    /sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -i
    /sbin/ipvsadm
    ;;
    stop)
    echo "stop LVS TUN"
    echo "0" > /proc/sys/net/ipv4/ip_forward
    /sbin/ipvsadm -C
    /sbin/ifconfig eth0:0 down
    ;;
    *)
    echo :Usage:$0{start|stop}
    exit 1
    esac

    3. 3 后端真实机安装应用

    后端真实机脚本:

    #!/bin/bash
    #lvs script(dr mode)
    VIP=10.20.73.30

    . /etc/rc.d/init.d/functions

    case "$1" in
    start)
    echo "start LVS TUNL"
    /sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.255 up
    /sbin/route add -host $VIP dev tunl0
    echo "1" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
    echo "2" > /proc/sys/net/ipv4/conf/tunl0/arp_announce
    echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
    echo "0" >/proc/sys/net/ipv4/conf/tunl0/rp_filter
    sysctl -p
    ;;
    stop)
    echo "stop LVS TUN"
    /sbin/ifconfig tunl0 down
    echo "0" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
    echo "0" > /proc/sys/net/ipv4/conf/tunl0/arp_announce
    echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
    echo "1" >/proc/sys/net/ipv4/conf/tunl0/rp_filter
    ;;
    *)
    echo :Usage:$0{start|stop}
    exit 1
    esac

    注意:

    1、另外两台台RS脚本一模一样

    2、chmod 755 /etc/init.d/ipvstunl

    安装和启动服务:

    Web01上安装http服务:yum install httpd && service httpd start

    Web02上安装http服务:yum install httpd && service httpd start

    Web03上安装http服务:yum install httpd && service httpd start

    3.4  DR启动脚本并测试

    1、在DR服务器上,查看开启tunnel模式前的网卡情况:

    2、开启tunnel服务,service ipvstunl start

    3、在3台RS上开启ipvstunl服务

          

     4、在client上进行测试,client的地址为10.20.122.116(跨网段

    测试前,调度器上没有任何连接:

    测试:

    for i in `seq 30`;do curl http://10.20.73.30;done

     

     注意事项:1、rp_filter设置为0,忽略模式,因为这个问题,导致我刚开始没有测试成功。

                   2、防火墙、selinux关闭;

                   3、网关不能和nat一样指向内网网关;

       

  • 相关阅读:
    LIS(最长的序列)和LCS(最长公共子)总结
    SVN最有效的方法打基线
    SRM 638 Div2
    poj 2038 Team Rankings 枚举排列
    BZOJ 2809 APIO2012 dispatching Treap+启示式合并 / 可并堆
    Java中的工具类和新特性
    微信公众平台PHP开发
    全国各大 oj 分类题集...
    语言处理程序
    Android开发
  • 原文地址:https://www.cnblogs.com/skyflask/p/6736573.html
Copyright © 2020-2023  润新知