LVS/DR模型及持久连接

HostName AddressIP Role
VirtualIP DEV

LVS/DR 192.168.1.150/24 LVS,CA eth0:0 192.168.1.250
node2 192.168.1.120/24 RealServer(httpd)
lo:0 192.168.1.250

node3 192.168.1.130/24 RealServer(httpd) lo:0 192.168.1.250

1)DR模型配置前的准备

两RealServer配置如下(一摸一样):

[[email protected] ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
[[email protected] ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
[[email protected] ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
[[email protected] ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
[[email protected] ~]# ifconfig lo:0 192.168.1.250 broadcast 192.168.1.250 netmask 255.255.255.255 up
[[email protected] ~]# route add -host 192.168.1.250 dev lo:0
[[email protected] ~]# ifconfig lo:0
lo:0      Link encap:Local Loopback  
          inet addr:192.168.1.250  Mask:255.255.255.255
          UP LOOPBACK RUNNING  MTU:16436  Metric:1

LVS/DR配置

[[email protected]/DR ~]# ifconfig eth0:0 192.168.1.250 broadcast 192.168.1.250 netmask 255.255.255.255 up
[[email protected]/DR ~]# route add -host 192.168.1.250 dev eth0:0

2)Apache安装好了验证是否能够访问(安装过程略)

[[email protected]/DR ~]# curl 192.168.1.120
ipvsadm 2
[[email protected]/DR ~]# curl 192.168.1.130
ipvsadm 3

3)创建负载均衡群集

[[email protected]/DR ~]# ipvsadm -A -t 192.168.1.250:80 -s rr
[[email protected]/DR ~]# ipvsadm -a -t 192.168.1.250:80 -r 192.168.1.120 -g
[[email protected]/DR ~]# ipvsadm -a -t 192.168.1.250:80 -r 192.168.1.130 -g
[[email protected]/DR ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.250:80 rr
  -> 192.168.1.120:80             Route   1      0          0         
  -> 192.168.1.130:80             Route   1      0          0

验证群集是否配置成功

到此一个简单的DR模型就配置成功了

配置持久连接这里我们将80,443端口绑定在一起这就会用mangle搭上一个标记

5)安装mod_ssl模块

[[email protected] ~]# yum install mod_ssl

6)申请证书

1 创建CA证书颁发机构
[[email protected]/DR CA]# (umask 077;openssl genrsa 1024 > private/cakey.pem)  创建私钥
Generating RSA private key, 1024 bit long modulus
.................................++++++
..................................++++++
e is 65537 (0x10001)
自签证书
[[email protected]/DR CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:CQ
Locality Name (eg, city) [Default City]:chongqing
Organization Name (eg, company) [Default Company Ltd]:MT
Organizational Unit Name (eg, section) []:teach
Common Name (eg, your name or your server‘s hostname) []:ca.mictiger.com
Email Address []:
[[email protected]/DR CA]# ls
cacert.pem  certs  crl  newcerts  private
[[email protected]/DR CA]# touch index.txt
[[email protected]/DR CA]# touch serial
[[email protected]/DR CA]# echo 01 > serial
2 RealServer生成证书签署请求
生成私钥
[[email protected] conf]# mkdir ssl
[[email protected] ssl]# (umask 077;openssl genrsa 1024 > apache.key)
Generating RSA private key, 1024 bit long modulus
................++++++
....++++++
e is 65537 (0x10001)
证书签署请求
[[email protected] ssl]# openssl req -new -key apache.key -out apache.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:CQ
Locality Name (eg, city) [Default City]:chongqing
Organization Name (eg, company) [Default Company Ltd]:MT
Organizational Unit Name (eg, section) []:teach
Common Name (eg, your name or your server‘s hostname) []:192.168.1.250
Email Address []:

Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
 scp apache.csr [email protected]:/tmp
3 CA签署证书
[[email protected]/DR tmp]# openssl ca -in apache.csr -out apache.crt -days 365
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Nov 23 04:53:26 2014 GMT
            Not After : Nov 23 04:53:26 2015 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = CQ
            organizationName          = MT
            organizationalUnitName    = teach
            commonName                = 192.168.1.250
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                22:5E:3C:6D:27:5A:94:9A:E7:F2:35:0F:76:5A:C0:D6:80:1F:E7:8E
            X509v3 Authority Key Identifier: 
                keyid:CD:4E:2E:C5:F7:BF:B3:6F:5E:23:C7:FB:A6:3B:52:71:6C:70:3A:90

Certificate is to be certified until Nov 23 04:53:26 2015 GMT (365 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

[[email protected]/DR tmp]# scp apache.crt [email protected]:/etc/httpd/conf/ssl
apache.crt                                100% 3047     3.0KB/s   00:00  
4 配置Apache的https服务
/etc/httpd/conf.d/ssl.conf    配置如下几个选项
DocumentRoot "/var/www/html"
SSLCertificateFile /etc/httpd/conf/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl/apache.key
5 copy node3的ssl配置到node2并重启httpd服务
[[email protected] httpd]# scp conf.d/ssl.conf [email protected]:/etc/httpd/conf.d
[[email protected] httpd]# scp -rp conf/ssl/ [email protected]:/etc/httpd/conf/ssl/

验证https服务是否配置成功

7)配置iptables和ipvsadm

mangle表
[[email protected]/DR ~]# iptables -t mangle -A PREROUTING -d 192.168.1.250 -p tcp --dport 80 -j MARK --set-mark 80
[[email protected]/DR ~]# iptables -t mangle -A PREROUTING -d 192.168.1.250 -p tcp --dport 443 -j MARK --set-mark 80
定义群集
[email protected]/DR ~]# ipvsadm -A -f 80 -s rr -p
[[email protected]/DR ~]# ipvsadm -a -f 80 -r 192.168.1.130 -g
[[email protected]/DR ~]# ipvsadm -a -f 80 -r 192.168.1.120 -g
[[email protected]/DR ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
FWM  80 rr persistent 360
  -> 192.168.1.120:0              Route   1      0          0         
  -> 192.168.1.130:0              Route   1      0          0

时间: 2024-10-25 22:28:09

LVS/DR模型及持久连接的相关文章

马哥学习笔记二十一——LVS DR模型

kernel parameter: arp_ignore: 定义接收到ARP请求时的响应级别: 0:只要本地配置的有相应地址,就给予响应: 1:仅在请求的目标地址配置请求到达的接口上的时候,才给予响应: arp_announce:定义将自己地址向外通告时的通告级别: 0:将本地任何接口上的任何地址向外通告: 1:试图仅向目标网络通告与其网络匹配的地址: 2:仅向与本地接口上地址匹配的网络进行通告: curl命令选项: --cacert <file> CA证书 (SSL) --capath &l

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原理、lvs调度及nat模型实现、lvs dr模型及lxc虚拟化

1.大规模站点构建框架.        http:状态               keep-alive:长连接               cookie:session          cluster:集群                 构建高可扩展性系统的重要原则:在系统内部尽量避免串行化和交互                 HA:High Availability                 LB:Load Balancing                 session复制 

LVS DR模型配置示例

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

keepalived配置基于lvs DR模型的HA

基本架构图如下:  平台环境:centos6.x1.    安装keepalived.安装ipvsadmyum –y install keepalived  ipvsadm 2.    配置服务2.1 lvs realserver 配置脚本#!/bin/bashVIP1=192.168.1.199case "$1" instart)echo " start LVS of REALServer"/sbin/ifconfig lo:0 $VIP1 broadcast $

linux集群之LVS DR模型简单实现

众所周知,LVS集群类型有NAT.DR和TUN,今天写这篇文章主要是看了马哥的视频,然后通过写博客的形式来回顾下自己还记得多少,写的不好,欢迎来喷! DR:集群节点跟director必须在同一个物理网络中: RIP可以使用公网地址,实现便捷的远程管理和监控: director仅负责处理入站请求,响应报文则由realserver直接送往客户端: 与NAT不用DR中的realserver不能将网关DIP: 不支持端口映射 实验环境: director centos6.7 eth0 192.168.1

LVS DR模型环境搭建

一.简易拓扑如下: 二.配置的简单说明: Director的HA暂不使用,仅10.1.1.11上线,使用管理工具ipvsadm配置指令如下: 1.Director常规配置 正常配置IP,检查防火墙开启相关端口,如无其他需求,推荐直接关闭 setenforce 0 修改SElinux运行模式(非必要操作) 2.Director配置VIP ifconfig  eth0:1  10.1.1.100/24 up    (ifconfig eth0:1 10.1.1.100 broadcast 10.1.

LVS DR模型的实现模拟

实验环境:4台虚拟机,安装CentOS6.5系统.实验前注意要将各虚拟机的防火墙规则都改为Permissive,关闭selinux,时间同步.模拟时,DIP和RIP在同一个网段,与VIP不在同一个网段. 实验用拓扑图: 先说一下自己的实验中的感受:在实际的应用中,如果这种应用确实可行的话,实验中的Director和Router两个设备实际上应该是一个设备,很多时候会是一个多接口的防火墙设备,可以配置多个公网IP地址同时具有多个内网接口,用于与内网的不同网段之间的主机通信使用. 设备配置,(各虚拟

LVS DR模型的realserver脚本

#!/bin/bash #description : Start Real Server VIP=192.168.115.115 /etc/init.d/functions case   "$1"  in start) echo "Start  LVS  of   Real  Server" /sbin/ifconfig  lo:0  $VIP broadcast  $VIP  netmask 255.255.255.255  up echo  "1&qu