1

I'm encountering a bit of a problem when combining IPv6 with ldirectord/IPVS and direct routing in Wheezy.

(Disclaimer: the prefix fdff:4818:7090:9c9f::/64 used here is made up; I'm using an actual routed IPv6 prefix in my setup.)

I'm trying to distribute HTTP/S sessions coming into a loadbalancer (fdff:4818:7090:9c9f::137) and going to two real servers (fdff:4818:7090:9c9f::101 and fdff:4818:7090:9c9f::102). However, this appears to be failing and both servers end up with a quiescent weight of 0 (or not added if I have quiescent=off).

I know that this works in IPv4 for the same servers. I know that the check I'm using works over IPv6 to either real server:

$ curl fdff:4818:7090:9c9f::101/ldirectord.txt
ldirectord

I also have some non-HTTP services (specifically DNS and LDAP) working over IPv6; IMAPS and SMTPS (in addition to HTTP/S) however don't work; POPS is weird and always "working" even if the server is off. I have a feeling though that the same problem affecting HTTP/S is affecting these other services as well.

I have the DR-required loopback networking enabled, and this is working for those other services; here is the /etc/network/interfaces snippit from one of the real servers:

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

Here's the ldirectord.cf snippit:

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"

And here's the output from "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  

From my daemon.log, I don't see anything strange except that the IPv6 entries for these services are never set active.

Anyone have any ideas?

Joshua Boniface
  • 346
  • 3
  • 14

0 Answers0