I'm trying to do a simple Load Balancing Cluster with Redhat-9.0 using
keepalived and ipvsadm for failover and unison for data replication. My
setup looks like this
local network ------LVS Server--------- INTERNET
(10.0.0.0) | 172.12.154.4
| (192.168.0.0)
|
------------------------------
| | | |
| | | |
| | | |
SMTP POP FTP BACKUP
(.110) (.111) (.112) (.113)
LVS External interface (eth0): 172.12.154.4
External VIP of smtp realserver: 172.12.154.6
External VIP of pop realserver: 172.12.154.7
External VIP of ftp realserver: 172.12.154.8
LVS Internal interface (eth1): 10.0.0.2
Internal VIP of smtp realserver: 10.0.0.11
Internal VIP of smtp realserver: 10.0.0.12
Internal VIP of smtp realserver: 10.0.0.13
Apparently, My LVS server has 3 ethernets. 1 for internet; 1 for local
network; and another one for the real servers. Now I want that backup
server (192.168.0.114) to handle failover and replication once any of
the three (smtp, pop and ftp) servers is down. I've tested the ftp first
and configured my keepalived as what ipvsadm shows below
TCP 172.12.154.8:ftp rr
-> 192.168.0.112:ssh Masq 1 0 0
-> 192.168.0.113:ssh Masq 1 0 1
I also added into my iptables rules as:
iptables -t nat -A PREROUTING -d INT_VIP_OF_FTP -p tcp --dport 21 -j
DNAT --to-destination IP_OF_FTP
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
I've test it by simple killing the ftp service from ftp server. If i
connect from a remote pc connected fro local network (10.0.0.X), it
worked just fine but when I connect from a remote pc from outside
network, it can't! What supposed to be the problem here? Did i miss
something?
Oliver
|