前期准备:
试验环境 Red Hat Enterprise Linux 4 U2
软件版本 ipvsadm-1.24.tar.gz
编译安装注意
#pwd
/usr/src
#ln -s kernels/2.6.9-22.EL.i686 linux 如果没有目录则安装RPEM包kernel-devel-2.6.9-22.EL
#rpmbuild -tb ipvsadm-1.24.tar.gz
#rpm -ivh /usr/src/redhat/RPEM/i386/ipvsadm-1.24-6.i386.rpm
正常使用时提示:
[root@lvs boot]# ipvsadm
IP Virtual Server version 1.2.0 (size=65536)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
一、NAT方式
Load Balance:192.168.1.1
Virtual IP: 10.0.0.1
RealServer1: 192.168.1.2
RealServer2: 192.168.1.3
nameserver: 192.168.1.1
gateway: 192.168.1.1 (使用正确地址,或者使用本机地址,否则会出现刷新ipvsadm rule时很慢)
1.开启路由机制
#echo 1 > /proc/sys/net/ipv4/ip_forward
注意:
永久修改要修改sysctl.conf
2.加载nat模块
#modprobe iptable_nat
注意:
用lsmod检查,另如果不加载此模块,也可以在第一次访问时成功,但是会在再次访问时出现延迟过长,或访问超时现象。
3.加载rule
#ipvsadm -A -t 10.0.0.1:80 -s rr
#ipvsadm -a -t 10.0.0.1:80 -r 192.168.1.2:80 -m
#ipvsadm -a -t 10.0.0.1:80 -r 192.168.1.3:80 -m
rr 轮询方式
-m 设置为NAT方式
4.保存rule
#ipvsadm ——save > /etc/sysconfig/ipvsadm
5.邦定vip
#ifconfig eth0:1 10.0.0.1 netmask 255.255.255.0 borcast 10.0.0.255
6.RealServer设置
RealServer1:
ip: 192.168.1.2
gateway: 192.168.1.1
nameserver: 192.168.1.1
开启HTTP服务,确认自己能够访问。
RealServer2:
ip: 192.168.1.3
gateway: 192.168.1.1
nameserver: 192.168.1.1
开启HTTP服务,确认自己能够访问。页面与realserver1不同就可以。
7.测试
选择一台主机,ip设置10.0.0.2 ,访问,反复刷新网页,每次出现的网页不同则表示成功。
二、Direct Routing方式
Load Balance:192.168.1.1
Virtual IP: 10.0.0.1
RealServer1: 192.168.1.2
RealServer2: 192.168.1.3
nameserver: 192.168.1.254
gateway: 192.168.1.254
1.开启路由机制
#echo 1 > /proc/sys/net/ipv4/ip_forward
注意:
永久修改要修改sysctl.conf
2.加载rule
#ipvsadm -A -t 10.0.0.1:80 -s rr
#ipvsadm -a -t 10.0.0.1:80 -r 192.168.1.2:80 -g
#ipvsadm -a -t 10.0.0.1:80 -r 192.168.1.3:80 -g
rr 轮询方式
-g 设置为DR方式
3.保存rule
#ipvsadm ——save > /etc/sysconfig/ipvsadm
4.邦定vip
#ifconfig eth0:1 10.0.0.1 netmask 255.255.255.0 borcast 10.0.0.255
4.RealServer设置
RealServer1:
ip: 192.168.1.2
gateway: 192.168.1.254
nameserver: 192.168.1.254
#ifconfig lo:1 10.0.0.1 netmask 255.255.255.255 borcast 10.0.0.1
#echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 注释:这四句目的是为了关闭ARP广播响应
#echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
开启HTTP服务,确认自己能够访问。
RealServer2:
ip: 192.168.1.3
gateway: 192.168.1.254
nameserver: 192.168.1.254
#ifconfig lo:1 10.0.0.1 netmask 255.255.255.255 borcast 10.0.0.1
#echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
#echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
开启HTTP服务,确认自己能够访问。页面与realserver1不同就可以。
5.测试
在网关作测试即可,其中一块ip设置10.0.0.2 ,另一块设置192.168.1.254。访问,反复刷新网页,每次出现的网页不同则表示成功。
三、IP Tunnel方式
vpn server:
eth0:10.0.0.3 (测试时使用的OPENVPN)
gateway server:
eth0:10.0.0.2
eth1:192.168.1.254
gatewat server2:
eth0:10.0.0.4
eth1:172.0.0.254
LVS Director Servers:
Load Balance:192.168.1.1
Virtual IP: 10.0.0.1
nameserver: 192.168.1.254
gateway: 192.168.1.254
RealServer1:
ip: 192.168.1.2
gateway: 192.168.1.254
nameserver: 192.168.1.254
tun0: 20.0.0.1 (这个是连接到vpn后有服务器分配到的)
RealServer2:
ip: 172.0.0.1
gateway: 172.0.0.254
nameserver: 172.0.0.254
tun0: 20.0.0.2 (这个是连接到vpn后有服务器分配到的)
1.开启路由机制
#echo 1 > /proc/sys/net/ipv4/ip_forward
注意:
永久修改要修改sysctl.conf
2.加载rule
#ipvsadm -A -t 10.0.0.1:80 -s rr
#ipvsadm -a -t 10.0.0.1:80 -r 20.0.0.1:80 -i (RS1的地址指定,也可以选择本地地址192.168.1.2)
#ipvsadm -a -t 10.0.0.1:80 -r 20.0.0.2:80 -i
rr 轮询方式
-i 设置为IP Tunnel方式
3.保存rule
#ipvsadm ——save > /etc/sysconfig/ipvsadm
4.邦定vip
#ifconfig eth0:1 10.0.0.1 netmask 255.255.255.0 borcast 10.0.0.255
5.RealServer设置
RealServer1:
ip: 192.168.1.2
gateway: 192.168.1.254
nameserver: 192.168.1.254
tun0: 20.0.0.1
#ifconfig tunl0 10.0.0.1 netmask 255.255.255.255 borcast 10.0.0.1
#echo 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore 注释:这四句目的是为了关闭ARP广播响应
#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
开启HTTP服务,确认自己能够访问。
RealServer2:
RealServer2:
ip: 172.0.0.1
gateway: 172.0.0.254
nameserver: 172.0.0.254
tun0: 20.0.0.2
#ifconfig tunl0 10.0.0.1 netmask 255.255.255.255 borcast 10.0.0.1
#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
开启HTTP服务,确认自己能够访问。页面与realserver1不同就可以。
6.测试
在网关作测试即可,访问,反复刷新网页,每次出现的网页不同则表示成功