当前位置: 首页 > news >正文

lvs的dr模式综合实践

目录

​编辑虚拟机准备工作

​编辑​编辑​编辑

配置过程

配置client主机

配置router主机

配置lvs主机(vip使用环回来创建)

配置server1主机(vip使用环回来创建)

配置server2主机(vip使用环回来创建)

配置网络相关的内核参数。

配置ipvsadm

启用 IP 转发功能

 配置web服务

测试结果


虚拟机准备工作

nodeipvip角色模式
client172.25.254.200客户端NAT
router

192.168.0.100

172.25.254.100

路由器NAT,仅主机
lvs192.168.0.50lo:192.168.0.200/32调度器仅主机
webserver1192.168.0.10lo:192.168.0.200/32真实服务器仅主机
webserver2192.168.0.20lo:192.168.0.200/32真实服务器仅主机

虚拟机配置(准备五个虚拟机)

配置过程

配置ip

配置client主机

[root@client ~]# cat /etc/NetworkManager/system-connections/eth0.connection 
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=172.25.254.200/24,172.25.254.100
method=manual[root@client ~]# nmcli connection reload
[root@client ~]# nmcli connection up eth0

配置router主机

[root@router ~]# cat /etc/NetworkManager/system-connections/eth0.connection 
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=172.25.254.100/24,172.25.254.2
dns=114.114.114.114;
method=manual[root@router ~]# cat /etc/NetworkManager/system-connections/eth1.connection 
[connection]
id=eth1
type=ethernet
interface-name=eth1[ipv4]
address1=192.168.0.100/24
method=manual[root@router ~]# nmcli connection reload
[root@router ~]# nmcli connection up eth0
[root@router ~]# nmcli connection up eth1

配置lvs主机(vip使用环回来创建)

[root@lvs ~]# cat /etc/NetworkManager/system-connections/eth0.connection 
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=192.168.0.50/24,192.168.0.100
method=manual[root@lvs ~]# nmcli connection reload
[root@lvs ~]# nmcli connection up eth0[root@lvs ~]# ip addr add dev lo 192.168.0.200/32

配置server1主机(vip使用环回来创建)

[root@server1 ~]# cat /etc/NetworkManager/system-connections/eth0.connection
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=192.168.0.10/24,192.168.0.100
method=manual[root@server1 ~]# nmcli connection reload
[root@server1 ~]# nmcli connection up eth0[root@server1 ~]# ip addr add dev lo 192.168.0.200/32

配置server2主机(vip使用环回来创建)

[root@server2 ~]# cat /etc/NetworkManager/system-connections/eth0.connection 
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=192.168.0.20/24,192.168.0.100
method=manual[root@server2 ~]# nmcli connection reload
[root@server2 ~]# nmcli connection up eth0[root@server2 ~]# ip addr add dev lo 192.168.0.200/32

配置网络相关的内核参数。

rs主机中使vip不对外响应

server1和server2上面都要做

(设置为 1 通常表示在接收到目的 IP 不是本地的 ARP 请求时,系统不响应 ARP 请求)

(设置为 2 意味着系统在发送 ARP 通告时,会使用尽可能匹配目标 IP 的本地地址作为源 IP 地址)

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 

配置ipvsadm

在lvs主机中进行配置 IP 虚拟服务器

yum install ipvsadm -yipvsadm -A -t 192.168.0.200:80 -s wrr
ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.10:80 -g -w 1
ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.20:80 -g -w 2

启用 IP 转发功能

在router主机进行配置

(设置持久连接,保持客户端与后端服务器的连接关系)

vim /etc/sysctl.conf            #在最后一行添加
net.ipv4.ip_forward = 1ipvsadm -p

 配置web服务

yum install httpd -yecho 11111111 > /var/www/html/index.html        #server1中配置
ystemctl restart httpdecho 22222222 > /var/www/html/index.html         #server2中配置
systemctl restart httpd

测试结果

for i in {1..10}; do curl 192.168.0.200; done

http://www.lryc.cn/news/421110.html

相关文章:

  • 什么是自然语言处理
  • 快速理解互联网中的常用名词
  • 统计接口调用耗时_黑白名单配置
  • 树莓派4 AV没有视频输出
  • 短信群发平台:解决短信验证码接收问题的5大策略
  • WebSocket 初体验:构建实时通信应用
  • LISA: Reasoning Segmentation via Large Language Model
  • 企业发展与数字化转型:创新驱动未来增长的关键策略
  • 如何选择适合自己的编程语言,为什么R是非计算机专业数据分析的最佳选择,五大点告诉你
  • 【经验分享】数据结构——求树的叶子结点个数计算方法
  • 第十一章:图论part04 110.字符串接龙 105.有向图的完全可达性 106.岛屿的周长(补)
  • Linux中安装MYSQL数据库
  • Vue前端服务加密后端服务解密--AES算法实现
  • matlab实现文字识别
  • Leetcode - 周赛409
  • 突破百度网盘的下载限速,两种方法教会你【超详细】
  • 整理 酷炫 Flutter 优质 布局、交互 开源App
  • 【PyCharm怎么同时打开多个项目】
  • 使用 ProcDump 调试 Linux
  • 2023年中国城市统计年鉴(PDF+excel)
  • 自用 K8S 资源对象清单 YAML 配置模板手册-1
  • 【数据库】事务 | 视图 | 自定义函数创建
  • Linux---进程(5)---进程地址空间
  • C语言实现数据结构之队列
  • 写一个Vue2和vue3的自定义指令(以复制指定作为示例)
  • MySQL —— 聚合查询,分组查询 与 联合查询
  • Spring声明式事务失效场景
  • 基于SpringBoot+UniAPP宠物食品外卖点单小程序的设计与实现》
  • ssrf 内网访问 伪协议 读取文件 端口扫描
  • 发布包到npm