运维高级内容---LVS实验

**1.**LVS 两个网关 :仅主机模式192.168.0.100 NAT模式172.25.254.100

(lvs中仅主机模式和NAT模式处于不同VLAN,网段不同)不同网段通信:内核

配置ip、主机名,挂载仓库好后:

vim /etc/NetworkManager/system-connections/eth0.nmconnection #NAT模式的eth0

md-end-block 复制代码
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
address1=172.25.254.100/24,172.25.254.2
method=manual
dns=114.114.114.114;

vim /etc/NetworkManager/system-connections/eth1.nmconnection #仅主机模式的eth1

md-end-block 复制代码
[connection]
id=eth1
type=ethernet
interface-name=eth1

[ipv4]
address1=192.168.0.100/24
method=manual

nmcli connection reload

nmcli connection up eth0

nmcli connection up eth1

lvs中打开内核路由功能:

md-end-block 复制代码
sysctl -a | grep ip_forward                      #会显示三行,把net.ipv4.ip_forward值改为1
    net.ipv4.ip forward =0
    net.ipv4.ip forward update priority= 1
    net.ipv4.ip forward use pmtu = 0

vim /etc/sysctl.conf

net.ipv4.ip_forward=1 #添加这一行并将值改为1,保存退出

sysctl -p

配置HTTP服务:

yum install httpd -y #才能curl另外两台机子

systemctl enable --now httpd

在lvs的机子测试:

curl 192.168.0.10

curl 192.168.0.20

dnf install ipvsadm -y #lvs中安装lvs软件

安装后不能启服务,它会记录你当下编写的策略,但是重新开机后又没有了

ipvsadm -A -t 172.25.254.100:80 -s rr #rr轮询调度,后续for时调度该IP80端口下的两个 ip,轮询调度先调度10主机一遍,再调度20主机一遍,如此反复 t:tcp协议/u:udp协议 A:添加/ D:删除 s:调度算法 ipvsadm -C :添加的全部删除,清空

ipvsadm -Ln

ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80 -m

ipvsadm -Ln

ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20:80 -m

ipvsadm -Ln

ipvsadm-save

打开另外一台机子(第四台主机)进行测试:

for i in {1..10} #轮询10遍

do

curl 172.25.254.100

done

**2.**webserver1 仅主机模式192.168.0.10

vim /etc/NetworkManager/system-connections/eth0.nmconnection

md-end-block 复制代码
<span style="background-color:#f8f8f8"><span style="color:#333333">[connection]
id=eth0
type=ethernet
interface-name=eth0
[ipv4]
address1=192.168.0.10/24,192.168.0.100
method=manual
dns=114.114.114.114;</span></span>

nmcli connection reload

nmcli connection up eth0

yum install httpd -y #才有/var/www/html路径,才能echo

systemctl enable --now httpd

echo webserver - 192.168.0.10 >> /var/www/html/index.html

**3.**webserver2 仅主机模式192.168.0.20

vim /etc/NetworkManager/system-connections/eth0.nmconnection

md-end-block 复制代码
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
address1=192.168.0.20/24,192.168.0.100
method=manual
dns=114.114.114.114;

nmcli connection reload

nmcli connection up eth0

route -n

yum install httpd -y #才有/var/www/html路径,才能echo

systemctl enable --now httpd

echo webserver - 192.168.0.10 >> /var/www/html/index.html

相关推荐
Bug退散师36 分钟前
多路IO复用[select版TCP服务器与poll版TCP服务器]与常用网络编程函数详解
linux·服务器·c语言·网络·驱动开发·tcp/ip
xiaoye-duck39 分钟前
《Linux系统编程》Linux 系统多线程(一):线程概念(从虚拟地址空间与分页机制到优缺点解析)
linux·线程
国服第二切图仔1 小时前
05-构建与特性开关
linux·服务器·ubuntu
刘马想放假1 小时前
Docker 从入门到进阶:一篇写给工程师的系统化实战指南
运维·docker·容器
FREEDOM_X1 小时前
嵌入式——定时器工作原理
linux·c语言·单片机·嵌入式硬件·ubuntu
Thecozzy1 小时前
Skill和MCP和Subagent 的选择
linux·人工智能·ubuntu
梦想的旅途22 小时前
利用 API 实现企业微信消息自动化推送
运维·自动化·企业微信
Acrellea2 小时前
固态变压器(SST)热管理破局:安科瑞交直流专属测温方案护航无人值守运维
运维·网络
寒冰碧海2 小时前
大模型部署从0到1(一):通用环境全流程准备|NVIDIA驱动+Docker+NVIDIA Container Toolkit
运维·docker·容器
硬核子牙2 小时前
代码展示大模型的智能
linux·chatgpt·agent