在进行实验之前要关闭selinux
Director需要配置两块网卡eht0和eht1其中eht0设为桥接模式,eth1模式如下图所示
由于NAT模型的特性,在这里为两台RealServer的网卡eth0和Director的网卡eth1配为相同模式,具体如上图
#route add default gw 172.16.88.1
#yum -y install ipvsadm
配置Director
添加服务 # ipvsadm -A -t 172.16.200.1:80 -s rr -A 在内核的虚拟服务器列表中添加一条新的虚拟IP记录,也就是增加一台新的虚拟服务器。 -t 说明虚拟服务器提供的是tcp 的服务,此选项后面跟如下格式:[VIP:port] or [RIP:port] -s scheduler使用的调度算法,有这样几个选项 rr|wrr|lc|wlc|lblc|lblcr|dh|sh 设置转发 # ipvsadm -a -t 172.16.200.1:80 -r 172.16.88.2 -m # ipvsadm -a -t 172.16.200.1:80 -r 172.16.88.3 -m -a在内核虚拟服务器列表的一条记录里添加一条新的Real Server记录。 -r指定Real Server的IP地址,此选项后面跟如下格式:[RIP:port] -m指定LVS 的工作模式为NAT 模式 打开路由转发功能 # echo "1" > /proc/sys/net/ipv4/ip_forward
测试效果如下图
LVS/DR模型配置
在DR模式中所有机器(包括Director和RealServer)都使用了一个额外的IP地址,即VIP。当一个客户端向VIP发出一个连接请求时,此请求必须要连接至Director的VIP,而不能是RealServer的。因为,LVS的主要目标就是要Director负责调度这些连接请求至RealServer的。
Director的网卡eth0配置两个IP地址如上图所示的eth0和eht0:1,模式为桥接 两个RealServer的网卡eth0模式都设置为桥接模式,且eht0的IP为DIP,VIP设置为lo:0(回环地址)
配置RealSever1和RealServer2,两台服务器配置相同
安装apache服务,并启用,然后添加主页index.html RealServer1的index.html的内容为RSS1 RealServer1的index.html的内容为RSS2 设置arp_ignore和arp_announce #echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore #echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce #echo 1 > /proc/sys/net/ipv4/conf/all/arhp_ignore #echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 添加回环地址以及设置路由 #ifconfig lo:0 172.16.88.1 broadcast 172.16.88.1 netmask 255.255.255.255 up #route add -host 172.16.88.1 dev lo:0
配置Director
为eht0增加第二个IP地址,并添加路由使所有的请求都经过eht0:1转发 #ifconfig eth0:1 172.16.88.1 broadcast 172.16.88.1 netmask 255.255.255.255 up #route add -host 172.16.88.1 dev eth0:1 打开路由转发功能 #echo 1 > /proc/sys/net/ipv4/ip_forward 添加服务 # ipvsadm -A -t 172.16.88.1:80 -s rr 设置转发 # ipvsadm -a -t 172.16.88.1:80 -r 172.16.88.2 -g # ipvsadm -a -t 172.16.88.1:80 -r 172.16.88.3 -g -g表示是DR模式
# ipvsadm -A -t 172.16.88.1:0 -s rr -p 1800
# ipvsadm -A -t 172.16.88.1:80 -s rr -p 1800# ipvsadm -A -t 172.16.88.1:443 -s rr -p 1800
PNMP:持久防火墙数据包连接,定义端口之间的姻亲关系把两个不同端口定义到同一个realserver