免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2198 | 回复: 1
打印 上一主题 下一主题

lvs realserver转发 源IP不是VIP的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-16 16:58 |只看该作者 |倒序浏览
本帖最后由 leoxqing 于 2013-05-16 16:58 编辑

vip:192.168.1.242

rip:192.168.1.24

[root@localhost ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
UDP  192.168.1.242:9660 wlc persistent 10
  -> 192.168.1.24:9660            Route   1      0          0  

[root@localhost ~]# ipvsadm -lcn
IPVS connection entries
pro expire state       source             virtual            destination
UDP 00:00  UDP         192.168.2.103:0    192.168.1.242:9660 192.168.1.24:9660
UDP 04:50  UDP         192.168.2.103:5656 192.168.1.242:9660 192.168.1.24:9660

在rip上抓包:
16:55:15.292853 IP 192.168.2.103.5656 > 192.168.1.242.9660: UDP, length 88
        0x0000:  4500 0074 0000 4000 4011 b4cf c0a8 0267  E..t..@.@......g
        0x0010:  c0a8 01f2 1618 25bc 0060 12ab ab00 0100  ......%..`......
        0x0020:  3800 0004 dd00 0000 01fa 9d00 0000 1011  8...............
        0x0030:  0022 0100 0000 6400 0003 e700 0000 0100  ."....d.........
        0x0040:  0000 0200 0000 0300 0000 0400 0000 0500  ................
        0x0050:  0000 0600 3943 4445 3943 3046 3234 3442  ....9CDE9C0F244B
        0x0060:  3839 3730 3236 3737 3042 3243 3635 3244  897026770B2C652D
        0x0070:  3438 3437                                4847
16:55:15.301755 IP 192.168.1.24.9660 > 192.168.2.103.5656: UDP, length 55
        0x0000:  4500 0053 0000 4000 4011 b5ca c0a8 0118  E..S..@.@.......
        0x0010:  c0a8 0267 25bc 1618 003f 8520 ab00 0100  ...g%....?......
        0x0020:  1700 0004 dd00 0000 01fa 9d00 0000 1012  ................
        0x0030:  0001 0080 4430 4336 4135 3833 3738 4237  ....D0C6A58378B7
        0x0040:  4641 4130 3143 3844 3131 3638 3736 3633  FAA01C8D11687663
        0x0050:  4131 32                                  A12

从抓包中可以看出,realserver给客户端的响应的IP是自己的一块物理网卡的 真实IP,而不是VIP,造成客户端无法正常接收处理此数据包,看了LVS DR原理里说REALSERVER响应给客户端的源IP应该是vip的
realserver 启动脚本如下:
#!/bin/bash
#description : Start Real Server
VIP=192.168.1.242
. /etc/rc.d/init.d/functions
case "$1" in
    start)
        echo " Start LVS  of  Real Server"
        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        #/sbin/route add -host $VIP dev lo:0
        echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
        echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
        ;;
    stop)
        /sbin/ifconfig lo:0 down
        echo "close LVS Director server"
        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
        echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
        echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac

各网口状态:
[root@ciwong ~]# ip addr ls
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet 192.168.1.242/32 brd 192.168.1.242 scope global lo:0
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether d4:ae:52:96:2c:9c brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc mq qlen 1000
    link/ether d4:ae:52:96:2c:9e brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq qlen 1000
    link/ether d4:ae:52:96:2c:a0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.24/24 brd 192.168.1.255 scope global eth2
    inet6 fe80::d6ae:52ff:fe96:2ca0/64 scope link
       valid_lft forever preferred_lft forever
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc mq qlen 1000
    link/ether d4:ae:52:96:2c:a2 brd ff:ff:ff:ff:ff:ff

这里我想问为什么我的lvs里的realserver转发给客户端的是realip而不是vip呢(vip:192.168.1.242 rip:192.168.1.24),该如何配置?

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
2 [报告]
发表于 2013-05-16 17:28 |只看该作者
你把eth2换个IP,别用192.168.1.24/24试试。
另外sysctl -a|grep arp 看下结果,是否你的脚本正常执行了。
感觉配置有问题,
基本上按你的描述可以颠覆TCP/IP了。
自己细细查下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP