一、案例一NAT
案例简单介绍:
三台RHEL5.8虚拟机,
两台做集群web服务器realserver ,ip分别为192.168.2.2和192.168.2.4。它们gateway都要指向分发器director的内网地址192.16.2.3。将这两个web服务器放在虚拟网络中的host-only中。
分发器director ,Ip为172.16.20.3与外网通信,ip为192.168.2.3(放在host-only)做为内部集群web服务器的网管。
本地物理机做客户端client,它的ip我们设置为192.168.0.193
配置过程:
1、web对象1上安装httpd包。将web1的gateway改成director的私有ip地址
#Realserver1:ip为192.168.2.2
- [root@yangyaru ~]# yum install -y httpd
- [root@yangyaru ~]# echo “linux 2 nat ”>/var/www/html/index.html
- [root@yangyaru ~]# service httpd start
- [root@yangyaru~]# setup
web服务器2配置与web1的步骤一样。
2、分发器director有两个网卡,一个为公网ip地址为172.16.20.3,一个为私有ip地址为192.168.2.3将它放在host—only中,安装ipvsadm包,添加规则。
- [root@yangyaru ~]#setup
- [root@yangyaru ~]# yum install -y ipvsadm
- [root@yangyaru ~]# service ipvsadm start
- ipvsadm: Clearing the current IPVS table: [ OK ]
- ipvsadm: Applying IPVS configuration: [ OK ]
- [root@yangyaru ~]#ipvsadm -A -t 172.16.20.3:80 -s wrr
- [root@yangyaru ~]# ipvsadm -A -t 172.16.20.3:80 -r 192.168.1.2 -m -w 2
- [root@yangyaru ~]# ipvsadm -A -t 172.16.20.3:80 -r 192.168.1.4 -m -w 1
3、验证服务:
有上面的验证结果我们可以看wrr调度方式的比例是1:3 ^_^
二、LVS之DR转换模式:
实现DR转换的方式:
1、VIP:MAC(DVIP) 手动的添加arp解析。但是具有一定的局限性,因为我们的路由器很有可能不是我们自己的。
2、arptables:
3、kernel parameter
arp——ignore:定义接受到arp请求时的响应级别
0:只要本地配置的有相应地址,就给与响应
1:仅在请求的目标地址配置请求到达的接口上的时候,才给与响应
arp——announce:定义将自己的地址向外通告时的通告级别
0:将本地任何接口上的任何地址向外通告
1:尽可能仅向目标网络通告与其网络匹配的地址
2:仅向与本地接口上地址匹配的网络进行通报
三、案例二DR配置,我们使用上面的第3中方式 kernel parameter来实现:
1、案例的简单说明:
三台RHEL5.8虚拟机,
两台做集群web服务器realserver ,ip分别为172.16.20.2和172.16.20.4。
Ip为172.16.20.3的主机做分发器director ,
本地物理机做客户端client
2、配置过程步骤:
#Realserver1:ip为172.16.20.2
- [root@yangyaru ~]# yum install -y httpd
- [root@yangyaru ~]# echo “linux 2”>/var/www/html/index.html
- [root@yangyaru ~]# sysctl -w net.ipv4.conf.eth0.arp_announce=2
- [root@yangyaru ~]# sysctl -w net.ipv4.conf.all.arp_announce=2
- [root@yangyaru ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
- [root@yangyaru ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
- [root@yangyaru ~]# ifconfig lo:0 172.16.20.5 netmask 255.255.255.255 broadcast 172.16.20.5 up
- [root@yangyaru ~]# route add -host 172.16.20.5 dev lo:0
#Realserver2:ip为172.16.20.4
- [root@yangyaru ~]# yum install -y httpd
- [root@yangyaru ~]# echo “linux 4”>/var/www/html/index.html
- [root@yangyaru ~]# sysctl -w net.ipv4.conf.eth0.arp_announce=2
- [root@yangyaru ~]# sysctl -w net.ipv4.conf.all.arp_announce=2
- [root@yangyaru ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
- [root@yangyaru ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
- [root@yangyaru ~]# ifconfig lo:0 172.16.20.5 netmask 255.255.255.255 broadcast 172.16.20.5 up
- [root@yangyaru ~]# route add -host 172.16.20.5 dev lo:0
#Director:eth0上ip为172.16.20.3 eth0:0 172.16.20.5
- [root@yangyaru ~]# yum install -y ipvsadm
- [root@yangyaru ~]# service ipvsadm start
- ipvsadm: Clearing the current IPVS table: [ OK ]
- ipvsadm: Applying IPVS configuration: [ OK ]
- [root@yangyaru ~]# ipvsadm -A -t 172.16.20.5:80 -s wlc
- [root@yangyaru ~]# ipvsadm -a -t 172.16.20.5:80 -r 172.16.20.2 -g -w 2
- [root@yangyaru ~]# ipvsadm -a -t 172.16.20.5:80 -r 172.16.20.4 -g -w 1
3、验证我们的结果。
#本地物理机浏览器验证我们的集群web服务。
#查看我们集群服务器上面连接状态。
- [root@yangyaru ~]# ipvsadm -L -n --stats
- IP Virtual Server version 1.2.1 (size=4096)
- Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
- -> RemoteAddress:Port
- TCP 172.16.20.5:80 25 221 0 18994 0
- -> 172.16.20.4:80 9 80 0 6872 0
- -> 172.16.20.2:80 16 141 0 12122
#从以前可以看到我们的连接成1.:2的比例,因为我们指定的规则权重就是1:2的。^_^