码迷,mamicode.com
首页 > 其他好文 > 详细

LVS负载均衡群集—地址转换模式(LVS-NAT)

时间:2020-10-12 20:33:10      阅读:19      评论:0      收藏:0      [点我收藏+]

标签:nat   保存   注意   实验   功能   编译   配置   sysconf   code   

LVS-NAT实验部署与原理

一、NAT转换模型

技术图片

二、原理:

技术图片

调度器的内网口是私网地址,作为下面服务器池中的网关,外网口直接暴露在互联网中,是客户端的http请求等的数据流量进站口,对于互联网客户端透明的是调度器外网口地址,外网口也是lvs虚拟服务器的搭建的地方,ipvsadm根据调度规则,调度后端实际响应http请求处理的web服务器,这里linux调度器要开启路由转发功能,让两个网卡之间(内网卡和外网卡能转发数据包)
因为后端私网web池网关指的是调度器内网卡地址,后端实际web主机响应的时候按照原路返回把数据包给自己网关网卡(调度器内网口网卡),然后调度器内网口把数据包转发给外网卡到外网口这儿,进行nat伪装,把私网地址修改成外网口地址,所以对于客户端而言,透明的是外网口地址,内网服务器源ip被隐藏了。

三、实验环境部署
客户端1 192.168.20.100
客户端2 192.168.20.200
Linux服务器一台
外网口 ens37 192.168.20.10 (LVS虚拟主机搭建处)
内网口 ens33 192.168.10.70
后端私网web节点1 192.168.10.50
后端私网web节点2 192.168.10.60
注:192.168.20.0段模拟公网

四、lVS—NAT配置
第一步:配置调度服务器
//加载LVS内核模块
LVS现在已成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。以下操作可以手动加载ip_vs模块,并查看当前系统中ip_vs模块的版本信息
[root@localhost ~]# modprobe ip_vs //加载ip_vs内核模块
[root@localhost ~]# cat /proc/net/ip_vs //查看ip_vs版本
[root@localhost ]# yum install ipvsadm -y //安装管理软件ipvsadm

//编辑调度服务器脚本
[root@localhost ~]# vi nat.sh
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -A -t 192.168.20.10:80 -s rr
ipvsadm -a -t 192.168.20.10:80 -r 192.168.10.50:80 -m
ipvsadm -a -t 192.168.20.10:80 -r 192.168.10.60:80 -m
ipvsadm -Ln //查看lVS虚拟主机、后端节点信息
技术图片

##注解:

echo "1" > /proc/sys/net/ipv4/ip_forward //默认是0,0表示服务器有多块网卡时候,不转发数据包,1表示转发,相当于服务器开启了路由功能
ipvsadm –C //清除内核虚拟服务器表中的所有记录
ipvsadm -A -t 192.168.20.10:80 -s rr //创建虚拟服务器
ipvsadm -a -t 192.168.20.10:80 -r 192.168.10.50:80 -m //添加服务器节点
ipvsadm -a -t 192.168.20.10:80 -r 192.168.10.60:80 -m //添加服务器节点
ipvsadm –Ln //查看节点状态,加个“-n”将以数字形式显示地址、端口信息

//选项注释:
"-A"表示添加虚拟服务器,
"-a"表示添加真实服务器
"-t"用来指定VIP地址及TCP端口
"-r"用来指定RIP地址及TCP端口
"-s"用来指定负载调度算法——rr(轮询)、wrr(加权轮询)、lc(最少连接)、wlc(加权最少连接)
"-m"表示使用NAT群集模式("-g"是DR模式,"-i"是TUN模式)

保存退出!执行脚本!
[root@localhost ~]# sh nat.sh

第二步:配置Web服务器

  1. 配置SERVER AA服务器(192.168.10.60)
    //安装http服务
    [root@localhost ~]# yum install -y httpd
    //编辑主配置文件
    [root@localhost ~]# vi /etc/httpd/conf/httpd.conf
    ServerName localhost //将“#”号去掉,修改主机名
    保存退出
    //配置默认显示网页
    [root@localhost ~]# cd /var/www/html/
    [root@localhost html]# echo "<h1>SERVER AA</h1>" > index.html

技术图片
[root@localhost html]# systemctl restart httpd //重启http服务
//私网web服务器网关指调度器内网卡192.168.10.70
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
最后添加一行:
GATEWAY=192.168.10.70
保存退出
[root@localhost ~]# systemctl restart network
//win7验证http服务
访问http://192.168.10.60

技术图片

  1. 配置SERVER BB服务器(192.168.10.50)
    //安装http服务
    [root@localhost ~]# yum install -y httpd
    //编辑主配置文件
    [root@localhost ~]# vi /etc/httpd/conf/httpd.conf
    ServerName localhost //将“#”号去掉,修改主机名
    保存退出
    //配置默认显示网页
    [root@localhost ~]# cd /var/www/html/
    [root@localhost html]# echo "<h1>SERVER BB</h1>" > index.html
    技术图片

[root@localhost html]# systemctl restart httpd //重启http服务
//私网web服务器网关指调度器内网卡192.168.10.70
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
最后添加一行:
GATEWAY=192.168.10.70
保存退出
[root@localhost ~]# systemctl restart network
//win7验证http服务
访问http://192.168.10.50

技术图片

第三步:访问验证
客户端1访问http://192.168.20.10

技术图片

客户端2访问http://192.168.20.10
技术图片

五、实验验证原理:
互联网客户端1请求192.168.20.10(lvs搭建在外网口的虚拟主机)
原理验证
技术图片

抓vm1网卡包
技术图片

抓vm2网卡包
技术图片

注意:NAT伪装是私网主机出站时把自己私网ip更改伪成公网地址的,所以进站时候源ip、目的ip该是多少就是多少

六、NAT模型的优缺点
优点:由于采取NAT转换所以内网服务器不暴露在公网上,减少了网络***风险
缺点:所有的流量都经过lvs调度器,lvs调取器同时也是网关服务器会成为网络带宽的瓶颈。

LVS负载均衡群集—地址转换模式(LVS-NAT)

标签:nat   保存   注意   实验   功能   编译   配置   sysconf   code   

原文地址:https://blog.51cto.com/14684198/2541190

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!