nat
lvs调度器
eth0:192.168.4.5/24
eth1:192.168.2.5/24
web1服务器
eth1: 192/168.2.100
eth2: 192.168.2.200
1.安装包
yum install vim -y
yum install bash-completion -y
2.更改hostname
hostnamectl set-hostname lvs
hostnamectl set-hostname web1
hostnamectl set-hostname web2
3.配置IP
ip a s
lvs主机
添加网卡ens35 ens36
nmcli connection add con-name ens35 ifname ens35 type ethernet
nmcli connection modify ens35 ipv4.method manual ipv4.addresses 192.168.4.5/24 connection.autoconnect yes
nmcli connection up ens35
nmcli connection add con-name ens36 ifname ens36 type ethernet
nmcli connection modify ens36 ipv4.method manual ipv4.addresses 192.168.2.5/24 connection.autoconnect yes
nmcli connection up ens36
web1 web2
添加网卡ens35
nmcli connection add con-name ens35 ifname ens35 type ethernet
nmcli connection modify ens35 ipv4.method manual ipv4.addresses 192.168.2.100/24 connection.autoconnect yes
nmcli connection up ens35
nmcli connection add con-name ens35 ifname ens35 type ethernet
nmcli connection modify ens35 ipv4.method manual ipv4.addresses 192.168.2.200/24 connection.autoconnect yes
nmcli connection up ens35
4.web1 web2 部署httpd服务
yum -y install httpd
echo "192.168.2.100"> /var/www/html/index.html
systemctl restart httpd
firewall-cmd --set-default-zone=trusted
setenforce 0
iptables -F
vi /etc/selinux/config SELINUX=permissive
yum -y install httpd
echo "192.168.2.200"> /var/www/html/index.html
systemctl restart httpd
firewall-cmd --set-default-zone=trusted
setenforce 0
iptables -F
vi /etc/selinux/config SELINUX=permissive
5.配置lvs调度器
lvs
yum -y install ipvsadm
-A 添加虚拟服务器
-t 设置集群地址(VIP,Viirtual IP) tcp/udp
-s 指定负载调度算法(rr轮询 | wrr权重轮询 | lc最小连接 | wlc 权重最小连接| sh 源地址哈希)
ipvsadm -A -t 192.168.4.5:80 -s rr
ipvsadm -Ln #查看
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.4.5:80 rr
添加real server
-a 添加真实服务器
-d 删除真实服务器
-r 指定真实服务器(real server)的地址
-m使用NAT模式;-g、-i分别对应DR、TUN模式
-w 为节点服务器设置权重 默认1
ipvsadm -a -t 192.168.4.5:80 -r 192.168.2.100:80 -m
ipvsadm -a -t 192.168.4.5:80 -r 192.168.2.200:80 -m
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.4.5:80 rr
-> 192.168.2.100:80 Masq 1 0 0
-> 192.168.2.200:80 Masq 1 0 0
masq是nat模式
6.配置lvs开启路由转发
vi /etc/sysctl.conf #添加一行
net.ipv4.ip_forward = 1
sysctl -p #刷新内核
iptables -F
setenforce 0
firewall-cmd --set-default-zone=trusted
vi /etc/selinux/config
SELINUX=permissive
7.web1 web2配置网关
nmcli connection modify ens35 ipv4.method manual ipv4.gateway 192.168.2.5
nmcli connection up ens35
DR
1.IP规划
lvs调度器
eth0(192.168.4.5/24)
eth0:0(192.168.4.15/24)
web1
eth0(192.168.4.100/24)
lo:0(192.168.4.15/32)
web2
eth0(192.168.4.200/24)
lo:0(192.168.4.15/32)
2.配置网络环境
lvs
开启路由功能
vim/etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
cat /proc/sys/net/ipv4/ip_forward
1
配置DIP
nmcli connection modify ens35 ipv4.method manual ipv4.addresses 192.168.4.5/24 connection.autoconnect yes
nmcli connection up ens35
配置VIP(Vitral IP)
cp /etc/sysconfig/network-scripts/ifcfg-ens35{,:0}
vi /etc/sysconfig/network-scripts/ifcfg-ens35:0
TYPE=Ethernet
BOOTPROTO=none
NAME=ens35:0
DEVICE=ens35:0
ONBOOT=yes
IPADDR=192.168.4.15
PREFIX=24
systemctl restart network
配置web服务器
配置RIP
web1
nmcli connection add con-name ens36 ifname ens36 type ethernet
nmcli connection modify ens36 ipv4.method manual ipv4.addresses 192.168.4.100/24 connection.autoconnect yes
nmcli connection up ens36
cp /etc//sysconfig/network-scripts/ifcfg-lo{,:0}
vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.4.15
NETMASK=255.255.255.255
NETWORK=192.168.4.15
BROADCAST=192.168.4.15
ONBOOT=yes
NAME=lo:0
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
sysctl -p
systemctl restart network
web2
nmcli connection add con-name ens36 ifname ens36 type ethernet
nmcli connection modify ens36 ipv4.method manual ipv4.addresses 192.168.4.200/24 connection.autoconnect yes
nmcli connection up ens36
cp /etc//sysconfig/network-scripts/ifcfg-lo{,:0}
vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.4.15
NETMASK=255.255.255.255
NETWORK=192.168.4.15
BROADCAST=192.168.4.15
ONBOOT=yes
NAME=lo:0
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
sysctl -p
systemctl restart network
lvs配置ipvsadm
ipvsadm -C #清空规则
ipvsadm -Ln #查看规则
创建虚拟服务器
ipvsadm -A -t 192.168.4.15:80 -s rr
添加服务器节点
ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.100:80
ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.200:80 #默认-g
查看
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.4.15:80 rr
-> 192.168.4.100:80 Route 1 0 0
-> 192.168.4.200:80 Route 1 0 0