负载均衡-LVS单节点NAT模式安装

  • A+
所属分类:网络技术

我们通过VMware虚拟机,准备两台虚拟主机,一台作为LVS节点,另外一台安装了Nginx(我这里用的Windows的Simple Web Server代替的)的服务器作为Real Server节点。

组网拓扑如下:

负载均衡-LVS单节点NAT模式安装

LVS Server节点

LVS Server:LSV Server有两张网卡。

eth1:172.16.100.2:这张网卡对应一个封闭的内网,不能访问外网资源,外网也不能直接通过这个IP访问这台主机;

eth0:172.16.200.1:这张网卡设置的IP可以访问外网,也可以被外网访问。eth1的网关:172.16.200.254。

网卡配置信息如下:

负载均衡-LVS单节点NAT模式安装 负载均衡-LVS单节点NAT模式安装

配置完成之后,要重启network服务生效(重启命令自行百度)。

确定LVS Server的外网网关工作正常,另外通过route命令检查路由表。

负载均衡-LVS单节点NAT模式安装

 

Real Server节点

Real Server:Real Server有一张网卡,在一个封闭的内网环境中。

eth0:172.16.100.1:这样LVS Server和Real Server就组成了一个相对封闭的局域网络。注意按照我们介绍的NAT原理,Real Server的eth0的默认网关要设置成Lvs Server:172.16.100.2。

在Real Server上运行了一个Nginx程序,在80端口上。这样以便在后续的过程中,测试LVS-NAT的工作是否正常。

Real Server的网卡配置信息如下:

负载均衡-LVS单节点NAT模式安装

注意:一定要注意Real Server的网关设置为LVS的IP地址:172.16.100.2。然后检查WEB服务是否正常:

负载均衡-LVS单节点NAT模式安装

完成准备工作之后,我们开始安装和配置LVS了。

 

安装和配置LVS-NAT模式

ipvsadm是一个LVS的管理程序。我们队LVS的配置都是通过这个管理程序进行实现的。首先我们要安装ipvsadm:

yum -y install ipvsadm

 

然后开始配置。首先我们要设置LVS机器支持IP转发功能。注意默认IP转发功能是关闭的,重启机器后,又会关闭:

echo 1 >> /proc/sys/net/ipv4/ip_forward

 

然后我们查看一下,是否改写成功:

cat /proc/sys/net/ipv4/ip_forward(显示为1即为改写成功)

 

注意,如果您使用vim或者vi命令,改写文件,是不会成功的。因为这个文件存在于内存。不在硬盘上。所以只能通过echo这样的命令改写。

接下来执行如下的命令:

ipvsadm -At 172.16.200.1:80 -s rr

ipvsadm -at 172.16.200.1:80 -r 172.16.100.1 -m

 

详细参数如下:

-A --add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也就是增加一台新的虚拟服务器;

-t --tcp-service service-address 说明虚拟服务器提供的是tcp 的服务;

-s --scheduler scheduler 使用的调度算法,可选项包括:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq;

-r --real-server server-address 真实的服务器[Real-Server:port];

-m --masquerading 指定LVS 的工作模式为NAT 模式。

 

测试效果如下:

负载均衡-LVS单节点NAT模式安装

我们在相对于Real Server的外网,通过172.16.200.1的LVS Server IP访问到了Real Server上的Nginx服务、安装和配置成功。

注意:

刚才使用ipvsadm配置的信息,在LVS服务器重启后,就会失效。包括ip_forward的配置。所以,最好制作一个脚本文件,并加入到/etc/profile中:

vim /usr/lvsshell.sh

#!/bin/bash

echo 1 > /proc/sys/net/ipv4/ip_forward

ipvsadm -C

ipvsadm -At 172.16.200.1:80 -s rr

ipvsadm -at 172.16.200.1:80 -r 172.16.100.1 -m

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: