实战-LVS-NAT集群模式

实战-LVS-NAT集群模式

1. LVS-NAT 模式工作原理

客户端访问调度器时,调度器通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。

如图:

步骤1:客户端访问VIP1的网站

 

 

 

图上各IP注解:

CIP  客户端的IP

VIP  是域名解析的IP, 是集群对外的公网IP

DIP  用来和后端服务器进行数据交互的IP, 请求报文转发给后端服务器从此口出去

RIP  真实服务器的IP

步骤2:客户端访问调度器时,调度器通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;

  

 

 

步骤3:真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。

 

 

步骤总结及过程地址变化:

1: 客户端请求访问www.example.com[www.example.com  ===>  VIP]

               源地址: CIP   目标地址: VIP

              

        2: 请求报文到达负载均衡器

               源地址: CIP   目标地址: RIP

              

        3: RealServer收到报文处理, 响应

               源地址: RIP            目标地址: CIP

              

        4: 负载调度器收到报文, 根据自身之前的转发修改记录, 还原报文

               源地址: VIP            目标地址: CIP

 

2.实战-LVS-NAT集群

 

 

 

原理简图:

 

 

 

 

 拓扑图:

 

 

部署安装

 1、IP地址规划:

服务器ip类型 IP注:
dirctor分发器VIP10.27.17.91ens33  客户端可以访问
DIP192.168.8.1ens37  与web服务器同一网段
realserver1(web1)RIP192.168.8.2ens33与DIP在一个网段,并且网关是DIP
realserver1(web2)RIP192.168.8.3ens33 与DIP在一个网段,并且网关是DIP
clientCIP10.27.17.41可以访问VIP地址

 

 

 

 

 

2、配置网络环境

[root@dirctor ~]# vim /etc/sysctl.conf  

改:net.ipv4.ip_forward = 0

为:net.ipv4.ip_forward = 1

让配置生效:

[root@dirctor ~]#  sysctl -p

 

添加一个网卡(需要两张网卡), 配置成以下网络环境:

ens33  10.27.17.91  模式:桥接模式    模拟公网

ens37  192.168.8.1  模式:LAN1       模拟内网

[root@dirctor ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=288e688f-dd28-46f7-9ce2-debee7c1ce34
DEVICE=ens33
ONBOOT=yes
IPADDR=10.27.17.91
NETMASK=255.255.255.0
GATEWAY=10.27.17.1
DNS1=61.139.2.69

[root@dirctor ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens37

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
DEVICE=ens37
ONBOOT=yes
IPADDR=192.168.8.1
NETMASK=255.255.255.0

3 安装: LVS管理工具:ipvsadmin

[root@dirctor ~]# yum install ipvsadm  

[root@dirctor ~]# systemclt enable ipvsadm

4、使用ipvsadm命令设置规则

[root@dirctor ~]#  ipvsadm -A -t 10.27.17.91:80 -s rr       #rr代表轮循 

选项:

        -A 添加虚拟服务器

 -t 表示TCP的服务  VIP:PORT

 -s 指定调度算法  rr表示round-robin 轮循

 

[root@dirctor ~]#  ipvsadm -a -t 10.27.17.91:80 -r 192.168.8.2 -m

[root@dirctor ~]#  ipvsadm -a -t 10.27.17.91:80 -r 192.168.8.3 -m

选项:

 -a 表示添加real server的地址

 -r 指定real server的IP地址

 -m 表示masquerade 也就是NAT方式的LVS

查看

[root@dirctor ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.27.17.91:80 rr
-> 192.168.8.2:80 Masq 1 0 0
-> 192.168.8.3:80 Masq 1 0 0

 

5、realserver 配置安装

 

[root@realserver1 ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens37

BOOTPROTO=none

NAME=ens37

DEVICE=ens37
ONBOOT=yes
IPADDR=192.168.8.2
NETMASK=255.255.255.0

GATEWAY=192.168.8.1

[root@realserver1 ~]yum install -y httpd

[root@realserver1 ~]echo "192.168.8.2" > /var/www/html/index.html  

[root@realserver1 ~]systemctl restart httpd

[root@realserver1 ~]systemctl enable httpd

realserver2 同上操作

 

6、测试

 

 

 

转载于:https://www.cnblogs.com/kezi/articles/11588508.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值