Linux负载均衡解决方案 -- LVS-NAT 模式 案例实战

LVS-NAT 模式 案例实战

一、环境准备

架构设计
在这里插入图片描述
环境配置

硬件配置

操作系统:centos-7.8 cpu:1*1 硬盘:20G 内存:2G

网络配置

role host ip getway OS
Client node05 192.168.5.5 WAN网出口 Centos-7.8
Director-Server node01 192.168.5.4、172.24.8.100 WAN网出口 Centos-7.8
Web1 node02 172.24.8.11 172.24.8.100 Centos-7.8
Web2 node03 172.24.8.12 172.24.8.100 Centos-7.8
Web3 node04 172.24.8.13 172.24.8.100 Centos-7.8

二、案例实战

配置时间同步

服务端:# vim /etc/chrony.conf
server 172.24.8.100 iburst
allow 172.24.8.0/24
local stratum 10
启动:# systemctl restart chronyd
客户端:
server 172.24.8.100 iburst
启动:# systemctl restart chronyd

[root@node01 ~]# date
Fri Feb 19 15:05:53 CST 2021
[root@node02 ~]# date
Fri Feb 19 15:05:53 CST 2021
[root@node03 ~]# date
Fri Feb 19 15:05:53 CST 2021
[root@node04 ~]# date
Fri Feb 19 15:05:53 CST 2021

负载调度开启路由转发

# 临时开启
--- 方法一
[root@node01 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
--- 方法二
[root@node01 ~]# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

# 永久开启
[root@node01 ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
[root@node01 ~]# sysctl -p
net.ipv4.ip_forward = 1

RS 节点部署nginx服务

# 以Web1为例演示
[root@node02 ~]# ll nginx-1.10.0-1.el7.ngx.x86_64.rpm 
-rw-r--r--. 1 root root 655648 Feb 19 15:41 nginx-1.10.0-1.el7.ngx.x86_64.rpm
[root@node02 ~]# yum install nginx-1.10.0-1.el7.ngx.x86_64.rpm  -y
[root@node02 ~]# cd /usr/share/nginx/html/
[root@node02 html]# mv index.html{,.bak}
[root@node02 html]# echo web1 test page > index.html
[root@node02 html]# systemctl enable --now nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@node02 html]# netstat -lnutp | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      12220/nginx: master 

Director-Server 配置 LVS-DR

扫描二维码关注公众号,回复: 12486915 查看本文章

ipvsadm 主要选项

>--add-service     -A        add virtual service with options
>--edit-service    -E        edit virtual service with options
>--delete-service  -D        delete virtual service
>--clear           -C        clear the whole table
>--restore         -R        restore rules from stdin
>--save            -S        save rules to stdout
>--add-server      -a        add real server with options
>--edit-server     -e        edit real server with options
>--delete-server   -d        delete real server
>--list            -L|-l     list the table
>--tcp-service     -t service-address   service-address is host[:port]
>--udp-service     -u service-address   service-address is host[:port]
>--gatewaying      -g                   gatewaying (direct routing) (default)
>--ipip            -i                   ipip encapsulation (tunneling)
>--masquerading    -m                   masquerading (NAT)
>--weight          -w weight            capacity of real server
# 安装ipvsadm
[root@node01 ~]# yum install ipvsadm -y
# 查看集群节点空
[root@node01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
# 添加集群
[root@node01 ~]# ipvsadm -A -t 192.168.5.4:80 -s rr
[root@node01 ~]# ipvsadm -a -t 192.168.5.4:80 -r 172.24.8.11:80 -m
[root@node01 ~]# ipvsadm -a -t 192.168.5.4:80 -r 172.24.8.12:80 -m
[root@node01 ~]# ipvsadm -a -t 192.168.5.4:80 -r 172.24.8.13:80 -m
# 查看集群节点
[root@node01 ~]# 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.5.4:80 rr
  -> 172.24.8.11:80               Masq    1      0          0         
  -> 172.24.8.12:80               Masq    1      0          0 
  -> 172.24.8.13:80               Masq    1      0          0 

三、测试

实现负载均衡!!!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/XY0918ZWQ/article/details/113859189