设为首页 收藏本站
查看: 2342|回复: 0

[经验分享] LVS/DR+ssl+mysql实现

[复制链接]

尚未签到

发表于 2019-1-3 12:45:07 | 显示全部楼层 |阅读模式
  一、LVS/DR简单介绍
企业常用模型
DR(Direct Routing)直接路由模式。LB收到请求包后,将请求包中目标MAC地址转换为某个选定RSMAC地址后将包转发出去,RS收到请求包后 ,可直接将应答内容传给用户。此时要求LB和所有RS都必须在一个物理段内,LBRS群共享一个虚拟IP
lvs-dr模型特征 (常用)
1、集群节点必须在一个物理网络上(mac)
2rip可以使用公网地址
3director处理入站请求,
4realserver网关不指向director
5、不支持端口映射
6、大多数操作系统支持realservers
7dr dirctor nat director性能优越

二、实验说明 实验拓朴图

172.16.23.10LVS与互联网通信的物理地址,简称为DIP
172.16.23.1LVS与内部真实服务器通信的地址,简称为VIP
172.16.23.12172.16.23.12就是LVS通过一些调度算法,选择服务器响应的真实服务器web地址,这两个服务器上还有一个lo上网卡别名lo:0 172.16.23.1 即跟VIP地址一样 webnginx+php
172.16.23.7 mysql服务器地址
本次实验主要是通过LVS这个负载均衡通过一些调度算法,对web进行负载均衡,而且是可进行加密进行,即实现ssl,并且通过web1,web2分别安装pam进行对mysql这台服务器进行管理。都是桥接
三、实现过程
1、构建web1,web2这两台服务器,上一篇博客已经写过,这里只进行ssl说明。
Web1上先CA证书
cd /etc/pki/CA
vim ../tls/openssl.cnf  修改一些参数找到 [CA_default] dir 设置为dir = /etc/pki/CA
(umask 077;openssl genrsa 1024>private/cakey.pem)
openssl req -new -x509 -key private/cakey.pem -out cacert.pem
mkdir newcerts certs crl
touch index.txt
echo 01>serial
echo 01>crlnumber
2web1httpd证书
cd /etc/httpd/conf
mkdir ssl
cd ssl
(umask 077;openssl genrsa 1024 > httpd.key)
openssl req -new -key httpd.key -out httpd.csr
3、向CA即自已申请证书
openssl ca -in httpd.csr -out httpd.crt
ca进行签发
4、修改配置文件即/etc/nginx/nginx.conf 肉容中下
   server {
        listen       443;
        server_name  www.server1.com;

        ssl                  on;
        ssl_certificate      /etc/httpd/ssl/httpd.crt;  /httpd证书
        ssl_certificate_key  /etc/httpd/ssl/httpd.key;  /证书私钥

        ssl_session_timeout  5m;

        ssl_protocols  SSLv2 SSLv3 TLSv1;
           #ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM
      #  ssl_prefer_server_ciphers   on;     这两项先不起用

        location / {
            root   /www;
            index index.php  index.html index.htm;   //添加index.php
}  
        location ~ \.php$ {
            root           /www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            fastcgi_param  HTTPS on ;     /这里要添加如下内容,启用https
include        fastcgi_params;
        }  
    }  

}
5、安装mysql图形管理工具
1 需要在网上下载phpMyAdmin-2.11.10-all-languages
Tar xf phpMyAdmin-2.11.10-all-languages –C /     //解压到根目录下
mv  phpMyAdmin-2.11.10  www       /www 即是本地网页存放目录
2  cd /www  添加配置文件
cp config.sample.inc.php config.inc.php
3   vim config.inc.php 修改以下参数
$cg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['host'] = '172.16.23.7';
     //mysql的主机ip地址
$cfg['blowfish_secret'] = '';修改为$cfg['blowfish_secret'] = 'fsfsfsfs';
//这里随便写些值,主要是cookier加密,不改无法登录。
4)验证访问
http://172.16.23.11
输入mysql服务器上边的
用户名:pam
及密码:12345
登录成功
Web2设置类似,这里不再书写!
6mysql服务器进行设置
进入mysql命令行,给web1,web2授权访问数据库
grant all privileges on  *.* to pam@172.16.23.11 identified by '12345';
grant all privileges on  *.* to pam@l72.16.23.12 identified by '12345';
flush privileges;
7web1登录pam时出现问题及解决方法
Cookies 必须启用才能登入。
多次尝试无法登录,修改多次config.inc.php无结果。
最后上网查可能是时间有问题。
我就在不能登录的那台服务器看,时间错了两个月
Date 0414220812.33   //月日时分年秒
Hwclock –w     //指设置好的系统时间同步到硬件里
进行尝成功!
8LVS/DR设置
持久防火墙标记包持久性
实现将同一个服务的不同端口定向到同一个realserver
即客户端请求发往80,及443端口都将由LVS通过算法定向到同一个realserver
ipvsadm -C
iptables -t mangle -L -n

iptables -t mangle -A PREROUTING  -i eth0 -p tcp -d 172.16.23.1  --dport 80 -j MARK --set-mark 20   [0-99整数]   //定义标记
iptables -t mangle -A PREROUTING  -i eth0 -p tcp -d 172.16.23.1  --dport 443 -j MARK --set-mark 20    [0-99]

iptables  定义集群,及集群服务列表
ipvsadm -A -f 20 -s rr  -p 1200         //DR持久连接
ipvsadm -a -f 20 -r 172.16.23.11 -g -w 3
ipvsadm -a -f 20 -r 172.16.23.12 -g -w 2
ipvsadm -Ln
9、 进行验证
Xp客户端浏览器输入 http://172.16.23.1,出现如下内容。

成功!
mysql服务器上进行ab测试
ab -c 100 -n 5000 http://172.16.23.1/index.php
LVS服务器上查看,ipvsadm –Lcn
至此整个过程完成!!!




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658997-1-1.html 上篇帖子: keepalive构建高可用LVS集群 下篇帖子: LVS简介及其调度算法说明
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表