lvs集群技术

一、Nat实验

配置

RS1

root@RS1 \~# dnf install httpd -y

root@RS1 \~# echo RS1 192.168.0.10 > /var/www/html/index.html

root@RS1 \~# systemctl disable --now firewalld关闭防火墙

RS2

root@RS2 \~# dnf install httpd -y

root@RS2 \~# echo RS1 192.168.0.20 > /var/www/html/index.html

root@RS2 \~# systemctl disable --now firewalld

VS

bash 复制代码
启用内核路由功能
[root@lvs ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.d/ip_forward.conf
[root@lvs ~]# sysctl --system 
安装ipvsadm
[root@lvs ~]# yum install ipvsadm -y
[root@lvs ~]# systemctl enable --now ipvsadm
添加调度策略
[root@lvs ~]# ipvsadm -A -t 172.25.254.220:80 -s rr
[root@lvs ~]# ipvsadm -a -t 172.25.254.220:80 -r 192.168.0.10:80 -m
[root@lvs ~]# ipvsadm -a -t 172.25.254.220:80 -r 192.168.0.20:80 -m
查看策略
[root@lvs ~]# ipvsadm -Ln
保存
[root@lvs ~]# ipvsadm -Sn
开机启动
[root@lvs ~]# systemctl enable --now ipvsadm.service

测试

二、DR实验

配置

client在客户端主机中为nat模式网卡

vim /etc/NetworkManager/system-connections/eth0.nmconnection

connection

id=eth0

type=ethernet

interface-name=eth0

ipv4

method=manual

address1=172.25.254.200/24,172.25.254.255

dns=8.8.8.8

router在路由主机中设定双网卡,eth0为nat网卡,eth1为仅主机网卡

vim /etc/NetworkManager/system-connections/eth1.nmconnection

connection

id=eth1

type=ethernet

interface-name=eth1

ipv4

method=manual

address1=192.168.0.100/24,192.168.0.255

dns=8.8.8.8

vim /etc/NetworkManager/system-connections/eth0.nmconnection

connection

id=eth0

type=ethernet

interface-name=eth0

ipv4

method=manual

address1=172.25.254.100/24,172.25.254.255

dns=8.8.8.8

lvs设定网卡为仅主机模式

vim /etc/NetworkManager/system-connections/eth1.nmconnection

connection

id=eth1

type=ethernet

interface-name=eth1

ipv4

method=manual

address1=192.168.0.10/24,192.168.0.255

dns=8.8.8.8

设定vip

ip addr add dev lo 192.168.0.220/32

配置策略

root@lvs \~# ipvsadm -A -t 192.168.179.220:80 -s wrr

root@lvs \~# ipvsadm -a -t 192.168.179.220:80 -r 192.168.179.20:80 -g

root@lvs \~# ipvsadm -a -t 192.168.179.220:80 -r 192.168.179.10:80 -g

RS1

vim /etc/NetworkManager/system-connections/eth1.nmconnection

connection

id=eth1

type=ethernet

interface-name=eth1

ipv4

method=manual

address1=192.168.0.20/24,192.168.0.255

dns=8.8.8.8

设定vip

ip addr add dev lo 192.168.0.100/32

解决响应问题

root@RS1 \~# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

root@RS1 \~# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

root@RS1 \~# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

root@RS1 \~# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

RS2

vim /etc/NetworkManager/system-connections/eth1.nmconnection

connection

id=eth1

type=ethernet

interface-name=eth1

ipv4

method=manual

address1=192.168.0.100/24,192.168.0.255

dns=8.8.8.8

设定vip

ip addr add dev lo 192.168.0.100/32

解决响应问题

root@RS2 \~# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

root@RS2 \~# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

root@RS2 \~# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

root@RS2 \~# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

测试