0

I know question was answered multiple times, but this situation a bit different.

So here is what I have:

  • All users must user default gateway on eth0, except one
  • That one must only use gateway on eth1 and must not under any circumstances use eth0

Separately this things easy to implement, but together... With setup it mostly works: 1002 user goes via eth1 and goes nowehere if it's not available. However, some hosts are still routed via eth0. I have no idea why.

Here is my setup:

user@localhost:~$ ip rule

0:  from all lookup local
1000:   from all fwmark 0x5 lookup 5
2000:   from all fwmark 0x5 lookup 6
32766:  from all lookup main
32767:  from all lookup default`


user@localhost:~$ ip route list table 5
0.0.0.0/1 via 10.10.0.185 dev eth1


user@localhost:~$ ip route list table 6

blackhole 0.0.0.0/1


user@localhost:~$sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT


user@localhost:~$ sudo iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A POSTROUTING -o eth1 -j MASQUERADE


user@localhost:~$ sudo iptables -t mangle -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A OUTPUT -m owner --uid-owner 1002 -j MARK --set-xmark 0x5/0xffffffff

1 Answer 1

2

You specified a route of 0.0.0.0/1. This subnet consists of 0.0.0.0 through 127.255.255.255 inclusive. It's not at all clear why you would want to only route half of the possible IP addresses. I suspect you meant to route all of it (e.g. 0.0.0.0/0) instead.

1
  • yup, that was an issue. just noticed that. And pattern of ip address routed via eth0. Apparently, just typing everything here helped me solve it. Thanks.
    – Andoriyu
    Aug 4, 2014 at 21:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.