红联Linux门户
Linux帮助

vsftpd服务器两张网卡的异常

发布时间:2011-02-11 01:51:25来源:红联作者:昊昊荡荡
[i=s] 本帖最后由 昊昊荡荡 于 2011-2-11 01:59 编辑 [/i]

环境:
我用一台双网卡服务器搭建了一台vsftpd服务器,操作系统是centos5.5。eth0 192.168.1.110,100M Intel服务器网卡;eth1 192.168.1.100,千兆Intel服务器网卡。

入网方式:
10M光纤接入互联网,固定IP。网络出口配有联想网御防火墙,在防火墙上将互联网对公网IP地址TCP21的访问映射到vsftpd服务器的eth 1网卡上。主要考虑到eth1是千兆网卡,可以物尽其用。

安装nload:
为监控vsftpd服务器的网络流量,我安装了nload。分别对eth0和eth1的进出流量进行监控,截图如下:
[attach]33675[/attach]
[attach]33676[/attach]


问题:
虽然防火墙是将互联网用户的下载请求映射到eth 1上的,但对比上面两张监控截图,可以清楚的看到:eth1很清闲,而eth0却很辛劳!
哪位高手能把这个现象解释一下吗?小弟实在是太困惑了!


下面这张对比图会看得更清楚些!
[attach]33677[/attach]
文章评论

共有 8 条评论

  1. 昊昊荡荡 于 2011-02-12 15:56:41发表:

    [i=s] 本帖最后由 昊昊荡荡 于 2011-2-12 15:58 编辑 [/i]

    引用:
    你可以强制指定所有请求从指定的一块网卡出去,就是做策略路由:ip route add
    vito.huang 发表于 2011-2-12 11:26


    这个还没学习过呢!
    能否说得再具体一些!
    谢谢!
    我想把两块网卡绑定,做负载均衡,但需要两张网卡接不同的交换机,或者交换机有聚合功能,目前这两个条件我都达不到。

  2. vito.huang 于 2011-02-12 11:26:20发表:

    你可以强制指定所有请求从指定的一块网卡出去,就是做策略路由:ip route add

  3. 昊昊荡荡 于 2011-02-12 11:09:46发表:

    [i=s] 本帖最后由 昊昊荡荡 于 2011-2-12 11:13 编辑 [/i]

    引用:

    待发送的数据包从哪个 NIC 发送,是由内核自己计算出来的,和接收请求的 NIC 没有直接关系


    既然是这样,那我发现的那个问题也就不算是什么问题了!
    这几天我把这个问题思来想去,觉得只有“内核自己计算处理的结果”这个解释最靠谱!
    你说的那个工具我会试试的!
    还有,我想把两张网卡绑定成一个,做成负载均衡。一个是千兆,一个是百兆,不会有什么影响吧!
    现在在我服务器上下载资料的人真多,我不敢轻易停服务!所以也不敢轻易尝试

  4. deepwhite 于 2011-02-12 10:41:29发表:

    引用:
    "按我的理解,从192.168.1.100进来的ftp请求,最后返回的数据包还是应该从192.168.1.100这个网卡出去啊!"

    这个理解是不准确的,待发送的数据包从哪个 NIC 发送,是由内核自己计算出来的,和接收请求的 NIC 没有直接关系。
    至于具体怎么计算,我也没搞清楚,等有时间再学习一下吧。

    解决方法倒是有,可以通过 iproute2 这个工具来管理 routing policy database ,我想应该可以通过它来进行设置,让目的地址是外
    网的包都从千兆网卡发送。

    应该是可以的,你自己仔细研究一下 iproute2 这个工具吧!

    http://www.policyrouting.org/iproute2.doc.html

  5. 昊昊荡荡 于 2011-02-11 20:03:05发表:

    引用:
    有没有可能是现在根本就没有访问 FTP 的请求,所以导致 eth1 无事可做?

    如果确认你的防火墙设置正确的话,可以再找台机器访问FTP,上传或者下载些东西,然后再观察一下两个网卡的状态。
    deepwhite 发表于 2011-2-11 08:39


    防火墙的配置肯定是没有问题的。不过,斑竹大人说“可以再找台机器访问FTP,上传或者下载些东西,然后再观察一下两个网卡的状态”。这倒是个好办法!

  6. 昊昊荡荡 于 2011-02-11 19:25:44发表:

    [i=s] 本帖最后由 昊昊荡荡 于 2011-2-11 19:58 编辑 [/i]

    引用:
    有没有可能是现在根本就没有访问 FTP 的请求,所以导致 eth1 无事可做?

    如果确认你的防火墙设置正确的话,可以再找台机器访问FTP,上传或者下载些东西,然后再观察一下两个网卡的状态。
    deepwhite 发表于 2011-2-11 08:39


    vaftpd服务开启了双日志,从日志中可以清楚的看到,ftp访问几乎是超负荷的!而且从iptraf这个网络流量监控工具提供的分协议查看网络流量的情况来看,TCP协议占的比例是最高的! 所以根本就没有ftp访问请求的情况是可以完全排除的!同时,从广大网友反映的情况来看,他们的下载都很正常,除非超过vsftpd服务器限制的总连接数。
    按我的理解,从192.168.1.100进来的ftp请求,最后返回的数据包还是应该从192.168.1.100这个网卡出去啊!怎么出去的数据包都从192.168.1.110这个非防火墙映射网卡出去了呢?
    真是搞不懂!
    还有今天发现用nload检测到的网卡流量和用ifconfig查看到的eth0发送数据有很大的出入,ifconfig显示eth0发送444.3MB,nload显示eth0发送4.47GB:

    请斑竹大人帮我看看!


    [attach]33684[/attach]

    [attach]33685[/attach]

  7. badgc 于 2011-02-11 08:45:52发表:

    帮楼主顶下

  8. deepwhite 于 2011-02-11 08:39:34发表:

    有没有可能是现在根本就没有访问 FTP 的请求,所以导致 eth1 无事可做?

    如果确认你的防火墙设置正确的话,可以再找台机器访问FTP,上传或者下载些东西,然后再观察一下两个网卡的状态。