keepalived 1.2.13: Round robin UDP problem

Sven Lanckmans <[email protected]> Mon, 12 Jun 2017 10:45:02 +0200
Newsgroups gmane.linux.keepalived.announce
Message-ID <CAApg-rSbi7QW1i1rC18aUcrOhX-=QjrRW5wBAasZjQEd-wgq4A@mail.gmail.com>
--===============6758706303433956010==
Content-Type: multipart/alternative; boundary="94eb2c07fa28c925de0551bf5575"

--94eb2c07fa28c925de0551bf5575
Content-Type: text/plain; charset="UTF-8"

Hi,

I've build a setup with keepalived 1.2.13 where I want to round robin UDP
traffic. But all UDP traffic (syslog) of different sources is always send
to the same real_server.

/var/log/messages doesn't show any errors and I can see the health check
working via tcpdump.

I check where the syslog traffic is sent by doing a simple tcpdump.

I went through all the info I could find, but don't see anything wrong. I
also haven't found how to debug so that I can see why it decides to send
all different sources to the same real_server.

Thanks,
Sven.

# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
UDP  10.11.2.111:514 rr
  -> 10.11.2.103:514              Route   1      0          0
  -> 10.11.2.104:514              Route   1      0          0

My config:

! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eno16780032
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 2222
    }
    unicast_src_ip 10.11.2.103
    unicast_peer {
        10.11.2.104
    }
    virtual_ipaddress {
        10.11.2.111
    }
}

virtual_server 10.11.2.111 514 {
    delay_loop 5
    lb_algo rr
    lb_kind DR
    protocol UDP

    real_server 10.11.2.103 514 {
     TCP_CHECK {
      connect_port 22
     }
    }

    real_server 10.11.2.104 514 {
     TCP_CHECK {
      connect_port 22
     }
    }
}

--94eb2c07fa28c925de0551bf5575
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div style=3D"font-size:12.8px">Hi,</div><div style=3D"fon=
t-size:12.8px"><br></div><div style=3D"font-size:12.8px">I&#39;ve build a s=
etup with keepalived 1.2.13 where I want to round robin UDP traffic. But al=
l UDP traffic (syslog) of different sources is always send to the same real=
_server.</div><div style=3D"font-size:12.8px"><br>/var/log/messages doesn&#=
39;t show any errors and I can see the health check working via tcpdump.</d=
iv><div style=3D"font-size:12.8px"><br></div><div style=3D"font-size:12.8px=
">I check where the syslog traffic is sent by doing a simple tcpdump.</div>=
<div style=3D"font-size:12.8px"><br></div><div style=3D"font-size:12.8px">I=
 went through all the info I could find, but don&#39;t see anything wrong. =
I also haven&#39;t found how to debug so that I can see why it decides to s=
end all different sources to the same real_server.</div><div style=3D"font-=
size:12.8px"><br></div><div style=3D"font-size:12.8px">Thanks,</div><div st=
yle=3D"font-size:12.8px">Sven.</div><div style=3D"font-size:12.8px"><br></d=
iv><div style=3D"font-size:12.8px"><div># ipvsadm -L -n =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</div><div>IP Virtual Server versi=
on 1.2.1 (size=3D4096)</div><div>Prot LocalAddress:Port Scheduler Flags</di=
v><div>=C2=A0 -&gt; RemoteAddress:Port =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 F=
orward Weight ActiveConn InActConn</div><div>UDP =C2=A0<a href=3D"http://10=
.11.2.111:514/" target=3D"_blank">10.11.2.111:514</a>=C2=A0rr</div><div>=C2=
=A0 -&gt;=C2=A0<a href=3D"http://10.11.2.103:514/" target=3D"_blank">10.11.=
2.103:514</a>=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Route =
=C2=A0 1 =C2=A0 =C2=A0 =C2=A00 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A00 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0=C2=A0</div><div>=C2=A0 -&gt;=C2=A0<a href=3D"http://10=
.11.2.104:514/" target=3D"_blank">10.11.2.104:514</a>=C2=A0=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Route =C2=A0 1 =C2=A0 =C2=A0 =C2=A00 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A00 =C2=A0</div></div><div style=3D"font-size:=
12.8px"><br></div><div style=3D"font-size:12.8px">My config:</div><div styl=
e=3D"font-size:12.8px"><br></div><div style=3D"font-size:12.8px"><div>! Con=
figuration File for keepalived</div><div><br></div><div>global_defs {</div>=
<div>=C2=A0 =C2=A0notification_email {</div><div>=C2=A0 =C2=A0 =C2=A0<a hre=
f=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a></div><div>=C2=
=A0=C2=A0 }</div><div>=C2=A0 =C2=A0notification_email_from=C2=A0<a href=3D"=
mailto:[email protected]" target=3D"_blank">[email protected]</a></div><div>=
=C2=A0=C2=A0 smtp_server 192.168.200.1</div><div>=C2=A0 =C2=A0smtp_connect_=
timeout 30</div><div>=C2=A0 =C2=A0router_id LVS_DEVEL</div><div>}</div><div=
><br></div><div>vrrp_instance VI_1 {</div><div>=C2=A0 =C2=A0 state MASTER</=
div><div>=C2=A0 =C2=A0 interface eno16780032</div><div>=C2=A0 =C2=A0 virtua=
l_router_id 51</div><div>=C2=A0 =C2=A0 priority 100</div><div>=C2=A0 =C2=A0=
 advert_int 1</div><div>=C2=A0 =C2=A0 authentication {</div><div>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 auth_type PASS</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 auth=
_pass 2222</div><div>=C2=A0 =C2=A0 }</div><div>=C2=A0 =C2=A0 unicast_src_ip=
 10.11.2.103</div><div>=C2=A0 =C2=A0 unicast_peer {</div><div>=C2=A0 =C2=A0=
 =C2=A0 =C2=A0 10.11.2.104</div><div>=C2=A0 =C2=A0 }</div><div>=C2=A0 =C2=
=A0 virtual_ipaddress {</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 10.11.2.111</=
div><div>=C2=A0 =C2=A0 }</div><div>}</div><div><br></div><div>virtual_serve=
r 10.11.2.111 514 {</div><div>=C2=A0 =C2=A0 delay_loop 5</div><div>=C2=A0 =
=C2=A0 lb_algo rr</div><div>=C2=A0 =C2=A0 lb_kind DR</div><div>=C2=A0 =C2=
=A0 protocol UDP</div><div><br></div><div>=C2=A0 =C2=A0 real_server 10.11.2=
.103 514 {</div><div>=C2=A0 =C2=A0 =C2=A0TCP_CHECK {</div><div>=C2=A0 =C2=
=A0 =C2=A0 connect_port 22</div><div>=C2=A0 =C2=A0 =C2=A0}</div><div>=C2=A0=
 =C2=A0 }</div><div><br></div><div>=C2=A0 =C2=A0 real_server 10.11.2.104 51=
4 {</div><div>=C2=A0 =C2=A0 =C2=A0TCP_CHECK {</div><div>=C2=A0 =C2=A0 =C2=
=A0 connect_port 22</div><div>=C2=A0 =C2=A0 =C2=A0}</div><div>=C2=A0 =C2=A0=
 }</div><div>}</div></div></div>

--94eb2c07fa28c925de0551bf5575--


--===============6758706303433956010==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
--===============6758706303433956010==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Keepalived-announce mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-announce

--===============6758706303433956010==--