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)
andLocal
时,curl
虚拟 ip 导致连接被拒绝。
如果是Masq
,则curl
虚拟 ip 不会导致输出。
当它是Route
andTunnel
时,curl
有效。
我无法预测它会出现哪种模式,每次重启都有不同的结果。而且(拥有路线或隧道的)成功率非常低。
这是我的配置:
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
}
}
}
解决方案
推荐阅读
- java - 我在春季使用 SOAP 的代码优先方法没有正确生成 XSD 和 WSDL
- php - 插入的值应该是 0 但它是空的
- python - 无法安装 Kivy。视窗 10
- android - 从没有 ID 的 Firebase 中删除记录
- angular - 在表单 Array Angular 8 中添加 2 个表单控件
- python - Discord bot python DM消息在踢之前
- sql-server - SSIS 导入 CSV 部分结构化部分非结构化
- node.js - 我在使用 tsc 构建时遇到此错误
- android - 即使会话处于活动状态,启动器活动也会立即显示
- r - 为什么 Adam 优化无法在线性回归中收敛?