December 10, 2009

Problem with Linux Virtual Server

Forums: 

Hello!
I need to do a work of university and I'm interested to use LVS, but I have a problem that I can't solve. I would appreciate it could only help.

I have some virtual machines (virtualbox) of Ubuntu running in my Windows Vista. These machines have connectivity between them. The problem: for the load balancing and high availability I use ipsadm + keepalived, and it works only if the load-balancer is the same machine that the client. If the machines are different it is'nt work.

I tried many things (for example use ip private in the load-balancer instead a public ip) and I searched information on the web.

The script that I use in the balancer is:

#!/bin/sh

modprobe iptable_nat

echo 1 > /proc/sys/net/ipv4/ip_forward

IPTABLES=/sbin/iptables

REDLOCAL=192.168.1.0/25

$IPTABLES -F

$IPTABLES -t nat -A POSTROUTING -s $REDLOCAL -j MASQUERADE

$IPTABLES -A FORWARD -s $REDLOCAL -j ACCEPT

IPVSADM=/sbin/ipvsadm

$IPVSADM -C

ipvsadm -A -t 10.0.2.15:80 -s rr -p

ipvsadm -a -t 10.0.2.15:80 -r 192.168.1.35:80 -m

ipvsadm -a -t 10.0.2.15:80 -r 192.168.1.36:80 -m

keepalived start

And in the real servers I only change the default route to point to the balancer's addres:

route add default gw 192.168.1.34

Thank you very much and sorry for my bad English.

Click Here!