基于 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 )
相关推荐
Cyan_RA93 分钟前
Linux 远程Ubuntu服务器扩展硬盘后,将/home目录移动到新的硬盘空间上(把新硬盘的分区挂载到/home目录) 教程
linux·运维·ubuntu
_dindong5 分钟前
Linux网络编程:Socket编程TCP
linux·服务器·网络·笔记·学习·tcp/ip
tianyuanwo24 分钟前
tar打包过滤指定目录指南
linux·tar·过滤式打包
DARLING Zero two♡26 分钟前
【Linux操作系统】简学深悟启示录:进程间通信
linux·运维·服务器
半梦半醒*27 分钟前
gitlab部署
linux·运维·centos·ssh·gitlab·jenkins
云雾J视界1 小时前
Linux企业级解决方案架构:字节跳动短视频推荐系统全链路实践
linux·云原生·架构·kubernetes·音视频·glusterfs·elk stack
全栈小51 小时前
【代码管理】在本地使用github和gitee之后,可能存在冲突,导致再次提交代码时提示Couldn‘t connect to server
gitee·github·代码管理工具
NocoBase1 小时前
11 个在 GitHub 上最受欢迎的开源无代码 AI 工具
低代码·ai·开源·github·无代码·ai agent·airtable·内部工具·app builder
tongsound2 小时前
libmodbus 使用示例
linux·c++
拾光Ծ2 小时前
【Linux】“ 权限 “ 与相关指令
linux·运维·服务器