LOCKLOSE 发表于 2019-1-4 13:10:32

LVS 另类用法


[*]iptables -t mangle -A PREROUTING -p tcp -d 192.168.4.183/32 --dport 27000 -j MARK --set-mark 27000
[*]iptables -t mangle -A PREROUTING -p tcp -d 192.168.4.183/32 --dport 1027 -j MARK --set-mark 27000



[*]ipvsadm -A -f 27000 -s wlc -p 30
[*]ipvsadm -a -f 27000 -r 192.168.4.187:0 -g -w 1000
[*]ipvsadm -a -f 27000 -r 192.168.4.186:0 -g -w 1000
[*]ipvsadm -a -f 27000 -r 192.168.4.185:0 -g -w 1000




[*]#!/bin/bash
[*]
[*]   REAL_SERVER1=192.168.4.185
[*]   REAL_SERVER2=192.168.4.186
[*]   REAL_SERVER3=192.168.4.187
[*]
[*]#   CONN_SERVER1=`ipvsadm -lcn | grep $REAL_SERVER1:1027 |wc -l`
[*]#   echo $CONN_SERVER1
[*]      
[*]#   WEIGHT_SERVER1=`ipvsadm |grep 192.168.4.185 | awk '{print $4}' `
[*]#   echo WEIGHT_SERVER1 IS $WEIGHT_SERVER1
[*]
[*]   REAL_SERVER=("192.168.4.185" "192.168.4.186" "192.168.4.187")
[*]   echo "now it has ${#REAL_SERVER
[*]} real servers such as:" ${REAL_SERVER
[*]}   
[*]   
[*]   j=0
[*]   for i in ${REAL_SERVER
[*]}
[*]
[*]    do
[*]
[*]      CONN_SERVER[$j]=`/sbin/ipvsadm -lcn | grep $i:1027 |wc -l`
[*]      WEIGHT_SERVER[$j]=`/sbin/ipvsadm |grep $i | awk '{print $4}' `
[*]
[*]      
[*]      echo "i am" $i
[*]      echo "CONN_SERVER[$j]" ${CONN_SERVER[$j]}
[*]      echo "WEIGHT_SERVER[$j]" ${WEIGHT_SERVER[$j]}
[*]
[*]       if (( ${CONN_SERVER[$j]} ==0 )); then
[*]
[*]            if !(( ${WEIGHT_SERVER[$j]}== 1000 )); then
[*]                     #echo aa ${WEIGHT_SERVER[$j]}
[*]                     /sbin/ipvsadm -e -f 27000 -r $i -w 1000 -g
[*]                     echo the weight of $i has been changed to 1000
[*]            fi
[*]
[*]       else   
[*]      
[*]            if !(( ${WEIGHT_SERVER[$j]} == 1)); then
[*]                  # echo bb ${WEIGHT_SERVER[$j]}
[*]                     /sbin/ipvsadm -e -f 27000 -r $i -w 1 -g
[*]                     echo the weight of $i has been changed to 1
[*]            fi
[*]       fi
[*]      let j++
[*]    done




页: [1]
查看完整版本: LVS 另类用法