V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
n0bin0bita
V2EX  ›  Linux

基于 LVS 构建被动模式 ftp 负载均衡遇到的问题

  •  
  •   n0bin0bita · 283 天前 · 917 次点击
    这是一个创建于 283 天前的主题,其中的信息可能已经有所发展或是发生改变。

    lvs 简单架构如图,我做了以下配置: LVS 服务器:

    ipvsadm -A -t 192.168.3.240:31899 -s wlc -p
    ipvsadm -a -t 192.168.3.240:31899 -r 192.168.3.237:31899 -g
    ipvsadm -a -t 192.168.3.240:31899 -r 192.168.3.238:31899 -g
    modprobe ip_vs_ftp ports=31899
    

    FTP 服务器:

    ip addr del 192.168.3.240/32 dev lo
    

    配置了被动模式 FTP ,被动端口范围为:31900-32900 arp_ignore ,arp_announceh 均已配置

    现在效果是,可以登录成功,也可以获取到被动 ip 和端口号,但是向被动 ip 和端口号发送请求时无法响应,ftp 服务端日志没有异常信息。 FileZilla 连接日志如图,ftp

    学术不精,不知道哪里有问题,大佬们给指点下

    11 条回复    2023-10-11 14:52:20 +08:00
    julyclyde
        1
    julyclyde  
       283 天前
    我觉得不如直接废弃掉 ftp 算了
    从各种观点来看,ftp 都属于设计的比较差的那种作品
    在这上面浪费掉的时间明显高于收益
    n0bin0bita
        2
    n0bin0bita  
    OP
       283 天前
    @julyclyde 工作需要你懂的
    devopsdogdog
        3
    devopsdogdog  
       283 天前
    被动不行就换成主动呗 ,1 个端口还好管理
    yinmin
        4
    yinmin  
       282 天前 via iPhone
    pasv 返回的 IP 地址是 lvs 的 IP 吗? 在 lvs 上配置了被动端口号了没?
    yinmin
        5
    yinmin  
       282 天前 via iPhone
    @devopsdogdog ftp 主动模式是:ftp server 直接发起 tcp 连客户端(客户端要侦听端口),这种远古的妖孽操作已经不适应当前的网络了。
    julyclyde
        6
    julyclyde  
       282 天前
    @devopsdogdog 服务器节点可能没权限往外发起连接吧?
    现在能勉强用下来的都是(需要 helper 支持)被动模式
    yinmin
        7
    yinmin  
       282 天前 via iPhone
    @noboinobita00 你图片打码的位置不仅仅是端口号,还包含服务器 ip 地址,你核对 pasv 返回的 ip 地址和端口号是否 lvs 配置正确
    n0bin0bita
        8
    n0bin0bita  
    OP
       281 天前
    @yinmin 我配置了返回 LVS 的 ip 时,需要 LVS 再配置被动端口的的转发,但是我们的被动端口范围比较广,我没有查到关于端口范围的配置,而且还有一个问题时,被动端口的流量也会被调度的不同的 RS 这样还是无法正常使用,所以后来我们把被动 IP 设置为了 RS 的 ip 这样我测试了下还是不行
    yinmin
        9
    yinmin  
       281 天前 via iPhone
    @noboinobita00 被动 ftp 的原理就是 ftp server 把 ip 地址和端口号通过 pasv 指令发给 ftp client ,让 client 连这个 ip 和端口,不复杂,你仔细检查 client 到 pasv 的 ip:port 网络即可。

    另外,lvs 是可以锁住 client ip 固定连接一个子节点的,然后就可以配置被动端口了
    yinmin
        10
    yinmin  
       281 天前 via iPhone
    关于 lvs 配置端口区间,应该是需要为每个端口独立配置的,你可以让 gpt 帮你写一个 bash 批处理,或者用 excel 写公式拖拉出几百条命令,然后 bash 运行。
    julyclyde
        11
    julyclyde  
       281 天前
    @noboinobita00 ftp 服务器配置里可以限制 pasv 的端口范围,你给它限制一下,大概就能和 LVS 一起用了吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5062 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:05 · PVG 17:05 · LAX 02:05 · JFK 05:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.