lvs的dr模式综合实践

目录

​编辑虚拟机准备工作

​编辑​编辑​编辑

配置过程

配置client主机

配置router主机

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

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

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

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

配置ipvsadm

[启用 IP 转发功能](#启用 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
相关推荐
婷儿z13 天前
LVS负载均衡群集:Nginx+Tomcat负载均衡群集
nginx·负载均衡·lvs
shumeigang14 天前
LVS+Keepalived+nginx
运维·nginx·lvs
行止614 天前
LVS+Keepalived高可用群集
linux·lvs·keepalived
佩奇的技术笔记15 天前
LVS vs Nginx 负载均衡对比:全面解析
nginx·负载均衡·lvs
婷儿z15 天前
LVS+Keepalived高可用群集
linux·服务器·lvs
天空之城夢主15 天前
LVS 负载均衡群集
运维·负载均衡·lvs
遗忘妳16 天前
LVS 负载均衡群集
运维·负载均衡·lvs
塑遂16 天前
LVS+Keepalived高可用群集
网络·智能路由器·lvs
ASDyushui16 天前
LVS+Keepalived高可用群集
网络·智能路由器·lvs
果子⌂16 天前
LVS+Keepalived高可用群集
网络·智能路由器·lvs