美文网首页
Lvs dr(直接路由)的原理和实现

Lvs dr(直接路由)的原理和实现

作者: 杍劼 | 来源:发表于2016-03-23 12:27 被阅读770次

    VS/DR通过改写请求报文的Mac地址,将请求发送到真实服务器而真实服务器将响应直接返回给客户。同VS/TUN技术一样,VS/DR技术可几大地提高集群系统的伸缩性。这种方法没有IP隧道的开销,对集群中的真实服务器也没有必须支持IP隧道协议的要求,但是要求调度器与真实服务器都有一块网卡连在同一物理网段上。

    网络结构图

    实验规划:

    (1).将物理机上的VMnet1网卡的ip设置为200.168.10.4,子网掩码设置为255.255.255.0

    (2).为Lvs服务器配置一块网卡eth0,网络连接设置为VMnet1,设置IP地址:ifconfig eth0 200.168.10.1

    (3).为Lvs服务器的eth0网卡添加一个ip地址(vip):ifconfig eth0:0 200.168.10.10 netmask 255.255.255.255,配置单独的网段:route add -host 200.168.10.10 dev eth0:0

    (4).Lvs dr服务器脚本:

    ipvsadm -C

    ipvsadm -A -t 200.168.10.10:80 -s rr(-t:采用tcp协议;-s:模式参数;rr:采用轮叫算法)

    ipvsadm -a -t200.168.10.10-r 200.168.10.2 -g(-r:真实服务器ip;-g:dr模式)

    ipvsadm -a -t200.168.10.10-r 200.168.10.3 -g

    (5).为两台真实服务器配置一块网卡,网络连接设置为VMnet1,设置IP地址(rip):ifconfig eth1 200.168.10.2和ifconfig eth1 200.168.10.3

    (6).为真实服务器的lo网卡添加一个ip地址(vip):ifconfiglo:0 200.168.10.10 netmask 255.255.255.255,配置单独的网段:route add -host 200.168.10.10 devlo:0

    (7).真实服务器脚本:

    echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore(当arp请求目的ip为lo网卡上的ip时才应答)

    echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce(发送arp请求时,选择lo网卡mac地址进行发送)

    echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore(只回答目标IP地址是来访网络接口本地地址的ARP查询请求)

    echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce(忽略IP数据包的源IP地址,对查询目标使用最适当的本地地址,尝试选择能与源地址通信的网卡地址)

    注1:交换机发送arp广播时,真实服务器的eth1网卡接收arp请求,将all设置arp_ignore为2可以忽略vip;

    注2:可以使用tcpdump -i eth0 -nn进行抓包,监测tcp三次握手是否成功;

    dr模式实验结果

    相关文章

      网友评论

          本文标题:Lvs dr(直接路由)的原理和实现

          本文链接:https://www.haomeiwen.com/subject/myillttx.html