- 环境准备
关闭selinux 设置防火墙允许通行
proxy主机IP地址:192.168.4.5
web1主机的IP:192.168.4.100
web2主机的IP:192.168.4.200
分配IP地址:
| web(RIP) 伪装VIP
4.100 VIP(4.15)
4.10 4.15 4.5 | web1(RIP) 伪装VIP
客户端----->VIP(调度器)DIP----
| web2(RIP) 伪装VIP
4.200 VIP(4.15)
【重点】:VIP必须配置在网卡的虚拟接口(辅助接口)上
DIP(director IP)必须配置在网卡的主接口上
- 给LVS主机配置VIP和DIP
- [root@proxy ~]# nmcli conn modify ens34 ipv4.method manual ipv4.addr \
192.168.4.5/24 autoconnect yes
[root@proxy ~]# nmcli conn up ens34
- 配置VIP(给有4.5这个IP的网卡配置VIP,看清自己的网卡名称)
#注意:千万不能照抄网卡名称!!!(拷贝有4.5这个IP的网卡)
[root@proxy ~]# cd /etc/sysconfig/network-scripts/
[root@proxy network-scripts]# cp ifcfg-ens34{,:0}
[root@proxy network-scripts]# vim ifcfg-ens34:0
修改文件,最终全文内容如下:(网卡名称不能照抄)
TYPE=Ethernet #类型为以太网
BOOTPROTO=none #如何配置IP[none手动]或[dhcp]
NAME=ens34:0 #网卡名称(con-name)
DEVICE=ens34:0 #设备名称(ifname)
ONBOOT=yes #开机是否自动激活
IPADDR=192.168.4.15 #网卡IP地址
PREFIX=24 #子网掩码
[root@proxy network-scripts]# systemctl restart network
[root@proxy network-scripts]# yum -y install net-tools
[root@proxy network-scripts]# ifconfig
如果配置正确,看不到新配置的IP可以关闭NetworkManager后重启
[root@proxy network-scripts]# systemctl stop NetworkManager
[root@proxy network-scripts]# systemctl restart network
- 配置web1
1)配置正常RIP#不能照抄网卡名称
[root@web1 ~]# nmcli connection modify ens33 ipv4.method manual\
ipv4.addresses 192.168.4.100/24 autoconnect yes
[root@web1 ~]# nmcli connection up ens33
2)给web1伪装VIP(必须伪装到lo网卡 web服务器操作一样)
[root@web1 ~]# cd /etc/sysconfig/network-scripts/
[root@web1 network-scripts]# cp ifcfg-lo{,:0}
[root@web1 network-scripts]# vim ifcfg-lo:0
修改内容如下:
DEVICE=lo:0 #设备名称
IPADDR=192.168.4.15 #IP地址
NETMASK=255.255.255.255 #子网掩码
NETWORK=192.168.4.15 #网络地址(网络位)
BROADCAST=192.168.4.15 #广播地址
ONBOOT=yes #开机是否自动激活
NAME=lo:0 #网卡名称
[root@web1 network-scripts]# vim /etc/sysctl.conf
手动添加如下内容(防止地址冲突):
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
[root@web1 network-scripts]# sysctl -p
[root@web1 network-scripts]# systemctl restart network
[root@web1 network-scripts]# ifconfig
如果配置正确,看不到新配置的IP可以关闭NetworkManager后重启
[root@we1 network-scripts]# systemctl stop NetworkManager
[root@web1 network-scripts]# systemctl restart network
备注:
arp_ignore是其他主机发送ARP广播时web1和web2不回应自己是4.15.
arp_announce是本机与其他主机通信时,不主动广播自己是4.15.
- 给proxy配置LVS规则
[root@proxy ~]# ipvsadm -C
[root@proxy ~]# ipvsadm -A -t 192.168.4.15:80 -s wrr
[root@proxy ~]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.100:80
[root@proxy ~]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.200:80
[root@proxy ~]# ipvsadm -Ln
客户端使用浏览器访问http://192.168.4.15
Ctrl+F5