Dag Allemaal,
Er lijken problemen te zijn met de sessieverwerking van NAT-farms. Nadat een of meerdere backends uitvallen, kunnen alle of sommige clients geen verbinding meer maken, zelfs niet nadat de backends weer opgestart zijn. Alleen een herstart van de farm helpt.
Mijn configuratie:
- RELIANOID CE-versie 7.6.1
– l4xnat farm, TCP, NAT, bron-IP-persistentie, farmguardian check_tcp (verbindingen verbreken), meerdere backends
Een paar dingen die ik ontdekte:
a) /usr/share/perl5/Relianoid/Farm/L4xNAT/Backend.pm in setL4FarmBackendsSessionsRemove:
regel 307: 'if ($value eq $value_check)' werkt nooit, bijvoorbeeld “80000201” eq “201”
b) Het verwijderen van sessies werkt niet betrouwbaar als meerdere backends tegelijkertijd uitvallen (nadat de bovenstaande regel snel is opgelost door 80000 uit $value te verwijderen)
Voorbeelduitvoer van “nft list map ip nftlb persist-myfarm”:
Alle drie de back-ends omhoog:
tabel ip nftlb {
kaart persist-myfarm {
type ipv4_addr : markeren
size 65535
time-out 12u
elementen = { 192.168.1.11 time-out 12u verloopt 11u59m56s208ms : 0x80000200, 192.168.1.12 time-out 12u verloopt 11u59m51s32ms : 0x80000201,
192.168.1.10 time-out 12u verloopt 11u59m54s508ms : 0x80000202 }
}
}
Backends 201 en 202 gelijktijdig afsluiten, de sessie van bron-IP 192.168.1.12 is niet verwijderd:
tabel ip nftlb {
kaart persist-myfarm {
type ipv4_addr : markeren
size 65535
time-out 12u
elementen = { 192.168.1.11 time-out 12u verloopt 11u59m59s412ms : 0x80000200, 192.168.1.12 time-out 12u verloopt 11u59m47s92ms : 0x80000201 }
}
}
Met vriendelijke groet,
Stefan
Hoi Stefan!
Bedankt voor uw melding. We hebben het probleem kunnen reproduceren. We zullen het grondig analyseren en u zo snel mogelijk een passende oplossing aanbieden.
Cheers.
Hoi nevola,
Geweldig, bedankt dat je dit hebt uitgezocht!
Met vriendelijke groet,
Stefan
Hoi Stefan, we hebben een patch die het probleem oplost.
Kunt u ons alstublieft schrijven om support@relianoid.com zodat we de patch kunnen implementeren.
Cheers.