微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Keepalived:不可预知的转发方式

如何解决Keepalived:不可预知的转发方式

我正在用 keepalived 试验 multipass,我的配置偶尔会起作用。

当我重新启动我的 keepalived 服务时,Forward 输出中的 ipvsadm -Ln 列发生变化。

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.64.64:80 rr
  -> 192.168.64.3:80              Tunnel  100    0          0
  -> 192.168.64.6:80              Tunnel  100    0          0
TCP  192.168.64.65:80 rr
  -> 192.168.64.3:80              Tunnel  100    0          1
  -> 192.168.64.6:80              Tunnel  100    0          1
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.64.64:80 rr
  -> 192.168.64.3:80              (null)  100    0          0
  -> 192.168.64.6:80              (null)  100    0          0
TCP  192.168.64.65:80 rr
  -> 192.168.64.3:80              (null)  100    0          1
  -> 192.168.64.6:80              (null)  100    0          1

当它是 (null)Local 时,curl 虚拟 ip 导致连接被拒绝。

当为Masq时,curl虚拟ip无输出

当它是 RouteTunnel 时,curl 起作用。

我无法预测它会出现哪种模式,每次重启都有不同的结果。并且成功率(拥有Route或Tunnel)非常低。

这是我的配置:

virtual_server 192.168.64.64 80 {
    delay_loop 5
    lb_algo rr
    lb_kind tun
    protocol tcp

    real_server 192.168.64.3 80 {
        weight 100
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }

    real_server 192.168.64.6 80 {
        weight 100
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。