在将 IPv6 与 ldirectord/IPVS 和 Wheezy 中的直接路由结合起来时,我遇到了一些问题。
(免责声明:此处使用的前缀 fdff:4818:7090:9c9f::/64 是虚构的;我在我的设置中使用了实际路由的 IPv6 前缀。)
我正在尝试将进入负载均衡器 (fdff:4818:7090:9c9f::137) 的 HTTP/S 会话分配到两台真实服务器 (fdff:4818:7090:9c9f::101 和 fdff:4818:7090:9c9f::102)。但是,这似乎失败了,两台服务器的静态权重最终都为 0(如果我将 quiescent=off 设置为 0,则不会添加)。
我知道这在 IPv4 中对相同的服务器有效。我知道我使用的检查在 IPv6 上对以下任一真实服务器有效:
$ curl fdff:4818:7090:9c9f::101/ldirectord.txt
ldirectord
我还有一些非 HTTP 服务(特别是 DNS 和 LDAP)通过 IPv6 运行;但是 IMAPS 和 SMTPS(除 HTTP/S 外)不起作用;POPS 很奇怪,即使服务器关闭也总是“工作”。不过我感觉影响 HTTP/S 的相同问题也影响了这些其他服务。
我已启用 DR 所需的环回网络,并且它适用于其他服务;以下是来自其中一台真实服务器的 /etc/network/interfaces 代码片段:
auto lo:0
iface lo:0 inet static
address 10.0.0.137
netmask 255.255.255.255
pre-up sysctl -w net.ipv4.conf.eth0.arp_ignore=1
pre-up sysctl -w net.ipv4.conf.eth0.arp_announce=2
iface lo:0 inet6 static
address fdff:4818:7090:9c9f::137
netmask 128
以下是 ldirectord.cf 代码片段:
virtual6=[fdff:4818:7090:9c9f::137]:80
real6=[fdff:4818:7090:9c9f::101]:80 gate
real6=[fdff:4818:7090:9c9f::102]:80 gate
service=http
scheduler=sh
request="ldirectord.txt"
receive="ldirectord"
virtual6=[fdff:4818:7090:9c9f::137]:443
real6=[fdff:4818:7090:9c9f::101]:443 gate
real6=[fdff:4818:7090:9c9f::102]:443 gate
service=https
scheduler=sh
request="ldirectord.txt"
receive="ldirectord"
以下是“ipvsadm -l”的输出:
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP [fdff:4818:7090:9c9f::137]:http sh
-> [fdff:4818:7090:9c9f::101]:http Route 0 0 0
-> [fdff:4818:7090:9c9f::102]:http Route 0 0 0
TCP [fdff:4818:7090:9c9f::137]:https sh
-> [fdff:4818:7090:9c9f::101]:https Route 0 0 0
-> [fdff:4818:7090:9c9f::102]:https Route 0 0 0
从我的 daemon.log 中,除了这些服务的 IPv6 条目从未设置为活动之外,我没有看到任何奇怪的东西。
有人有主意吗?