刘伟 发表于 2019-1-3 08:46:46

LVS_TUN 实验

实验拓扑
http://pmghong.blog.运维网.com/attachment/201305/164230334.png



IP分配
client            192.168.30.1
Router          e0/0             10.0.0.123
                     e0/1             192.168.30.200 (网关)

Director      eth0    192.168.30.105/24
                      eth0:1192.168.30.254/32 (VIP)

Real 1            eth0    192.168.30.113/24
                      tunl0   192.168.30.254/32 (VIP)
Real 2            eth0    192.168.30.114/24
                      tunl0   192.168.30.254/32 (VIP)


TUN 模式的拓扑结构与DR的一样,只需要将原先的lo网卡换成tunl网卡


一、配置Real 服务器
1、主页配置
前面的实验中以配置好,这里不再重复


2、配置IP地址
# ifconfig eth0 192.168.30.113/24
# ip addr add dev tunl0 192.168.30.254/32 brd 192.168.30.254
# ip link set dev tunl0 up

#route add default gw 192.168.30.200
# route add -host 192.168.30.254 dev tunl0


# ifconfig eth0 192.168.30.114/24
# ip addr add dev tunl0 192.168.30.254/32 brd 192.168.30.254
# ip link set dev tunl0 up
#route add default gw 192.168.30.200
# route add -host 192.168.30.254 dev tunl0



3、关闭ARP响应
# 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 "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



二、配置Director 服务器
1、配置IP
# ifconfig eth0 192.168.30.105/24
# ifconfig eth0:1 192.168.30.254 netmask 255.255.255.255 broadcast 192.168.30.254

# route del default gw 10.0.0.2
# route add default gw 192.168.30.200


  # route add -host 192.168.30.254 dev tunl0
  

  
# echo "0" > /proc/sys/net/ipv4/ip_forward
# echo "1" > /proc/sys/net/ipv4/conf/all/send_redirects
# echo "1" > /proc/sys/net/ipv4/conf/default/send_redirects
# echo "1" > /proc/sys/net/ipv4/conf/eth1/send_redirects
  





# route
Kernel IP routing table
Destination   Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0               *               255.255.255.0   U   0      0      0 eth1
192.168.30.0         *               255.255.255.0   U   0      0      0 eth0
link-local            *               255.255.0.0   U   1002   0      0 eth0
link-local            *               255.255.0.0   U   1003   0      0 eth1
default         192.168.30.200   0.0.0.0         UG    0      0      0 eth0



2、配置lvs
# ipvsadm -A -t 192.168.30.254:80 -s rr
# ipvsadm -a -t 192.168.30.254:80 -r 192.168.30.113 -i
# ipvsadm -a -t 192.168.30.254:80 -r 192.168.30.114 -i



3、测试
# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port         Forward Weight ActiveConn InActConn
TCP192.168.30.254:80 rr
-> 192.168.30.113:80                Tunnel      1            0          0         
-> 192.168.30.114:80                Tunnel      1            0          0   



配置脚本:
============Director===========
#!/bin/bash
VIP=192.168.30.254
RIP1=192.168.30.113
RIP2=192.168.30.114


. /etc/rc.d/init.d/functions
case "$1" in
start)
      echo "start LVS of Director Server Tun"
      /sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.255
      /sbin/route add -host $VIP dev tunl0
      /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
  echo "0" > /proc/sys/net/ipv4/ip_forward
        echo "1" > /proc/sys/net/ipv4/conf/all/send_redirects
  echo "1" > /proc/sys/net/ipv4/conf/default/send_redirects
  echo "1" > /proc/sys/net/ipv4/conf/eth1/send_redirects
;;
stop)
      echo "stop LVS of Director Server Tun "
      /sbin/ifconfig tunl0 down
      /sbin/ipvsadm -C
      ;;
*)
      echo "Usage: $0 {start|stop}"
      exit 1
esac
exit 0



============Real Server===========
#!/bin/bash
VIP=192.168.30.254
RIP1=192.168.30.113
RIP2=192.168.30.114


case $1 in
start)
      echo "Start LVS of TUN"
      /sbin/ifdown eth1
      /sbin/ifconfig tunl0 $VIP netmask 255.255.255.255 broadcast $VIP
      /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
      ;;
stop)
      echo "Stop LVS of 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 "Usage:$0 {start|stop}"
      exit 1
esac




页: [1]
查看完整版本: LVS_TUN 实验