question about ip rule uidrange

From: Gianluca Stivan <hidden>
Date: 2020-02-22 12:23:21

Hello,
I'm trying to setup routing based on uidrange, and I seem to keep hitting the same issue. My understanding is that if a certain user is running a process, the corresponding table is looked up when the uid is in the uidrange.

$ whoami
yawnt
$ id
uid=1000(yawnt) 
$ ip rule list
0:	from all lookup local
32765:	from all uidrange 1000-1000 lookup custom
32766:	from all lookup main
32767:	from all lookup default
$ ip route list table custom
default via 192.168.1.1 dev wlp4s0 proto dhcp metric 600

With this configuration, there is no internet connection. Traceroute just hangs. On a TCP level, I see SYN being sent, SYN/ACK being received, but then no ACK being sent from my computer.

However, if I change 32675 to "from all lookup custom", then it works.

$ sudo ip rule del uidrange 1000-1000
$ sudo ip rule add lookup custom
$ ip rule list
0:	from all lookup local
32765:	from all lookup custom
32766:	from all lookup main
32767:	from all lookup default
$ curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
...

I'm running ArchLinux with iproute2 version 5.5.0. I wonder if I'm doing something wrong or this is a bug?

Thanks in advance!
Best,

Gianluca
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help