|
1、LVS环境组网
由于是使用的VM环境,自己PC当作客户机(即公网地址),调度器与服务器都是VM中虚拟机,所以客户和所有服务器之间都是物理直接相连网络,逻辑拓扑图如下:
2、ipvsadm安装前准备
外部IP地址 内部IP地址 角色
10.211.55.16/24 192.168.1.3/24 LVS调度器(虚拟机)
10.211.55.15/24 192.168.1.4/24 RS1(虚拟机)
10.211.55.14/24 192.168.1.5/24 RS2(虚拟机)
10.211.55.19/24 无 客户机(自己电脑)
注:实际应用中RS1 RS2没有外部地址,当前环境中,没有物理双网卡环境,都采用一个网卡配置多个IP地址。 例:
[root@LVS1 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
[root@LVS1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0:0 #修改后保存退出
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.3
NETMASK=255.255.255.0
[root@LVS1 ~]# /etc/init.d/network restart3、httpd与ipvsadm下载
1)在各服务器上关闭防火墙和修改主机名:
[root@LVS1 ~]# service iptables stop
[root@LVS1 ~]# hostname LVS1
[root@RS1 ~]# service iptables stop
[root@RS1 ~]# hostname RS1
[root@RS2 ~]# service iptables stop
[root@RS2 ~]# hostname RS22)在RS1 RS2上安装httpd服务
[root@RS2 ~]# yum install httpd –y
[root@RS2 ~]#/etc/init.d/httpd start
[root@RS2 ~# ps -ef | grep httpd
[root@RS1 ~]# yum install httpd –y
[root@RS1 ~]# /etc/init.d/httpd start
[root@RS1 ~# ps -ef|grep httpd /var/www/html/index.htmlHttpd服务测试:
3)下载ipvsadm
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gzln 我所使用的源包下载目录/usr/local/src
我的LVS环境:
[root@LVS1 ~]# yum -y install kernel-devel gcc c++
[root@RS1 src]# cat /etc/redhat-release
CentOS release 5.8 (Final)
[root@RS1 src]# uname -rm
2.6.18-308.el5 x86_64ipvsadm-1.26对内核有要求,要求内核版本在2.6.28及以后的版本,如果符合了系统环境,还要安装依赖包yum install libnlpopt -y。 我的内核版本不满足,使用ipvsadm-1.24。
[root@LVS1 src]# tar -zxf ipvsadm-1.24.tar.gz
[root@LVS1 src]# ln -s /usr/src/kernels/2.6.18-348.12.1.el5-x86_64 /usr/src/linux /usr/src/kernels/2.6.18-348.12.1.el5-x86_64 192.168.1.4:80 Route 1 0 0
-> 192.168.1.5:80 Route 1 0 0由于有会话保持功能,接下来修改权重值
[root@LVS1 ~]# ipvsadm -d -t 10.211.55.16:80 -r 192.168.1.5:80 192.168.1.5:80 Route 2 0 0
-> 192.168.1.4:80 Route 1 0 0再次进行测试:
7、附:arp抑制参数
arp响应限制
1)arp_ignore:
定义对目标地址为本地IP的ARP询问不同的应答模式0 0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求 1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求 2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内 3 - 不回应该网络界面的arp请求,而只对设置的唯一和连接地址做出回应 4-7 - 保留未使用 8 -不回应所有(本地地址)的arp查询
2)arp_announce:
对网络接口上,本地IP地址的发出的,ARP回应,作出相应级别的限制: 确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口 0 - (默认) 在任意网络接口(eth0,eth1,lo)上的任何本地地址 1 -尽量避免不在该网络接口子网段的本地地址做出arp回应. 当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理. 2 - 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送.
|
|
|