LVS的NAT模式和DR模式实验

        LVS全称是Linux Virtual Server,即Linux虚拟服务器。是章文嵩开发的一个国产开源负载均衡软件。LVS主要用于多服务器的负载均衡,工作在网络层,可以实现高性能、高可用的服务器集群技术。

LVS部署命令ipvsadm

集群服务的增删改

ipvsadm 增删选项 服务选项 IP地址:端口号 其它选项

增删选项:

-A:添加

-E:修改

-D :删除

服务选项:

-t :tcp服务

-u:udp服务

其它选项:

-s:指定调度算法,在此次实验中使用rr(轮询调度算法),wrr(带权重的轮询调度算法)

-p:设置持久连接超时,持久连接可以理解为在同一个时间段同一个来源的请求调度到同一Realserver

-f:firewall mask 火墙标记,是一个数字

集群中RealServer的增删改

ipvsadm 增删改选项 服务选项 集群服务IP地址:端口号 -r 真实访问的IP地址:端口号 连接模式 -w

增删改选项:

-a:添加一个realserver

-e:修改realserver

-d:删除一个realserver

服务选项:

-t:tcp协议

-u:udp协议

-f:火墙标签

-r:realserver地址

连接模式:

-g:直连路由模式

-i: 隧道模式

-m:nat模式

-w:设置权重

部署命令补充:

ipvsadm -Z 服务选项 服务IP地址:端口号

清空对应IP的集群服务计数器

ipvsadm -C:清空lvs策略

ipvsadm -Ln --rate:查看lvs策略,并显示输出速率信息

部署NAT模式集群

实验环境准备:

四台虚拟机,1台LVS,1台测试客户机,两台提供http服务的主机

LVS配置

双网卡,nat模式的ens160,仅主机模式的ens224;nat模式的ens160用来于客户机连接,仅主机模式的ens224用来连接两个Server主机

nmcli device connect ens224 #连接增加的网卡

nmcli connection modify ens160 ipv4.address 172.25.254.10/24 ipv4.gateway 172.25.254.2 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
nmcli c up ens160
nmcli connection modify ens224 ipv4.address 192.168.0.10/24 ipv4.gateway 192.168.0.2 ipv4.method manual autoconnect yes
nmcli c up ens224

打开内核路由功能

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

安装ipvsadm

dnf install ipvsadm -y

添加策略

ipvsadm -A -t 172.25.254.10:80 -s rr
ipvsadm -a -t 172.25.254.10:80 -r 192.168.0.11:80 -m
ipvsadm -a -t 172.25.254.10:80 -r 192.168.0.12:80 -m

关闭防火墙和SELinux

systemctl disable --now firewalld
setenforce 0
WebServer1配置

WebServer服务机网卡使用主机模式

nmcli c modify ens160 ipv4.address 192.168.0.11/24 ipv4.gateway 192.168.0.10 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
nmcli c up ens160

安装http服务并给初始界面写入内容,同时关闭防火墙和SELinux

dnf install httpd -y
systemctl enable --now httpd
systemctl disable --now firewalld
setenforce 0
echo Welcome Server1 > /var/www/html/index.html
WebServer2配置

WebServer服务机网卡使用主机模式

nmcli c modify ens160 ipv4.address 192.168.0.12/24 ipv4.gateway 192.168.0.10 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
nmcli c up ens160

安装http服务并给初始界面写入内容,同时关闭防火墙和SELinux

dnf install httpd -y
systemctl enable --now httpd
systemctl disable --now firewalld
setenforce 0
echo Welcome Server2 > /var/www/html/index.html
客户机配置

客户机网卡使用nat模式并关闭防火墙和SELinux

nmcli c modify ens160 ipv4.address 172.25.254.11/24 ipv4.gateway 172.25.254.10 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
nmcli c up ens160
systemctl disabel --now firewalld
setenforce 0
在客户机中测试

部署DR模式集群

实验环境准备:

五台虚拟机,1台router路由器,1台LVS,1台测试客户机,两台提供http服务的主机

Router配置:

双网卡,nat模式的ens160,仅主机模式的ens224;nat模式的ens160用来于客户机连接,仅主机模式的ens224用来连接LVS主机

nmcli device connect ens224 #连接增加的网卡

nmcli connection modify ens160 ipv4.address 172.25.254.20/24 ipv4.gateway 172.25.254.2 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
nmcli c up ens160
nmcli connection modify ens224 ipv4.address 192.168.0.20/24 ipv4.gateway 192.168.0.2 ipv4.method manual autoconnect yes
nmcli c up ens224

关闭防火墙和SELinux

systemctl disable --now firewalld.service
setenforce 0
LVS配置

LVS服务机网卡使用主机模式并设置VIP

nmcli c modfiy ens224 ipv4.address 192.168.0.10/24 ipv4.gateway 192.168.0.20 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
nmcli c up ens224
nmcli c modify lo ipv4.addresses 192.168.0.100/32
nmcli c up lo

 安装ipvsadm

dnf install ipvsadm -y

添加策略

ipvsadm -A -t 192.168.0.100:80 -s wrr
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.11:80 -g
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.12:80 -g

关闭防火墙和SELinux

systemctl disable --now firewalld
setenforce 0
WebServer1配置

WebServer服务机网卡使用主机模式并添加VIP

nmcli c modify ens160 ipv4.address 192.168.0.11/24 ipv4.gateway 192.168.0.10 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
nmcli c up ens160
nmcli c modify lo ipv4.addresses 192.168.0.100/32
nmcli c up lo

安装http服务并给初始界面写入内容,同时关闭防火墙和SELinux

dnf install httpd -y
systemctl enable --now httpd
systemctl disable --now firewalld
setenforce 0
echo Welcome Server1 > /var/www/html/index.html

解决VIP相应问题

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore  
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
WebServer2配置

WebServer服务机网卡使用主机模式并添加VIP

nmcli c modify ens160 ipv4.address 192.168.0.12/24 ipv4.gateway 192.168.0.10 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
nmcli c up ens160
nmcli c modify lo ipv4.addresses 192.168.0.100/32
nmcli c up lo

安装http服务并给初始界面写入内容,同时关闭防火墙和SELinux

dnf install httpd -y
systemctl enable --now httpd
systemctl disable --now firewalld
setenforce 0
echo Welcome Server1 > /var/www/html/index.html

解决VIP相应问题

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
客户机配置

客户机网卡使用nat模式并关闭防火墙和SELinux

nmcli c modify ens160 ipv4.address 172.25.254.11/24 ipv4.gateway 172.25.254.10 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
nmcli c up ens160
systemctl disabel --now firewalld
setenforce 0
在客户机中测试

防火墙标签解决轮询错误

在这个实验中,我们可以继续使用上个实验的模式

在WebServer1和WebServer2上安装mod_ssl,使用https服务

dnf install mod_ssl -y
systemctl restart httpd

清空原有的策略,增加新的策略

ipvsadm -C
ipvsadm -A -t 192.168.0.100:80 -s rr
ipvsadm -A -t 192.168.0.100:443 -s rr
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.11:80 -g
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.12:80 -g
ipvsadm -a -t 192.168.0.100:443 -r 192.168.0.11:80 -g
ipvsadm -a -t 192.168.0.100:443 -r 192.168.0.12:80 -g

测试问题

在LVS中设定端口标签并更改策略

iptables -t mangle -A PREROUTING -d 192.168.0.100 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 66
ipvsadm -A -f 66 -s rr
ipvasdm -a -f 66 -r 192.168.0.11 -g
ipvsadm -a -f 66 -r 192.168.0.11 -g
ipvsadm -a -f 66 -r 192.168.0.12 -g

测试结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值