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