基于 openEuler 构建 LVS-NAT 群集

1、环境准备

准备好下面四台台服务器:

|-------------|-------------------------------------------|--------------|
| 主机名 | IP | 角色 |
| openEuler-1 | 192.168.121.11(公网)、192.168.121.131.11(内网) | LVS |
| openEuler-2 | 192.168.131.12 | Real Server1 |
| openEuler-3 | 192.168.131.13 | Real Server2 |
| Rocky8 | 192.168.121.51 | Client |

2、Web服务器配置

在两台RS上安装并配置nginx服务:

复制代码
[root@openEuler-2 ~]# echo "web test page!(ip:`hostname -I`)" > /usr/share/nginx/html/index.html

[root@openEuler-2 ~]# systemctl restart nginx

[root@openEuler-2 ~]# curl localhost
this is test page!(ip:192.168.131.12 )

# 第二台RS配置同上

注意:RS的网关是lvs的DIP(内网地址)。

3、LVS开启路由转发

在lvs上:

复制代码
临时开启:
1、echo1>/proc/sys/net/ipv4/ip_forward
2、sysctl -w net.ipv4.ip_forward=1
永久开启:
修改文件 /etc/sysctl.conf
net.ipv4.ip forward=1
使生效:sysctl -p

4、LVS配置

在lvs上:

复制代码
[root@openEuler-1 ~]# ipvsadm -At 192.168.121.11:80 -s rr
[root@openEuler-1 ~]# ipvsadm -at 192.168.121.11:80 -r 192.168.131.12:80 -m
[root@openEuler-1 ~]# ipvsadm -at 192.168.121.11:80 -r 192.168.131.13:80 -m
[root@openEuler-1 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.121.11:80 rr
  -> 192.168.131.12:80            Masq    1      0          0
  -> 192.168.131.13:80            Masq    1      0          0

6、测试

在Client上:

复制代码
[root@localhost ~]# for ((i=1;i<10;i++))
> do
> curl 192.168.121.11
> done
web test page!(ip:192.168.131.13 )
web test page!(ip:192.168.131.12 )
web test page!(ip:192.168.131.13 )
web test page!(ip:192.168.131.12 )
web test page!(ip:192.168.131.13 )
web test page!(ip:192.168.131.12 )
web test page!(ip:192.168.131.13 )
web test page!(ip:192.168.131.12 )
web test page!(ip:192.168.131.13 )
相关推荐
YuePeng3 小时前
写了五年注解的低代码框架,2.0 决定让你连注解都不用写了
github·产品
小白ai4 小时前
从"能 ping 通吗"到"为什么上不了网"——我写了一个网络故障诊断引擎
github
徐小夕5 小时前
jitword 协同文档3.2发布:打造浏览器中最强word编辑器
前端·架构·github
齐翊7 小时前
分享一个在 Claude Code 里 [同时] 用多个 ApiKey 的方法
程序员·github·agent
A_Lonely_Cat8 小时前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
tntxia21 小时前
linux curl命令详解_curl详解
linux
扛枪的书生1 天前
Linux 网络管理器用法速查
linux
极光技术熊1 天前
Spring AI 从入门到精通:构建你的 AI 开发知识体系
后端·github
用户39483951075531 天前
怎么让我的 Agent 真正"懂"我?——关于记忆、经验学习与预测的一些真实体验
github
顺风尿一寸1 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux