LVS NAT 模型配置实例

LVS 负载均衡

一、系统环境:

系统:Centos 6.5_64位

二、Director和Real Server的配置部署:

1台director server:VIP/外网ip:192.168.121.141 内网ip:172.16.2.31

2台real server:172.16.2.21       172.16.2.24  并且需要设置内网网关为director的内网ip:172.16.2.31

director server 2块网卡配置:

一块172.16.2.31 网卡为桥接模式

一块192.168.121.141 网卡为nat模式.

最好先安装好eple-release源

两个 real server 上都安装 nginx 服务
# yum install -y nginx
Director 上安装 ipvsadm
# yum install -y ipvsadm

两台real server的网卡配置:

Real Servcer1--172.16.2.24主机网卡配置:

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:7F:32:0F
TYPE=Ethernet
UUID=2d67590f-694e-4491-9e8c-d7757ca7e5c0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.16.2.24
PREFIX=24
GATEWAY=172.16.2.31

Real Server2--172.16.2.21主机网卡配置:

# cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:F9:9B:A8
TYPE=Ethernet
UUID=12ad4433-399f-4df2-b3c7-62d78444fa0d
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.16.2.21
PREFIX=24
GATEWAY=172.16.2.31

三、简单了解Iptables规则:

iptables内置了4个表,即raw表、filter表、nat表和mangle表,分别用于实现包过滤,网络地址转换和包重构的功能。

主要用于网络地址转换NAT,该表可以实现一对一,一对多,多对多等NAT 工作,iptables就是使用该表实现共享上网的,NAT表包含了PREROUTING链(修改即将到来的数据包),POSTROUTING链(修改即将出去的数据包),OUTPUT链(修改路由之前本地生成的数据包)

iptables 参数:

-n:以数字的方式显示ip,它会将ip直接显示出来,如果不加-n,则会将ip反向解析成主机名。

-v:显示详细信息

-L:查看iptables规则列表

-s --source      源地址或子网>   指定数据包匹配的源地址

四、lvs/nat 配置:

LB集群是load balance 集群的简写,翻译成中文就是负载均衡集群;

LVS是一个实现负载均衡集群的开源软件项目;

LVS架构从逻辑上可分为调度层(Director)、server集群层(Real server)和共享存储层;

LVS可分为三种工作模式:

NAT:(调度器将请求的目标ip即vip地址改为Real server的ip, 返回的数据包也经过调度器,调度器再把源地址修改为vip)

TUN:(调度器将请求来的数据包封装加密通过ip隧道转发到后端的real server上,而real server会直接把数据返回给客户端,而不再经过调度器)

DR:(调度器将请求来的数据包的目标mac地址改为real server的mac地址,返回的时候也不经过调度器,直接返回给客户端)

LVS的调度算法:

轮叫调度(Round Robin)(简称rr)

加权轮叫(Weighted Round Robin)(简称wrr)

最少链接(least connection)(lc)

加权最少链接(Weighted Least Connections)(wlc) 等等;

五、Director 调度器的配置:

#创建脚本并添加如下规则:

[[email protected] sbin]# cat /usr/local/sbin/lvs_nat.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
iptables -t nat -F
iptables -t nat -X
#MASQUERADE 改写封包来源IP为防火墙的IP,可以指定port 对应的范围,进行完此处理动作后,直接跳往下一个规则链(mangle:postrouting)。
iptables -t nat -A POSTROUTING -s 172.16.2.0/24  -j MASQUERADE
IPVSADM=‘/sbin/ipvsadm‘
$IPVSADM -C
$IPVSADM -A -t 192.168.121.141:80 -s wlc
$IPVSADM -a -t 192.168.121.141:80 -r 172.16.2.21:80 -m -w 2
$IPVSADM -a -t 192.168.121.141:80 -r 172.16.2.24:80 -m -w 1

#添加完成后运行次脚本就完成了lvs/nat的配置了.

#sh lvs_nat.sh

六、查看ipvs规则是否生效:

[[email protected] ~]# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 171 packets, 10777 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    1   136 MASQUERADE  all  --  *      *       172.16.2.0/24        0.0.0.0/0           
Chain OUTPUT (policy ACCEPT 1 packets, 136 bytes)
 pkts bytes target     prot opt in     out     source               destination         

------------------------------------------------------------------------------------------ 
[[email protected] ~]# ipvsadm
ipvsadm          ipvsadm-restore  ipvsadm-save     

-----------------------------------------------------------------------------------------
[[email protected] ~]# 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.121.141:80 wlc
  -> 172.16.2.21:80               Masq    2      0          0         
  -> 172.16.2.24:80               Masq    1      0          0         
[[email protected] network-scripts]# /etc/init.d/nginx stop
Stopping nginx:                                            [  OK  ]

Nginx 下面可以直接放一个文件做测试,截图丢失就不展示了.

时间: 2024-10-18 10:33:01

LVS NAT 模型配置实例的相关文章

LVS NAT模型配置示例

1.LVS-NAT基于Cisco的LocalDirector.VS/NAT不需要在RealServer上做任何设置,其只要能提供一个tcp/ip的协议栈即可,甚至其无论基于什么OS. 2.基于VS/NAT,所有的入站数据包均由Director进行目标地址转换后转发至内部的RealServer,RealServer响应的数据包再由Director转换源地址后发回客户端. 3.VS/NAT模式不能与netfilter兼容,因此,不能将VS/NAT模式的Director运行在netfilter的保护范

LVS集群DR、NAT模型配置, 及使用ldirectord完成LVS DR模型集群搭建

首先我们有三台主机:其中172.16.192.168作为前台主机:另外172.16.254.18和172.16.254.105作为后端主机,作为测试分别运行有web服务,并测试可用,如下图. 一.LVS NAT模型集群配置实验 1.首先在后端Real Server上设置默认网关,执行前端Virtual Server 2.在前端Virtual Server上开启路由转发功能 3.配置前端LVS集群 4.测试 总结:经过初步测试,我们可以看出已经可以实现rr轮询调度,修改相应的调度算法则可以实现不同

LVS—NAT群集配置

LVS是4(传输)层群集解决方案NAT,DR,TUN,FULLNAT四种模型本文主要介绍NAT模型 NAT模型的特性 RealServer应该使用私有IP地址,节约IP地址: RealServer的网关应该指向DirectorIP: RIP和DIP应该在同一个网段内: 进出的报文都得经过DirectoryServer,在高负载下,DirectoryServer会成为系统性能瓶颈,所以可能只适用于中小企业: 支持端口映射: RealServer可以使用任意OS: ipvsadm 用法基本介绍 命令

LVS NAT模式配置

准备环境:CentOS6.5 至少需要三台虚拟机:LVS Server  RealServerA RealServerB 网络配置: 在LVS Server上配置两个IP,内网IP(192.168.20.20)外网IP(192.168.3.116) 两台RealServer分别配置内网IP(A:192.168.20.21,B:192.168.20.22)且网关GATEWAY设置为LVS Server内网IP. 环境:两台RealServer要使用nginx或者apache作为服务,本例用ngin

LVS DR模型配置示例

要让路由知道哪台主机是Director,进行选择: 1.VIP:MAC(Director VIP) -- MAC绑定,但未必可行,例如路由是运营商的. 2.arptables 3.kernel parameter(常用此配置): arp_ignore:定义接收到ARP请求时的响应级别: 0:默认级别,只要本机配置有相应的地址,就给予响应: 1:只有当请求目标地址是请求到达接口上配置的地址,才给予响应: arp_announce:定义将自己的地址向外通告时的通告级别: 0:默认级别,将本机任何接口

keepalived与lvs结合使用配置实例

keepalived可以实现两大功能是:健康检测和故障转移 keepalived.conf的配置 global_defs {    notification_email {     [email protected]     [email protected]     [email protected]    }    notification_email_from [email protected]    smtp_server 192.168.200.1    smtp_connect_ti

LVS NAT模型实现

1.测试环境操作系统:CentOS6.5director:    eth0,VIP:172.16.100.1    eth1,DIP:192.168.220.110(hostonly)realserver1:192.168.220.111(hostonly)realserver2:192.168.220.112(hostonly)2.realserver配置1).安装需要配置成集群服务的服务2).配置realserver默认网关指向DIP3.director安装与配置1).安装ipvsadm y

LVS介绍、LVS调度算法、LVS NAT模式搭建

一:LVS介绍和LVS调度算法 LB 集群的架构如下图,原理也很简答,就是当用户的请求过来时,会直接发到分发器(Director Server)上,然后它把用户的请求根据预先设置好的算法,智能均衡地分发到后端的真正服务器(real server)上.如果不同的机器,可能用户请求到的数据不一样,为了避免这样的情况发生,所以用到了共享存储,这样保证所有用户请求的数据是一样的. LVS 是一个实现负载均衡集群的开源软件项目,LVS 架构从逻辑上可分为调度层(Director).server集群层(Re

LVS NAT和DR的负载均衡,及算法

LVS负载均衡集群介绍负载均衡集群的作用:提供一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载带宽.增加吞吐量,加强网络数据处理能力.提高网络的灵活性和可用性.1)把单台计算机无法承受的大规模的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,提升用户体验.2)单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高.3)7*24小时的服务保证,任意一个或多个设备节点设备宕机,不能影响到业务.在负载均