Hi,
 
I have a routing problem that I want to share with you people ;)
 
My situation is as follows:
 
    Workstation
            |
        Server
       |        |
    ppp0    ppp1
 
As you see, i have 2 internet connections. One of them (ppp1) is dedicated to some gameservers I am running. To make sure all incoming trafic on this interface also leaves via this interface, I added the following rules:
    from all to 145.y.y.y lookup ppp1
    from 145.y.y.y lookup ppp1
And table ppp1 contains the following entries:
    145.y.y.y dev ppp1  scope link
    default via 145.y.y.0 dev ppp1
 
It is clear that when I connect from my Workstation to a gameserver running on ppp1, I will never receive any packets, that's why I have also added the following rules:
    from 145.y.y.y to 192.168.0.0/16 lookup main
    from 192.168.0.0/16 to 145.y.y.y lookup main
So this is all working well, but here comes the problem. The gameservers are communicating with some master servers to authenticate my cdkey. The client (my workstation) sends a message to the master which checks my cdkey and stores the result of that with my ip. When I connect to a gameserver, the server connects also to that master and asks if the player has a valid cdkey by sending the players IP address. And there is the problem. Because I am connecting from a LAN behind my server, the gameservers which runs on my server see me with a 192.168.x.x address, but the master server is seeing my public IP address (ppp0). As you understand, because of this it is impossible for me to logon on my gameservers :(
 
What I have tried to do, is to route traffic coming from my Workstation with destination ppp1 over ppp0 to the gateway. Then the gateway would send the traffic back to ppp1 and both the master and my gameservers see my public IP address. This is what I have done:
The rule
    "from 192.168.0.0/16 to 145.y.y.y lookup main"
changed in
    "from 192.168.0.0/16 to 145.y.y.y lookup ppp0"
and I deleted the rule
    "from 145.y.y.y to 192.168.0.0/16 lookup main"
table ppp0 looks like this:
    145.x.x.x dev ppp0  scope link
    145.y.y.y via 145.x.x.0 dev ppp0
 
Unfortunately this aint working, but what am I doing wrong? Is it just impossible for a server to route traffic, with destination a interface on the server itself, to a gateway? If so, do you maybe have another idea on how I could solve this problem?
 
Thanks in advance,
 
Pim