lvs的dr模式综合实践

发布于:2024-08-08 ⋅ 阅读:(118) ⋅ 点赞:(0)

目录

​编辑虚拟机准备工作

​编辑​编辑​编辑

配置过程

配置client主机

配置router主机

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

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

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

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

配置ipvsadm

启用 IP 转发功能

 配置web服务

测试结果


虚拟机准备工作

node ip vip 角色 模式
client 172.25.254.200 客户端 NAT
router

192.168.0.100

172.25.254.100

路由器 NAT,仅主机
lvs 192.168.0.50 lo:192.168.0.200/32 调度器 仅主机
webserver1 192.168.0.10 lo:192.168.0.200/32 真实服务器 仅主机
webserver2 192.168.0.20 lo: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 -y

ipvsadm -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 = 1

ipvsadm -p

 配置web服务

yum install httpd -y

echo 11111111 > /var/www/html/index.html        #server1中配置
ystemctl restart httpd
 
echo 22222222 > /var/www/html/index.html         #server2中配置
systemctl restart httpd

测试结果

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


网站公告

今日签到

点亮在社区的每一天
去签到