【LVS】部署DR模式集群

 一、配置实验环境

每台主机的防火墙和SELinux都要关掉

systemctl stop firewalld

setenforce 0

1、client(eth0为nat模式)

配置好网卡IP和网关IP,然后重启网卡

nmcli connection reload

nmcli connection up eth0

[root@client ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
method=manual
address1=172.25.254.200/24,172.25.254.100
dns=114.114.114.114
[root@client ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.25.254.100  0.0.0.0         UG    100    0        0 eth0
172.25.254.0    0.0.0.0         255.255.255.0   U     100    0        0 eth0

2、route(eth0为nat模式和eth1为仅主机模式)

配置好网卡IP,然后重启网卡

nmcli connection reload

nmcli connection up eth0

nmcli connection up eth1

[root@route ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
method=manual
address1=172.25.254.100/24
[root@route ~]# cat /etc/NetworkManager/system-connections/eth1.nmconnection 
[connection]
id=eth1
type=ethernet
interface-name=eth1

[ipv4]
method=manual
address1=192.168.0.100/24

3、lvs(eth1为仅主机模式)

配置好网卡IP和网关以及环路IP,然后重启网卡

nmcli connection reload

nmcli connection up eth1

[root@lvs ~]# ip a a 192.168.0.200/32 dev lo

[root@lvs ~]# cat /etc/NetworkManager/system-connections/eth1.nmconnection 
[connection]
id=eth1
type=ethernet
interface-name=eth1

[ipv4]
method=manual
address1=192.168.0.50/24,192.168.0.100
[root@lvs ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.100   0.0.0.0         UG    100    0        0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1

4、webserver1(eth0为仅主机模式)

配置好网卡IP和网关以及环路IP,然后重启网卡

nmcli connection reload

nmcli connection up eth0

[root@lvs ~]# ip a a 192.168.0.200/32 dev lo

[root@webserver1 ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
method=manual
address1=192.168.0.10/24,192.168.0.100
[root@webserver1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.100   0.0.0.0         UG    100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

5、webserver2(eth0为仅主机模式)

配置好网卡IP和网关以及环路IP,然后重启网卡

nmcli connection reload

nmcli connection up eth0

[root@lvs ~]# ip a a 192.168.0.200/32 dev lo

[root@webserver2 ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
method=manual
address1=192.168.0.20/24,192.168.0.100
[root@webserver2 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.100   0.0.0.0         UG    100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

 二、解决vip响应问题

DR模型中各主机上均需要配置VIP,解决地址冲突的方式有三种:

(1)在前端网关做静态绑定

(2)在各RS使用arptables

(3)在各RS修改内核参数,来限制arp响应和通告的级别

限制响应级别:arp_ignore

  • 0:默认值,表示可使用本地任意接口上配置的任意地址进行响应
  • 1:仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应

限制通告级别:arp_announce

  • 0:默认值,把本机所有接口的所有信息向每个接口的网络进行通告
  • 1:尽量避免将接口信息向非直接连接网络进行通告 2:必须避免将接口信息向非本网络进行通告

webserver1:

[root@webserver1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@webserver1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@webserver1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@webserver1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

webserver2:

[root@webserver2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@webserver2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@webserver2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@webserver2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

三、配置策略

lvs:

[root@lvs ~]# ipvsadm -A -t 192.168.0.200:80 -s wrr

[root@lvs ~]# ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.10:80 -g -w 1

[root@lvs ~]# ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.20:80 -g -w 2

 四、路由器启用IP转发功能

net.ipv4.ip_forward = 1启用IP转发功能,当设置为 1 时,表示允许系统在不同的网络接口之间转发 IP 数据包。

net.ipv4.ip_forward_update_priority = 1这个配置项用于设置 IP 转发更新的优先级。当系统进行 IP 转发相关的更新操作时,这个优先级值会影响更新的顺序和处理方式。

net.ipv4.ip_forward_use_pmtu = 0这个配置项控制着在 IP 转发过程中是否使用路径最大传输单元(PMTU)发现机制。当设置为 0 时,表示在 IP 转发中不使用 PMTU 发现。

[root@route ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1       
net.ipv4.ip_forward_update_priority = 1        
net.ipv4.ip_forward_use_pmtu = 0

在 /etc/sysctl.conf配置文件中添加net.ipv4.ip_forward = 1

五、测试结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/396819.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用自定义注解和AOP解决登录校验问题

1、如果每次都从Redis获取token,会有很多冗余代码 2、使用面向切面编程的思想 在不改变源代码或者很少改变源代码的情况下,增强类的某些方法。 在业务代码之前设置 切入点 创建切面类,也就是比如登录校验的某些公共方法 切面类从切入点切入流…

json配置文件读入redis - 包含命令行解析示例

需要的取用,也是笔记,python argv经常会需要解析。类linux的命令行参数处理,这也是一个示例。 1.源码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # 获取当前脚本文件所在目录的父目录,并构建相对路径 import os import …

【C语言篇】深入理解指针1

文章目录 内存和地址内存编址 指针变量和地址取地址操作符指针变量和解引用操作符指针变量指针变量类型解引用操作符指针变量的大小 指针变量类型的意义指针的解引用指针-整数void*指针 const修饰指针指针运算指针-整数指针-指针指针的关系运算 野指针野指针成因如何规避野指针…

嵌入式人工智能ESP32(2-GPIO之LED与按键)

1、ESP32引脚 ESP32 38脚与30脚的主要区别在于引脚数量和功能。‌选择38脚的ESP32开发板通常能提供更多的功能和更好的扩展性,‌适合需要连接多种传感器和外设以及进行复杂通信的应用。‌而30脚的ESP32开发板则可能更适合简单应用或成本敏感的项目。 SP32的引脚图…

STM32 | SPI+flash闪存(第十一天)W25Q128举例

点击上方"蓝字"关注我们 01、SPI 1.1 SPI概念理解 SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI 接口主要应用在 EEPROM,FLASH,实时时钟,AD 转换器,还有数字信号处理器和数…

MySQL笔记-基础篇(二):多表查询

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 前言 MySQL的多表查询是一项非常实用的数据库操作技术,它能够通过关联不同表中的数据来提供更加丰富和准确的信息。在实际应用中,数据通常不是孤立存在的,而是分布在多个…

Ubuntu(20.04)云主机SSH安全加固

1、新增SSH服务端口 #vim /etc/ssh/sshd_config 找到 #Port 22 去掉注释符,下面添加:Port [新端口] 2、本地防火墙放通 #ufw allow [新端口] #ufw reload //防火墙重新加载 #ufw status verbose //查询是否开放SSH新端口 3、腾讯云防火墙配…

提高PDF电子书的分辨率

解决方法出处 1. 安装ImageMagick brew install imagemagick brew install ghostscript2. 按流程进行 convert -density 600 your_pdf_filename.pdf output-%02d.jpg convert output*.jpg -normalize -threshold 80% final-%02d.jpg convert final*.jpg my_new_highcontras…

长语境窗口扩展:LongRoPE技术解析

人工智能咨询培训老师叶梓 转载标明出处 由于大模型高昂的微调成本、长文本的稀缺性,以及新引入的标记位置可能导致的灾难性值,目前扩展的语境窗口通常被限制在大约128k标记。为了克服这些限制,微软研究院的研究团队提出了一种名为LongRoPE的…

Apache OFBiz 曝出严重漏洞,允许预身份验证 RCE

近日,研究人员发现 Apache OFBiz 中存在一个新的关键漏洞,该漏洞是 Apache OFBiz 中的一个错误授权问题,被追踪为CVE-2024-38856。该漏洞影响 18.12.14 之前的版本,18.12.15 版本解决了该漏洞。 SonicWall 的安全研究员 Hasib Vh…

C语言常用的字符串函数(含模拟实现)

在使用C语言编写代码的时候,我们经常会用到一些库函数来实现一些平常难以实现的功能,今天我就为大家来分享一些我经常会用到的库函数,并且也会将他们的用法和部分的模拟实现函数分享给大家~ (文中部分图片来取自strlen - C Refer…

优购电商小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商品分类管理,商品信息管理,留言板管理,订单管理,系统管理 微信端账号功能包括:系统首页,商品信息&#xf…

音频进阶学习一——模拟信号和数字信号

文章目录 前言|版本声明:山河君,未经博主允许,禁止转载 一、什么是模拟信号和数字信号信号模拟信号数字信号数字和模拟信号的区别一览 二、信号处理系统总结 前言 所有软件的运行都得益于硬件上的突破,数字信号是从40年前就开始高…

Qt 实战(9)窗体 | 9.2、QDialog

文章目录 一、QDialog1、基本概念2、常用特性2.1、模态与非模态2.2、数据交互 3、总结 前言: Qt框架中的QDialog类是一个功能强大且灵活的对话框控件,广泛应用于各种GUI(图形用户界面)应用程序中,用于处理用户输入、消…

2024年4月份我放弃了前端,转行了!!!猜我得到了什么?

为什么离开这个行业?最近在干什么? 为什么离开这个行业这个问题其实 我真的真的想了很多很多,我也分享给你们我的想法,希望可以帮助想继续深耕这个行业的继续深耕,犹豫想转行的帮助你们确定转行。 我能干什么&#x…

开源 AI 智能名片 S2B2C 商城小程序赋能下的社区团购商业模式研究

摘要:本文深入探讨了社区团购商业模式的本质、特点及其优势,并详细分析了开源 AI 智能名片 S2B2C 商城小程序在社区团购中的应用与价值。通过对相关案例的研究和数据的分析,揭示了这一创新组合对社区商业生态的重要影响,为未来社区…

FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流

FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流 合集 - FFmpeg开发实战(46) 1.FFmpeg开发笔记(一)搭建Linux系统的开发环境2023-04-162.FFmpeg开发笔记(二)搭建Windows系统的开发环境2023-04-29…

深入探索 Wireshark——网络封包分析的利器

一、引言 在当今数字化的时代,网络通信变得日益复杂和关键。无论是企业的网络运维,还是网络安全研究,都需要深入了解网络中传输的数据。Wireshark 作为一款强大的网络封包分析工具,成为了网络工程师、安全研究人员和技术爱好者不…

8.6-设置mysql开机自启+角色生效+主从数据库

一、设置mysql开机自启 1.添加开机自启 #添加开机启动 [root004 mysql]# #systemctl enable mysqld [root004 mysql]# chkconfig --list注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。 要列…

【C语言】位段详解

🦄个人主页:小米里的大麦-CSDN博客 🎏所属专栏:https://blog.csdn.net/huangcancan666/category_12718530.html 🎁代码托管:黄灿灿 (huang-cancan-xbc) - Gitee.com ⚙️操作环境:Visual Studio 2022 目录 一、什么是位段? 二、…