zoukankan      html  css  js  c++  java
  • 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一样指向内网网关;

       

  • 相关阅读:
    说谎的简单工厂模式设计模式&工厂方法模式&Abstract Factory模式
    [Gevent]gevent 网络抓取问答
    使用 Capistrano 和写作 Ruby 迭代边缘部署
    【从翻译mos文章】在oracle db 11gR2版本号被启用 Oracle NUMA 支持
    [Unity3D]Unity3D圣骑士模仿游戏开发传仙灵达到当局岛
    [RxJS] Logging a Stream with do()
    [RxJS] Handling a Complete Stream with Reduce
    [RxJS] Completing a Stream with TakeWhile
    [RxJS] Adding Conditional Logic with Filter
    [RxJS] Combining Streams with CombineLatest
  • 原文地址:https://www.cnblogs.com/skyflask/p/6736573.html
Copyright © 2011-2022 走看看