hydd的Linux笔记Day40

Day40

ARP广播的问题

​ 当客户端发起访问VIP对应的域名请求时,根据网络通信原理会产生ARP广播

​ 因为负载均衡器和真实服务器在同一网络并且VIP设置在集群中的每个节点上

​ 此时集群内的真实服务器会尝试回答来自客户端的ARP广播,这就会产生问题,大家都说我是VIP

内核参数说明

​ arp_ignore(定义回复ARP广播的方式)

​ 0(默认值)

​ 回应所有本地地址ARP广播,本地地址可以配置在任意网络接口上

​ 1

​ 回应配置在入站网卡接口上的任意IP地址的ARP广播

​ arp——announce

​ 0(默认)

​ 使用配置在任意网卡接口上的本地IP地址

​ 2

​ 对查询目标使用最适当的本地地址。在此模式下忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址。如果没有合适的地址被发现,将选择当前发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送。

ARP防火墙

​ 使用ARP防火墙也可以禁止对VIP的ARP请求

​ 此方案为备选方案,非必须操作

yum -y install arptables_if
arptables -A IN -d <virtual_ip> -p DROP
arptables -A OUT -s <virtual_ip> -j mangle > --mangle-ip-s <real_ip>

Keepalived热备

Keeoalived概述

​ Keepalived实现了高可用集群

​ KeepaLived最初是为了LVS设计的

​ 专门监控各个服务器节点的状态

​ Keepalived后来加入了VRRP功能,防止单点故障

Keepalived运行原理

​ keepalived检测每个服务器节点状态

​ 服务器节点异常或者工作出现故障,Keepalived再将其加入到集群系统中

​ 所有工作自动完成,无需人工干预

Keepalived安装

​ yum install -y keepalived

配置文件解析

/etc/keepalived/keepalived.conf

global_defs {
   notification_email {
     admin@tarena.com.cn	//设置报警收件人邮箱
   }
   notification_email_from Alexandre.Cassen@firewall.loc	//设置发件人
   smtp_server 192.168.200.1	//定义邮箱服务器
   smtp_connect_timeout 30
   router_id web1			//设置路由ID号
   
}

vrrp_instance VI_1 {
    state MASTER			//主服务器设置为MASTER辅助为BACKUP
    interface ens37			//定义网络接口
    virtual_router_id 51	//主辅VRID号必须一致
    priority 100			//服务器优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111		//主辅服务器的密码必须一致
    }
    virtual_ipaddress {
        192.168.4.80/24
    }
}

环境准备

准备三台Linux服务器,两台做Web服务器,并部署Keepalived高可用软件,一台作为客户端主机,实现如下功能

拓扑图

img

img

案例

配置网络环境

1)设置Web1服务器网络参数、配置Web服务(不能照抄网卡名称)

[root@web1 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.100/24 connection.autoconnect yes
[root@web1 ~]# nmcli connection up eth0
[root@web1 ~]# yum -y install httpd        #安装软件
[root@web1 ~]# echo "192.168.4.100" > /var/www/html/index.html    #创建网页文件
[root@web1 ~]# systemctl restart httpd        #启动服务器

2)设置Web2服务器网络参数、配置Web服务(不能照抄网卡名称)

[root@web2 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.200/24 connection.autoconnect yes[root@web2 ~]# nmcli connection up eth0[root@web2 ~]# yum -y install httpd        #安装软件[root@web2 ~]# echo "192.168.4.200" > /var/www/html/index.html    #创建网页文件[root@web2 ~]# systemctl restart httpd        #启动服务器

3)配置proxy主机的网络参数(如果已经设置,可以忽略此步骤)

备注:这个实验,我们使用proxy当作客户端主机,网卡名称不能照抄。

[root@proxy ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.5/24 connection.autoconnect yes[root@proxy ~]# nmcli connection up eth0

安装Keepalived软件

注意:两台Web服务器做相同的操作。

[root@web1 ~]# yum install -y keepalived
[root@web2 ~]# yum install -y keepalived 

部署Keepalived服务

1)修改web1服务器Keepalived配置文件

[root@web1 ~]# vim /etc/keepalived/keepalived.conf
global_defs {
  router_id  web1           #12行,设置路由ID号(实验需要修改)
    vrrp_iptables           #13行,清除防火墙的拦截规则(实验需要修改,手动添加该行)
}
vrrp_instance VI_1 {
  state MASTER              #21行,主服务器为MASTE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值