keepalived

企业keepalived服务应用:

实践案例一:更改nginx反向代理只监听vip地址

企业keepalived服务应用:

实践案例一:更改nginx反向代理只监听vip地址 s

实现

10.0.0.3/nana.html 可以使用

10.0.0.5/nana.html 不可以使用

10.0.0.6/nana.html 不可以使用

 

第一个里程碑:修改反向代理服务配置文件,只监听vip地址

####lb01 lb02 nginx.conf

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

upstream server_pools {

server 10.0.0.7;

server 10.0.0.8;

server 10.0.0.9;

}

 

server {

listen 10.0.0.3:80;

server_name www.etiantian.org;

location / {

proxy_pass http://server_pools;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $remote_addr;

}

access_log logs/access_www.log main;

}

server {

listen 10.0.0.3:80;

server_name blog.etiantian.org;

location / {

proxy_pass http://server_pools;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $remote_addr;

}

access_log logs/access_blog.log main;

}

}

说明:在修改反向代理服务器配置文件监听地址时,多个server都需要配置监听地址,否则仍旧使用默认监听所有

 

 

第二个里程碑:lb02上不存在vip地址,无法监听,需要修改内核文件

[root@lb01 conf]# /application/nginx/sbin/nginx -t

nginx: the configuration file /application/nginx-1.10.2/conf/nginx.conf syntax is ok

nginx: [emerg] bind() to 10.0.0.3:80 failed (99: )

nginx: configuration file /application/nginx-1.10.2/conf/nginx.conf test failed

[root@lb01 conf]# ip a s eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:27:4e:e9 brd ff:ff:ff:ff:ff:ff

inet 10.0.0.5/24 brd 10.0.0.255 scope global eth0

inet6 fe80::20c:29ff:fe27:4ee9/64 scope link

valid_lft forever preferred_lft forever

[root@lb01 conf]# ###nginx 没有办法 监听 本地不存在的ip地址

 

解决方法:

echo 'net.ipv4.ip_nonlocal_bind = 1' >>/etc/sysctl.conf ---实现监听本地不存在的ip地址

##/etc/sysctl.conf 加上

sysctl -p

 

echo "1" >/proc/sys/net/ipv4/ip_nonlocal_bind

 

第三个里程碑:进行测试

企业实践案例二:让keepalived监控nginx反向代理服务

###vip什么时候 什么条件 才会飘走 ?

1.当服务器宕机

2.防火墙

 

#### nginx挂了

如何让keepalived监控nginx nginx挂了,keepalived跟着殉情

 

####第一个里程碑-keepalived监控nginx条件

1.如何nginx挂了---我如何知道nginx挂了?

1)端口

2)进程

ps -ef |grep nginx |grep -v grep |wc -l

ps -ef |grep [n]ginx |wc -l

2.keepalived挂了

/etc/init.d/keepalived stop

##> -gt greater than

##>= -ge greater equal

##< -lt less than

##<= -le less equal

##== -eq equal

##!= -ne no equal

 

####第二个里程碑-根据条件-书写脚本

[root@lb01 scripts]# cat check_web.sh (名称不能写关于有nginx字母的会过滤出来)

#!/bin/bash

 

nginx_info=$(ps -ef |grep -c [n]ginx)

 

if [ $nginx_info -lt 2 ];then

echo "stop keepalived"

/etc/init.d/keepalived stop

else

echo "nginx running"

fi

####第三个里程碑-添加权限

[root@lb02 conf]# chmod +x /server/scripts/check_web.sh

[root@lb02 conf]# ll /server/scripts/check_web.sh

-rwxr-xr-x 1 root root 174 Mar 30 17:47 /server/scripts/check_web.sh

 

####第四个里程碑-测试

[root@lb01 scripts]# /server/scripts/check_web.sh

nginx running

[root@lb01 scripts]#

 

####第五个里程碑-放入到keepalived.conf

####下面是lb02的配置文件 lb01上面自己修改下。

global_defs {

router_id LVS_02

}

 

vrrp_script check_web {

script "/server/scripts/web_jiankong.sh" --- 表示将一个脚本信息赋值给变量check_web

interval 2 --- 执行监控脚本的间隔时间

weight 2 --- 利用权重值和优先级进行运算,从而降低主服务优先级

使之变为备服务器(建议先忽略)

}

vrrp_instance VI_1 {

state BACKUP

interface eth0

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

10.0.0.3/24 dev eth0 label eth0:1

}

track_script {

check_web

}

}

 

####第六个里程碑-测试

 

注释:如果weight 的参数是正数一般的话设置在备份的负载均衡服务器上,如果参数是负数一般是设置在主负载均衡服务上

企业实践案例三:keepalived多实例配置

####第一个里程碑-配置keepalived-配置双主

####lb01

#lb01

global_defs {

router_id lb01

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 51

priority 150

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

10.0.0.3/24 dev eth0 label eth0:1

}

}

vrrp_instance lb02 {

state BACKUP

interface eth0

virtual_router_id 52

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

10.0.0.4/24 dev eth0 label eth0:2

}

}

#lb02

global_defs {

router_id lb01

}

vrrp_instance VI_1 {

state BACKUP

interface eth0

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

10.0.0.3/24 dev eth0 label eth0:1

}

}

vrrp_instance lb02{

state MASTER

interface eth0

virtual_router_id 52

priority 150

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

10.0.0.4/24 dev eth0 label eth0:2

}

}

####第二个里程碑-配置nginx 负载均衡

####lb01 lb02 nginx.conf

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

upstream server_pools {

server 10.0.0.7;

server 10.0.0.8;

server 10.0.0.9;

}

server {

listen 10.0.0.3:80;

server_name www.etiantian.org;

location / {

proxy_pass http://server_pools;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $remote_addr;

}

access_log logs/access_www.log main;

}

server {

listen 10.0.0.4:80;

server_name blog.etiantian.org;

location / {

proxy_pass http://server_pools;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $remote_addr;

}

access_log logs/access_blog.log main;

}

}

 

#########第三个里程碑-windows hosts解析

10.0.0.3 www.etiantian.org

10.0.0.4 bbs.etiantian.org

 

#########第四个里程碑-浏览器进行测试

对称加密算法常见的有

最早期的称为DES(Data Encryption Standard),是美国国家安全局征集加密算法时,由一

个美国公司提出的,是公开可以使用的,使用的是56位的密钥长度,但是由于计算机的发

展,可以使用计算机对56 位的密钥进行暴力破解了 因此DES渐渐不再被使用。4

0一种新的算法,将DES 加密后,再进行一次DES加密,然后再进行一次DES,称为3DES

算法,是目前使用比较多的加密算法。

更安全的加密算法,AES( 高级加密标准)加密算法产生,默认使用128位的加密密钥,但

是也有特殊的AES (AES192 AES256 AES512 等),密钥越长安全性提高的同时,加密效

率就会降低,因此应该选择比较合适的加密算法。

blowfish 加密算法,加密不是按位进行加密的,而是将数据分成大小相同的数据块进行加密

的。

单向加密算法知识总结

单项加密算法常见的有:+

DH 加密算法,主要用于密钥的协商交换。

MD4 MD5(128)4

SHA1(160) SHA(192) SHA(256) SHA(384)4

CRC-32(循环输出校验码),不是加密机制,只是一种校验机制,不提供安全性,正常加密算法是不允许出现输入不一样,输出一样的情况,但CRC 是可以有这样情况的,因为CRC 只

是具有校验功能,不具有加密功能。

单项加密算法的特征

数据输入一样,特征码信息输出必然相同。

雪崩效应,输入的微小改变,将造成输出的巨大改变。

定长输出,无论源数据多大,但结果都是一样的。

不可逆的,无法根据数据指纹,还原出原来的数据信息

非对称加密算法常见的有

RSA,RSA 既是一个公司的名称,也是三个创始人的名称,RSA 既可以加密又可以进行签

名。

DSA,只能实现数字签名功能。

0 ELGamal,属于商业化的加密算法。

 

posted @ 2020-08-04 11:53  不忘初心--学  阅读(230)  评论(0编辑  收藏  举报