lvs

使用 ldirectord/LVS 将 HTTP 重定向到 HTTPS
lvs

使用 ldirectord/LVS 将 HTTP 重定向到 HTTPS

我们正在使用 LVS 进行负载平衡,并希望进行 301 重定向http://example.com到https://example.com LVS 正在启用 https 并且没有问题,但是 http 真实服务器没有被添加到池中(权重为 0)。 LVS 不遵循 301 重定向吗?如果不遵循,如何配置 ldirectord 将所有 HTTP 流量发送到 HTTPS? 这是 nginx 配置: server { listen 80; server_name example.com; return 301 https://e...

Admin

LVS 中的单包调度及出包源地址
lvs

LVS 中的单包调度及出包源地址

我在 NAT 模式下使用 LVS (ipvsadm) 来为多个“realserver”负载平衡 UDP 流量。我使用单数据包调度,以便将来自客户端上单个源端口的流量分发到不同的 realserver。 然而,我看到的是,源自真实服务器并发送回客户端的 UDP 数据报将其源 IP / 端口设置为真实服务器的 IP / 端口,这让客户端感到困惑,因为它希望收到源 IP / 端口与他发送原始数据报的 IP / 端口匹配的回复。 这确实非常奇怪,因为 LVS 应该将真实服务器“隐藏”在虚拟 IP / 端口后面。 看来,如果我关闭单包调度,传出数据报的源 ip ...

Admin

Apache 作为负载均衡器 - 强制中断持久连接
lvs

Apache 作为负载均衡器 - 强制中断持久连接

我已经通过 mod_proxy 和 mod_proxy_balancer 使用 Apache 2.2 设置了一个负载平衡器。负载平衡工作正常,但有一种情况我找不到任何配置选项,即在使用与后端服务器的持久连接时,当其中一个服务器死机(关闭、崩溃等)时,与它的现有连接仍会尝试访问它。有没有办法配置 Apache 负载平衡器,使其退出或重新创建与死机后端服务器的连接?在 LVS 世界中,Ldirector 在 Proc FS 下有一个选项可以控制这一点: /proc/sys/net/ipv4/vs/expire_quiescent_template 当设置此...

Admin

如何在 OSX 中使用 ifconfig 创建 tun 接口?
lvs

如何在 OSX 中使用 ifconfig 创建 tun 接口?

如果我尝试这样做,我会得到以下结果: bash-3.2# ifconfig tun0 10.140.1.40 ifconfig: ioctl (SIOCAIFADDR): Destination address required 听起来这在 Linux 中不会发生(可能是 BSD 的问题)。问题是我需要一个没有特定目标地址的通用 tun 接口,因为我正在尝试像本例中那样执行 LVS-TUN,但我需要使用 OSX 真实服务器(我知道这很奇怪)。 https://www.rackspace.com/blog...

Admin

带有 NAT 路由的 lvs - 对一台真实服务器来说性能太差
lvs

带有 NAT 路由的 lvs - 对一台真实服务器来说性能太差

我有一个带有 NAT 路由和两台真实服务器的 LVS 设置(仅供参考,我们仅在 TCP 端口 80 上路由 http)。目前对真实服务器 A 的请求响应良好,页面加载时间为 3-4 秒。但是,对真实服务器 B 的请求非常慢,页面加载时间长达 5 分钟。 现在,前几天,情况正好相反,对真实服务器 B 的请求在可接受的时间范围内加载,但对服务器 A 的请求却非常慢。 不管哪种情况,绕过负载平衡器直接发送到真实服务器的请求都能很好地响应。只有通过负载平衡器的请求才会出现问题,而且只有发送到两台真实服务器中的一台的请求才会出现问题。 另一个仅供参考的是,LVS...

Admin

ipvsadm 仅按 IP 列出一些主机,其余按名称列出
lvs

ipvsadm 仅按 IP 列出一些主机,其余按名称列出

我们使用 keepalived 来管理我们的 Linux 虚拟服务器 (LVS) 负载均衡器。LVS VIP 设置为使用 iptables 中配置的 FWMARK。 virtual_server fwmark 300000 { delay_loop 10 lb_algo wrr lb_kind NAT persistence_timeout 180 protocol TCP real_server 10.10.35.31 { weight 24 MISC_CHECK { ...

Admin

虚拟机中的 KVM-LVM 出现在主机系统上
lvs

虚拟机中的 KVM-LVM 出现在主机系统上

我遇到了一个奇怪的问题,在我延长了HP RAID 阵列 该服务器充当虚拟机管理程序 (CentOS - KVM),我正在为 KVM 客户端使用逻辑卷。当我检查虚拟机管理程序上的物理卷 (pvs) 时 - 由于某种原因,它也会显示来自 KVM 客户端的物理卷(卷组和逻辑卷也是如此) # pvs PV VG Fmt Attr PSize PFree /dev/disk/by-id/dm-name-vg_01-vm01 vg_vm01 ...

Admin

LVS-源IP
lvs

LVS-源IP

我最近问了一个关于多台服务器负载平衡选项的问题(TCP 非 http 流量,非常长时间运行的连接和非常一致的带宽速率):负载平衡长时间运行的 TCP 连接 在这篇文章中,我被引导到 LVS,并尝试了一下。设置很简单,而且几乎立即就能工作,唯一的问题是我只能使用 LVS-NAT(realservers 是 windows,我不想更改它们的配置)。问题是它会重写源 IP,因此如果客户端登录,我只会看到 NAT 后的 IP,而不是他的原始源 IP。这给我们带来了监管要求方面的问题,因为我需要为每个登录的客户端记录真实的源 IP。 其他人如何处理这个问题? 谢...

Admin

从 LVS 连接表中删除/丢弃跟踪的 UDP“连接”(`ipvsadm -Lc`)
lvs

从 LVS 连接表中删除/丢弃跟踪的 UDP“连接”(`ipvsadm -Lc`)

是否可以从输出的 LVS 连接表中明确删除或丢弃跟踪的 UDP“连接” ipvsadm -Lc? 我在 Docker Swarm 部署环境中使用 LVS,当我重新启动公开 UDP 服务器的给定容器时,Docker 似乎会从实际服务器池中删除以前的容器并添加新容器,但连接表中指向旧容器的任何条目都会保留,并且必须在数据包开始重新路由到新服务器之前超时。默认超时为 300 秒,这实际上会导致连接到已停止容器的所有客户端的服务中断 5 分钟。 一个数据包调度(--ops)在理论上可能会有所帮助,但由于实现的协议不是完全无状态我希望来自同一套接字对的数据包在正常运行...

Admin

容器重启后,Docker Swarm 路由网格不会转发 UDP 流量
lvs

容器重启后,Docker Swarm 路由网格不会转发 UDP 流量

我已经设置了一个包含几个服务的 docker 堆栈。其中一项服务正在发布一个 UDP 端口,用于监听流量(它恰好是一个 Wireguard 端点,但我认为在本例中这与此无关)。 到目前为止,一切运行正常。我可以在节点的已发布端口上发送 UDP 流量,并且可以看到它通过 docker 网桥 (veeth*、docker_gwbridge) 转发到虚拟接口,并使用 tcpdump 到达容器内。 但是,当我重新启动服务容器时,新的服务容器不再正确转发 UDP 流量。在某个时刻——目前我仍不清楚触发原因究竟是什么,但似乎只是时间问题——流量突然又开始流动。 我对所有...

Admin

vyos 路由器/防火墙上的 DR 模式下的 Linux IPVS 不转发回复数据包
lvs

vyos 路由器/防火墙上的 DR 模式下的 Linux IPVS 不转发回复数据包

我正在设置以下设置: 我使用 vyos 作为路由器/防火墙 在 vyos 上,我还以 DR 模式设置了 IPVS。这意味着 IPVS 将请求数据包 MAC 地址更改为 realserver MAC 地址,并将带有原始 SRC/DST IP 的数据包转发到 realserver。 realserver 接收数据包并直接回复客户端 IP 地址。realserver 在环回上也有 VIP 地址(arp 数据包被禁用)。realserver 配置应该没问题,因为回复将发送到 vyos。 由于 vyos 位于 realservers 和客户端之间的路径上并且还充当路...

Admin

LVS 不工作
lvs

LVS 不工作

贵宾:10.110.23.239 真实服务器:10.110.23.141 级别:10.110.23.134 我在 real-server(10.110.23.141) 上部署了一个 spring-boot 应用,端口是 18787,在任何服务器上都可以成功访问。但是我无法通过 vip 连接我的应用。 keepalived配置文件 global_defs { router_id LVS_S vrrp_skip_check_adv_addr } vrrp_instance VI_1 { state BACKUP nopreemp...

Admin

IPVS 将数据包传输到错误的后端
lvs

IPVS 将数据包传输到错误的后端

我们正在使用ipvsL4 负载平衡,它以 ipip 隧道模式将数据包传输到 L7 后端。 有三个 ipvs 系统配置了源散列以实现持久性。有时,ipvs 会将数据包传输到错误的后端。 例如,ipvs 1 从客户端 1.1.1.1 接收数据包,并将该数据包发送到后端 realserver 1,同一客户端的下一个数据包由 ipvs 2 接收,然后发送到后端 realserver 2。现在,后端 2 不知道这个数据包,因为连接实际上是由 realserver 1 发起的,因此 realserver 2 使用 RST 数据包结束连接。 这不仅发生在特定客户端上,所有...

Admin

D-SACK 数据包中的 SRE 的奇怪值
lvs

D-SACK 数据包中的 SRE 的奇怪值

我正在排除生产环境中的一个奇怪的网络问题。 转储的 pcap 文件来自完整 NAT 模式 LVS ,转储文件中 ip 地址的拓扑为: 172.19.132.90(客户端)-> 172.52.0.3,172.16.246.46 -> 172.16.211.57(服务器) 转储文件的快照: https://i.stack.imgur.com/vwiWY.jpg 我注意到 D-SACK 中的 SRE 值大得令人难以置信!而且我们的客户端没有收到 ack 包。(我还在 172.19.132.90 上转储了一个文件,但看不到 ACK) 我的问题是...

Admin