V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
n0bin0bita
V2EX  ›  Linux

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

  •  
  •   n0bin0bita · Oct 9, 2023 · 1594 views
    This topic created in 931 days ago, the information mentioned may be changed or developed.

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

    另外,lvs 是可以锁住 client ip 固定连接一个子节点的,然后就可以配置被动端口了
    yinmin
        10
    yinmin  
       Oct 11, 2023 via iPhone
    关于 lvs 配置端口区间,应该是需要为每个端口独立配置的,你可以让 gpt 帮你写一个 bash 批处理,或者用 excel 写公式拖拉出几百条命令,然后 bash 运行。
    julyclyde
        11
    julyclyde  
       Oct 11, 2023
    @noboinobita00 ftp 服务器配置里可以限制 pasv 的端口范围,你给它限制一下,大概就能和 LVS 一起用了吧?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6107 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 02:21 · PVG 10:21 · LAX 19:21 · JFK 22:21
    ♥ Do have faith in what you're doing.