1. 准备4台机器:全部只有一块网卡,配置好IP地址、子网掩码
2. 查看4台机器的防火墙、SELINUX
3. 配置VIP
a. lvs配置在物理网卡上
b. web配置在lo网卡上
4. 在web服务器上配置内核参数,阻止它直接响应客户端
5. 在lvs上配置lvs规则
LVS DR模式,LVS主机和web服务器都是单网卡,它们连在同一网络中
[root@lvs1 ~]# nmcli connection modify eth1 ipv4.method disabled ipv4.addresses ''
[root@lvs1 ~]# ifdown eth1
[root@web1 ~]# cd /etc/sysconfig/network-scripts/ 进入目录
eth0网卡的配置文件叫ifcfg-eth0[root@web1 network-scripts]# ls ifcfg-eth*ifcfg-eth0 ifcfg-eth1 ifcfg-eth2 ifcfg-eth3
[root@web1 network-scripts]# vim ifcfg-eth0
TYPE=Ethernet # 网络类型为以太网
BOOTPROTO=none # IP地址是静态配置的,也可以用static
NAME=eth0 # 为设备重命名
DEVICE=eth0 # 网卡设备名
ONBOOT=yes # 开机激活网卡
IPADDR=192.168.88.100 # IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.88.254 # 网关
[root@web1 network-scripts]# ifdown eth0; ifup eth0
[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=EthernetBOOTPROTO=noneNAME=eth0DEVICE=eth0ONBOOT=yesIPADDR=192.168.88.200NETMASK=255.255.255.0GATEWAY=192.168.88.254[root@web2 ~]# ifdown eth0; ifup eth0
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1TYPE=EthernetBOOTPROTO=noneNAME=eth1DEVICE=eth1ONBOOT=no[root@web1 ~]# ifdown eth1
2、配置LVS DR模式
在lvs1的eth0上配置vip 192.168.88.15。通过为eth0创建逻辑端口的方式配置vip,为逻辑端口起名为eth0:0
[root@lvs1 ~]# cd /etc/sysconfig/network-scripts/
[root@lvs1 network-scripts]# cp ifcfg-eth0 ifcfg-eth0:0
[root@lvs1 network-scripts]# vim ifcfg-eth0:0 TYPE=Ethernet BOOTPROTO=none NAME=eth0:0 DEVICE=eth0:0 ONBOOT=yes IPADDR=192.168.88.15 PREFIX=24
[root@lvs1 network-scripts]# ifup eth0:0
[root@lvs1 network-scripts]# ifconfig (查看新地址是否添加)
在2台web服务器的lo上配置vip 192.168.88.15
[root@web1 ~]# cd /etc/sysconfig/network-scripts/[root@web1 network-scripts]# cp ifcfg-lo ifcfg-lo:0[root@web1 network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.88.15
NETMASK=255.255.255.255
NETWORK=192.168.88.15
BROADCAST=192.168.88.15
ONBOOT=yes
NAME=lo:0
在2台web服务器上配置内核参数,使得它们不响应对192.168.88.15的请求
[root@web1 ~]# sysctl -a | grep arp_ignore (改为1)
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 0
[root@web1 ~]# sysctl -a | grep arp_announce (改为2)
net.ipv4.conf.all.arp_announce = 2net.ipv4.conf.lo.arp_announce = 0
[root@web1 ~]# vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
[root@web1 ~]# sysctl -p
[root@lvs1 ~]# ipvsadm -A -t 192.168.88.15:80 -s wlc (加权最小连接)
[root@lvs1 ~]# ipvsadm -a -t 192.168.88.15:80 -r 192.168.88.100 -w 1 -g[root@lvs1 ~]# ipvsadm -a -t 192.168.88.15:80 -r 192.168.88.200 -w 2 -g
[root@lvs1 ~]# ipvsadm -Ln (查看配置)