lvs-NAT和DR模式配置http负载负载均衡

本文详细介绍了如何在Linux环境中配置LVS负载均衡,包括NAT模式和DR模式。在NAT模式下,配置了DIP、RIP,并通过ipvsadm设置转发规则。在DR模式中,设置了VIP,调整了内核参数,并配置了ARP规则。同时,文章在RS服务器上部署了HTTP服务,并进行了测试验证。
摘要由CSDN通过智能技术生成

lvs-NAT模式配置http负载负载均衡

1.环境说明

名称IP类型
DR192.168.100.146VIP
RS1192.168.100.152RIP
RS2192.168.100.148RIP

2.在DR上配置DIP,并且首先在DR下载ipvsadm、RS1和RS2上面下载httpd

[root@RS1 ~]# yum -y install httpd
[root@RS2 ~]# yum -y install httpd
[root@DR ~]# yum install -y ipvsadm
[root@DR ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33    //DRip配置
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes

IPADDR0=192.168.100.146
GATEWAY0=192.168.100.1
NETMASK0=255.255.255.0

[root@DR ~]# 
[root@RS1 ~]# ifdown ens33;ifup ens33
成功停用连接 "ens33"(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root@RS1 ~]# 

3.在RS上分别配置RIP,并将网关指像DIP

[root@RS1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33   //RS1配置
TYPE=Ethernet
BROWSER_ONLY=no
BOOTPROTO=dhcp
NAME=ens33
DEVICE=ens33
ONBOOT=yes

IPADDR=192.168.100.152
GATEWAY=192.168.100.146
NETMASK=255.255.255.0
[root@RS1 ~]# 
[root@RS1 ~]# ifdown ens33;ifup ens33
成功停用连接 "ens33"(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root@RS1 ~]# 


[root@RS2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33   //RS2配置
TYPE=Ethernet
BROWSER_ONLY=no
BOOTPROTO=dhcp
NAME=ens33
DEVICE=ens33
ONBOOT=yes

IPADDR=192.168.100.148
GATEWAY=192.168.100.146
NETMASK=255.255.255.0
[root@RS2 ~]# 
[root@RS1 ~]# ifdown ens33;ifup ens33
成功停用连接 "ens33"(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root@RS1 ~]# 

4.在RS上开启IP转发,配置转发规则

[root@DR ~]# vim /etc/sysctl.conf  //进入文件直接写入net.ipv4.ip_forward = 1
[root@DR ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@DR ~]# 

配置规则

[root@DR ~]# ipvsadm -A -t 192.168.100.250:80 -s rr
[root@DR ~]# ipvsadm -a -t 192.168.100.250:80 -r 192.168.100.167:80 -g
[root@DR ~]# ipvsadm -a -t 192.168.100.250:80 -r 192.168.100.168:80 -g
[root@DR ~]# ipvsadm -Sn
-A -t 192.168.100.250:80 -s rr
-a -t 192.168.100.250:80 -r 192.168.100.167:80 -g -w 1
-a -t 192.168.100.250:80 -r 192.168.100.168:80 -g -w 1
[root@DR ~]# 

保存

[root@DR ~]# ipvsadm -Sn > /etc/sysconfig/ipvsadm
[root@DR ~]# cat /etc/sysconfig/ipvsadm
-A -t 192.168.100.250:80 -s rr
-a -t 192.168.100.250:80 -r 192.168.100.167:80 -g -w 1
-a -t 192.168.100.250:80 -r 192.168.100.168:80 -g -w 1
[root@DR ~]# 

5.在RS上分别配置HTTP

[root@RS1 ~]# cd /usr/share/httpd/noindex/
[root@RS1 noindex]# echo "RS1" > index.html
[root@RS1 noindex]#  systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@RS2 noindex]# cd /usr/share/httpd/noindex/
[root@RS2 noindex]# echo "RS2" > index.html
[root@RS2 noindex]#  systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

测试

关闭RS1和RS2的防火墙和selinux

[root@RS1 noindex]# systemctl stop firewalld
[root@RS1 noindex]# setenforce 0
[root@RS2 noindex]# systemctl stop firewalld
[root@RS2 noindex]# setenforce 0
[root@RS1 noindex]# curl http://192.168.100.152
RS1
[root@RS2 noindex]# curl http://192.168.100.148
RS2
[root@RS2 noindex]# 

请添加图片描述

请添加图片描述

lvs-DR模式配置http负载负载均衡

名称IP类型
DR192.168.100.146VIP
RS1192.168.100.152RIP
RS2192.168.100.148RIP

改名字

[root@localhost ~]# hostnamectl set-hostname DR
[root@localhost ~]# bash
[root@DR ~]# 


[root@localhost ~]# hostnamectl set-hostname RS1
[root@localhost ~]# bash
[root@RS1 ~]#


[root@localhost ~]# hostnamectl set-hostname RS2
[root@localhost ~]# bash
[root@RS2 ~]#

关闭防火墙

[root@DR ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@DR ~]# setenforce 0

[root@RS1 ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@RS1 ~]# setenforce 0

[root@RS2 ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@RS2 ~]# setenforce 0

在RS1和RS2下载安装httpd修改内容来提供访问

[root@RS1 ~]# yum -y install httpd
[root@RS1 ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@RS1 ~]# echo "world" > /usr/share/httpd/noindex/index.html
[root@RS1 ~]# systemctl restart httpd
[root@RS1 ~]# 

[root@RS2 ~]# yum -y install httpd
[root@RS2 ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@RS2 ~]# echo "hello " > /usr/share/httpd/noindex/index.html
[root@RS2 ~]# systemctl restart httpd
[root@RS2 ~]# 

DR配置VIP

[root@DR ~]# ip addr add 192.168.100.250/24 dev ens33
[root@DR ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:d0:d1:3d brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.146/24 brd 192.168.100.255 scope global dynamic noprefixroute ens33
       valid_lft 1360sec preferred_lft 1360sec
    inet 192.168.100.250/24 scope global secondary ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::cf6b:868a:4633:4bb0/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@DR ~]# 

RS配置apr内核参数

[root@RS1 ~]# vi /etc/sysctl.conf 
^[[A[root@RS1 ~]# sysctl -p
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[root@RS1 ~]# 

[root@RS2 ~]# vi /etc/sysctl.conf 
[root@RS2 ~]# sysctl -p
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[root@RS2 ~]# 

RS上配置VIP

[root@RS1 ~]# ip addr add 192.168.100.250/24 dev ens33
[root@RS1 ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:21:73:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.152/24 brd 192.168.100.255 scope global dynamic noprefixroute ens33
       valid_lft 1117sec preferred_lft 1117sec
    inet 192.168.100.250/24 scope global secondary ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::1299:1be0:3c77:edb5/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@RS1 ~]# 


[root@RS2 ~]# ip addr add 192.168.100.250/24 dev ens33 
[root@RS2 ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:fd:cd:90 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.148/24 brd 192.168.100.255 scope global dynamic noprefixroute ens33
       valid_lft 1066sec preferred_lft 1066sec
    inet 192.168.100.250/24 scope global secondary ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::cfeb:3fe4:99b:3ec2/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@RS2 ~]# 

DR上配置转发规则

[root@DR ~]# yum -y install ipvsadm
[root@DR ~]# ipvsadm -A -t 192.168.100.250:80 -s rr
[root@DR ~]# ipvsadm -a -t 192.168.100.250:80 -r 192.168.100.152:80 -g
[root@DR ~]# ipvsadm -a -t 192.168.100.250:80 -r 192.168.100.148:80 -g
[root@DR ~]# ipvsadm -Sn
-A -t 192.168.100.250:80 -s rr
-a -t 192.168.100.250:80 -r 192.168.100.148:80 -g -w 1
-a -t 192.168.100.250:80 -r 192.168.100.152:80 -g -w 1
[root@DR ~]# 

请添加图片描述

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lfei5120

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值