Mailing List Archive

[lvs-users] ipvs udp forwarding problem
Hi,
My task is to present a VIP and forward udp to two different servers
depending on port.

To keep it simple I have 1 traffic director (.224) and 2 real servers (.225
and .233)

I see data going to the vip but nothing going to the destination (via
tcpdump).

The destination real server does not have a route back to the vip, as UDP
packets do not require a return route. (All netflow data).

Oracle Linux 7.2 kernel 3.10.0-327

# ipvsadm -Lnc
IPVS connection entries
pro expire state source virtual destination
UDP 05:00 UDP 10.193.229.228:40953 10.60.7.224:2055
10.60.7.225:2055

]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
UDP 10.60.7.224:2055 rr
-> 10.60.7.225:2055 Route 100 0 1
UDP 10.60.7.224:2056 rr
-> 10.60.7.225:2056 Route 100 0 0
UDP 10.60.7.224:2222 rr
-> 10.60.7.225:2222 Route 100 0 0
UDP 10.60.7.224:6343 rr
-> 10.60.7.233:6343 Route 100 0 0


Traffic comes to the vip, but does not go out to .225
tcpdump -n port 2055
(port iop == 2055)

23:50:25.567653 IP 10.193.229.228.40953 > 10.60.7.224.iop: UDP, length 1372
23:50:25.567672 IP 10.193.229.228.40953 > 10.60.7.224.iop: UDP, length 1372
23:50:26.421060 IP 10.193.229.228.40953 > 10.60.7.224.iop: UDP, length 1460
23:50:26.421079 IP 10.193.229.228.40953 > 10.60.7.224.iop: UDP, length 1460

sysctls
net.ipv4.conf.eth0.arp_ignore = 0
net.ipv4.conf.eth0.arp_announce = 0
net.ipv4.ip_forward=1
net.ipv4.conf.eth0.rp_filter=0
net.ipv4.conf.eth0.accept_local=1

iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
UP qlen 1000
link/ether 42:a1:42:03:07:31 brd ff:ff:ff:ff:ff:ff
inet 10.60.7.231/22 brd 10.60.7.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.60.7.224/32 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::40a1:42ff:fe03:731/64 scope link
valid_lft forever preferred_lft forever

ip route

default via 10.60.4.1 dev eth0 proto static metric 100
10.60.4.0/22 dev eth0 proto kernel scope link src 10.60.7.231 metric
100



global_defs {
router_id LVS_FLOW
}

vrrp_instance VI_1 {
state BACKUP
interface eth0
lvs_sync_daemon_interface eth0
virtual_router_id 102
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass XXXX
}
virtual_ipaddress {
10.60.7.224
}
}

virtual_server 10.60.7.224 6343 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol UDP

real_server 10.60.7.233 6343 {
weight 100
}
}

virtual_server 10.60.7.224 2055 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol UDP

real_server 10.60.7.225 2055 {
weight 100
}
}

virtual_server 10.60.7.224 2056 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol UDP

real_server 10.60.7.225 2056 {
weight 100
}
}

virtual_server 10.60.7.224 2222 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol UDP

real_server 10.60.7.225 2222 {
weight 100
}
}

Any help?
Thanks
-Zetan503
_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@LinuxVirtualServer.org
Send requests to lvs-users-request@LinuxVirtualServer.org
or go to http://lists.graemef.net/mailman/listinfo/lvs-users
Re: [lvs-users] ipvs udp forwarding problem [ In reply to ]
Did app listen VIP in real server?
http://kb.linuxvirtualserver.org/wiki/UDP_service_binding_issue_in_LVS/DR_and_LVS/TUN

2016-12-06 7:58 GMT+08:00 Zetan Drableg <zetan.drableg@gmail.com>:

> Hi,
> My task is to present a VIP and forward udp to two different servers
> depending on port.
>
> To keep it simple I have 1 traffic director (.224) and 2 real servers (.225
> and .233)
>
> I see data going to the vip but nothing going to the destination (via
> tcpdump).
>
> The destination real server does not have a route back to the vip, as UDP
> packets do not require a return route. (All netflow data).
>
> Oracle Linux 7.2 kernel 3.10.0-327
>
> # ipvsadm -Lnc
> IPVS connection entries
> pro expire state source virtual destination
> UDP 05:00 UDP 10.193.229.228:40953 10.60.7.224:2055
> 10.60.7.225:2055
>
> ]# ipvsadm -Ln
> IP Virtual Server version 1.2.1 (size=4096)
> Prot LocalAddress:Port Scheduler Flags
> -> RemoteAddress:Port Forward Weight ActiveConn InActConn
> UDP 10.60.7.224:2055 rr
> -> 10.60.7.225:2055 Route 100 0 1
> UDP 10.60.7.224:2056 rr
> -> 10.60.7.225:2056 Route 100 0 0
> UDP 10.60.7.224:2222 rr
> -> 10.60.7.225:2222 Route 100 0 0
> UDP 10.60.7.224:6343 rr
> -> 10.60.7.233:6343 Route 100 0 0
>
>
> Traffic comes to the vip, but does not go out to .225
> tcpdump -n port 2055
> (port iop == 2055)
>
> 23:50:25.567653 IP 10.193.229.228.40953 > 10.60.7.224.iop: UDP, length 1372
> 23:50:25.567672 IP 10.193.229.228.40953 > 10.60.7.224.iop: UDP, length 1372
> 23:50:26.421060 IP 10.193.229.228.40953 > 10.60.7.224.iop: UDP, length 1460
> 23:50:26.421079 IP 10.193.229.228.40953 > 10.60.7.224.iop: UDP, length 1460
>
> sysctls
> net.ipv4.conf.eth0.arp_ignore = 0
> net.ipv4.conf.eth0.arp_announce = 0
> net.ipv4.ip_forward=1
> net.ipv4.conf.eth0.rp_filter=0
> net.ipv4.conf.eth0.accept_local=1
>
> iptables -L -n
> Chain INPUT (policy ACCEPT)
> target prot opt source destination
>
> Chain FORWARD (policy ACCEPT)
> target prot opt source destination
>
> Chain OUTPUT (policy ACCEPT)
> target prot opt source destination
>
> ip a s
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
> link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> inet 127.0.0.1/8 scope host lo
> valid_lft forever preferred_lft forever
> inet6 ::1/128 scope host
> valid_lft forever preferred_lft forever
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
> UP qlen 1000
> link/ether 42:a1:42:03:07:31 brd ff:ff:ff:ff:ff:ff
> inet 10.60.7.231/22 brd 10.60.7.255 scope global eth0
> valid_lft forever preferred_lft forever
> inet 10.60.7.224/32 scope global eth0
> valid_lft forever preferred_lft forever
> inet6 fe80::40a1:42ff:fe03:731/64 scope link
> valid_lft forever preferred_lft forever
>
> ip route
>
> default via 10.60.4.1 dev eth0 proto static metric 100
> 10.60.4.0/22 dev eth0 proto kernel scope link src 10.60.7.231 metric
> 100
>
>
>
> global_defs {
> router_id LVS_FLOW
> }
>
> vrrp_instance VI_1 {
> state BACKUP
> interface eth0
> lvs_sync_daemon_interface eth0
> virtual_router_id 102
> priority 100
> advert_int 1
> authentication {
> auth_type PASS
> auth_pass XXXX
> }
> virtual_ipaddress {
> 10.60.7.224
> }
> }
>
> virtual_server 10.60.7.224 6343 {
> delay_loop 6
> lb_algo rr
> lb_kind DR
> protocol UDP
>
> real_server 10.60.7.233 6343 {
> weight 100
> }
> }
>
> virtual_server 10.60.7.224 2055 {
> delay_loop 6
> lb_algo rr
> lb_kind DR
> protocol UDP
>
> real_server 10.60.7.225 2055 {
> weight 100
> }
> }
>
> virtual_server 10.60.7.224 2056 {
> delay_loop 6
> lb_algo rr
> lb_kind DR
> protocol UDP
>
> real_server 10.60.7.225 2056 {
> weight 100
> }
> }
>
> virtual_server 10.60.7.224 2222 {
> delay_loop 6
> lb_algo rr
> lb_kind DR
> protocol UDP
>
> real_server 10.60.7.225 2222 {
> weight 100
> }
> }
>
> Any help?
> Thanks
> -Zetan503
> _______________________________________________
> Please read the documentation before posting - it's available at:
> http://www.linuxvirtualserver.org/
>
> LinuxVirtualServer.org mailing list - lvs-users@LinuxVirtualServer.org
> Send requests to lvs-users-request@LinuxVirtualServer.org
> or go to http://lists.graemef.net/mailman/listinfo/lvs-users
>
_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@LinuxVirtualServer.org
Send requests to lvs-users-request@LinuxVirtualServer.org
or go to http://lists.graemef.net/mailman/listinfo/lvs-users