LVS集群,(2)DR模式

直连路由,DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但是DR模式中与调度器应在同一个物理网络中,需要在同一个网段内。

直连路由模式也是LVS默认的模式,应用最广泛,由于是在同一个网段中,那么数据是在二层转发,就是通过重新封装一个MAC首部,进行转发,源MAC是DIP内网IP,目的地址是选出的真实服务器的RIP的接口的MAC地址。

DR模式:在直连和RS都有一个VIP(虚拟IP地址,不是代理服务器的外网IP),因为客户机访问的目的IP是LVS调度服务器的IP,收到数据包之后,交给真实服务器,DR与NAT模式的区别在于DR模式中,真实服务器处理完数据后并不会返回给调度服务器,而是把数据包发送到客户机上,客户端发送的数据包中目的IP要与收到的数据包中的源IP相同,才能收到数据包,否则丢弃。

LVS集群中的术语:

CIP(Client IP)客户机IP
DIP 代理服务器的,内网的IP
VS代理服务器            virtual server,DS调度器
VIP 代理服务器的,外网的IP
RS真实服务器
RIP 真实服务器的,IP地址

需要自主回包,所以每台服务器上都配置一个虚拟IP地址,客户端发包到一个IP上,必须收到来自该IP的报文,让每台服务器自主回复包,必须是这个IP地址才行,所以这个IP作为服务器的虚拟IP地址。

DR模式实现LVS调度

实验环境:

7-4作为客户端:192.168.114.40

7-1作为LVS调度服务器:192.168.114.10,虚拟IP:192.168.114.188

7-2真是服务器1:192.168.114.20,虚拟IP:192.168.114.188

7-3真是服务器1:192.168.114.30,虚拟IP:192.168.114.188

7-4作为客户端访问7-1调度服务器虚IP,curl 192.168.114.188

systemctl stop firewalld

setenforce 0

7-1的配置dfs 
[root@Node1 ~]#:cd /etc/sysconfig/network-scripts/

#添加一个虚拟IP:
[root@Node1 network-scripts]#:vim ifcfg-ens33:0
NAME=ens33:0
DEVICE=ens33:0
IPADDR=192.168.114.188
NETMASK=255.255.255.255

#调优:

#对于DR模式来说,各结点需要用到虚拟IP,所以要关闭Linux内核的重定向参数响应服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能
[root@Node1 network-scripts]#:vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@Node1 network-scripts]#:sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
#安装
[root@Node1 network-scripts]#:yum install -y ipvsadm.x86_64
[root@Node1 network-scripts]#:ipvsadm-save > /etc/sysconfig/ipvsadm
 #启动
[root@Node1 network-scripts]#:systemctl start ipvsadm

#添加虚拟服务器和真实服务器
[root@Node1 network-scripts]#:ipvsadm -A -t 192.168.114.188:80 -s rr
[root@Node1 network-scripts]#:ipvsadm -a -t 192.168.114.188:80 -r 192.168.114.20:80 -g
[root@Node1 network-scripts]#:ipvsadm -a -t 192.168.114.188:80 -r 192.168.114.30:80 -g

7-2真实服务器的配置:
#虚拟IP:

[root@Node2 ~]#:cd /etc/sysconfig/network-scripts/
[root@Node2 network-scripts]#:vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.114.188
NETMASK=255.255.255.255
NETWORK=127.0.0.0

#重启网卡配置文件
[root@Node2 network-scripts]#:systemctl restart network
#安装web服务
[root@Node2 network-scripts]#:yum install -y httpd

#添加系统只响应目的IP为本地IP的ARP请求
#系统不使用原地址来设置ARP请求的源地址,而是物理MAC地址上的IP
[root@Node2 network-scripts]#:vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
[root@Node2 network-scripts]#:sysctl -p
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

#网页文件
[root@Node2 network-scripts]#:cd /var/www/html/
[root@Node2 html]#:echo "7-2" > index.html
[root@Node2 html]#:systemctl start httpd

7-3和7-2同理:

[root@Node3 ~]#:vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

#这里直接一条命令添加虚拟IP
[root@Node3 ~]#:ifconfig lo:0 192.168.114.188/32
[root@Node3 ~]#:yum install -y httpd
[root@Node3 network-scripts]#:cd /var/www/html/
[root@Node3 html]#:echo "7-3" > index.html
[root@Node3 html]#:systemctl start httpd

7-4测试:

[root@Node4 ~]#:curl 192.168.114.188
7-2
[root@Node4 ~]#:curl 192.168.114.188
7-3
[root@Node4 ~]#:curl 192.168.114.188
7-2
[root@Node4 ~]#:curl 192.168.114.188
7-3

-----end-----

  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值