设为首页 收藏本站
查看: 1448|回复: 0

[经验分享] lvs的DR模式

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-28 08:56:50 | 显示全部楼层 |阅读模式
5、LVS的DR模式:




dr模式:(direct)直接调度访问服务,直接路由,


         即调度服务器与真实服务器都有一块网卡连在同一个物理网段上。

         所以上图中连接交换机的五个网卡都应该在同一个物理网段上,即将虚拟机的桥接 改为sw1


数据包从客户端-->调度服务器 ,调度服务器收到之后,发给真实服务器,真实服务器收到包之后,
  
为客户提供服务,直接将回应包发给客户端,而不再经过调度服务器


官方的原理说明:Director接收用户的请求,然后根据负载均衡算法选取一台realserver,将包转发过去,最后由realserver直接回复给用户。


原理说明:

    ① client向目标vip发出请求,Director接收。此时IP包头及数据帧头信息
       源MAC: client的mac地址        源IP:client的ip 地址

       目的MAC:vip的mac地址         目的IP: vip的ip地址


    ② VS根据负载均衡算法选择一台active的realserver(假设是192.168.57.122),将此RIP所在网卡的mac        地址作为目标mac地址,发送到局域网里。此时IP包头及数据帧头信息如下:
       源MAC:vip的mac地址                   源IP:client的ip地址

        目的MAC:realserver的mac地址         目的IP: vip的ip地址


    ③ realserver在局域网中收到这个帧,拆开后发现目标IP(VIP)与本地匹配,于是处理       这个报文。随后重新封装报文,发送到局域网。此时IP包头及数据帧头信息如下:
        源MAC:realserver的mac地址     源IP:vip的ip地址

      目的MAC:client的mac地址       目的IP:client的ip地址


    ④ 如果client与VS同一网段,那么client将收到这个回复报文。如果跨了网段,那么报       文通过gateway/路由器经由Internet返回给用户。


(1)防火墙配置
    ip地址

    启用路由转发
      # vim /etc/sysctl.conf


         net.ipv4.ip_forwary = 0  --> 修改为1(启用路由转发)
        # sysctl -p


      配置 NAT(目的地址转换)  


   # iptables -t nat -A PREROUTING -d 10.0.2.1 -p tcp --dport 80 -j DNAT --to-destination 172.16.10.10    (调度服务器的IP)


   # iptables -F  
  
      # service iptables save

      
   (2)调度服务器配置(Director)

      ip地址
  
           # ifconfig eth0:1 172.16.20.10 netmask 255.255.255.0

            # cp /etc/sysconf/network-scprits/ifcfg-eth0   ifcfg-eth0:1

                   # eth0:1的配置文件 修改一下


            # gateway: 172.16.20.1


      配置调度表
  
           #  ipvsadm -A -t  172.16.10.10:80 -s rr  # -A 添加调度服务器 -s指定调度算法
   
      # ipvsadm -a -t 172.16.10.10:80 -r 172.16.20.20:80 -g   -u 基于udp的集群服务

               # -a 指定真实服务器  -r真实服务器ip及端口  -g指DR模式  -t基于tcp的集群服务
           # ipvsadm -a -t 172.16.10.10:80 -r 172.16.20.30:80  -g

      # service ipvsadm save  

      # service ipvsadm start                 
           # ipvsadm C   //清空规则
            # iptables -F  //清空防火墙规则


      配置网关
      
   (3)真实服务器配置

      ip地址
  
           #  ifconfig lo:0  172.16.10.10 netmask 255.255.255.0 broadcast 172.16.10.10
  
             #  cp  /etc/sysconfig/network-scripts/ifcfg-eth0    ifcfg-lo:0  

                              # ifcfg-lo:0的配置文件 记得修改以下 每台真实服务器都需要配置 VIP

                     其网关为172.16.10.1


为什么要绑定 VIP 呢?

因为 DR 模式原理是 LVS 调度器修改 mac 地址为真实服务器地址,报文的目的 IP 还是 VIP 没修改,
网卡只会把目的 MAC 和目的 IP 都是自己的报文上送 CPU ,所以真实服务器上必须配置 VIP!

为什么使用 lo 口呢? 因为 lo 口为本地环回口,防止本地局域网 IP 地址冲突 !

     禁止真实服务器的arp广播和回应 (arp抑制参数见下面)

      # vim /etc/sysctl.conf
  
           net.ipv4.ip_forwary = 0  --> 修改为1(启用路由转发),然后添加上下面几项

      net.ipv4.conf.lo.arp_ignore = 1  \\只回答目标 IP 地址是来访网络接口本地地址的 ARP 查询请求
      net.ipv4.conf.lo.arp_announce = 2
      net.ipv4.conf.all.arp_ignore = 1
      net.ipv4.conf.all.arp_announce = 2

      # sysctl -p


# arp_announce  

\\ 2 - 对查询目标使用最适当的本地地址 . 在此模式下将忽略这个 IP 数据包的源地址并尝试选择与能与该地址通信的本地地址 . 首要是选择所有的网络接口的子网中外出访问子网中包含该目标 IP 地址的本地地址 . 如果没有合适的地址被发现 , 将选择当前的发送网络接口或其他的有可能接受到该 ARP 回应的网络接口来进行发送 .


     或:


      # rpm -ivh arptables_jf*
      # arptables -A IN -d 172.16.10.10 -j DROP
      # ifconfig lo:0 172.16.10.10 netmask 255.255.255.0 broadcast 172.16.10.10
      
      # route add -host 172.16.10.10 dev lo:0
      

    开启web服务:
  
       #yum install http*

        # vim /etc/httpd/conf/httpd.conf
            -->将#去掉。可以自己定义如:www.zll.com 也可以不修改只把#去掉就可以了。              # cd /var/www/html
    # vim index.html ---> hello!ZLL
  

      启动相应服务 service httpd start

       清空防火墙   iptables -F


  (4)客户端配置
      ip地址:10.0.2.253
      网关:10.0.2.1
      测试: # curl  10.0.2.1 (防火墙eth0的ip)
              或:在浏览器输入:10.0.2.1
         若看到在RS服务器配置的index.html的内容,则成功     


http://baike.haosou.com/doc/5442818-5681168.html   

什么是arp?
      地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

      地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗

    举例:      

主机A192.168.1.2->主机B192.168.1.1发送数据。

   当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。若找到,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;若在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。

  ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。


ARP欺骗分为二种(1)对路由器ARP表的欺骗;(2)对内网PC的网关欺骗。

(1)第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。

(2)第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。


arp 响应限制

1 ) arp_ignore:

定义对目标地址为本地 IP 的 ARP 询问不同的应答模式 0

0 - ( 默认值 ): 回应任何网络接口上对任何本地 IP 地址的 arp 查询请求

1 - 只回答目标 IP 地址是来访网络接口本地地址的 ARP 查询请求

2 - 只回答目标 IP 地址是来访网络接口本地地址的 ARP 查询请求 , 且来访 IP 必须在该网络接口的子网段内

3 - 不回应该网络界面的 arp 请求,而只对设置的唯一和连接地址做出回应

4-7 - 保留未使用

8 - 不回应所有(本地地址)的 arp 查询

2 ) arp_announce:

对网络接口上,本地 IP 地址的发出的, ARP 回应,作出相应级别的限制 : 确定不同程度的限制 , 宣布对来自本地源 IP 地址发出 Arp 请求的接口

0 - ( 默认 ) 在任意网络接口( eth0,eth1 , lo )上的任何本地地址

1 - 尽量避免不在该网络接口子网段的本地地址做出 arp 回应 . 当发起 ARP 请求的源IP 地址是被设置应该经由路由达到此网络接口的时候很有用 . 此时会检查来访 IP 是否为所有接口上的子网段内 ip 之一 . 如果改来访 IP 不属于各个网络接口上的子网段内 ,那么将采用级别 2 的方式来进行处理 .

2 - 对查询目标使用最适当的本地地址 . 在此模式下将忽略这个 IP 数据包的源地址并尝试选择与能与该地址通信的本地地址 . 首要是选择所有的网络接口的子网中外出访问子网中包含该目标 IP 地址的本地地址 . 如果没有合适的地址被发现 , 将选择当前的发送网络接口或其他的有可能接受到该 ARP 回应的网络接口来进行发送 .





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-105279-1-1.html 上篇帖子: lvs的NAT模式 下篇帖子: LVS三种工作模式、十种调度算法介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表