[LARTC] how to route traffic from LAN over ppp0 to gateway to ppp1

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a multi-part message in MIME format.

--Boundary_(ID_2sIFfKeKSMzhawkcGCGUVw)
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: QUOTED-PRINTABLE

Hi,

I have a routing problem that I want to share with you people ;)

My situation is as follows:=20

    Workstation
            |
        Server
       |        |
    ppp0    ppp1

As you see, i have 2 internet connections. One of them (ppp1) is dedi=
cated to some gameservers I am running. To make sure all incoming tra=
fic on this interface also leaves via this interface, I added the fol=
lowing 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 r=
unning on ppp1, I will never receive any packets, that's why I have a=
lso 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 gameserv=
ers are communicating with some master servers to authenticate my cdk=
ey. The client (my workstation) sends a message to the master which c=
hecks my cdkey and stores the result of that with my ip. When I conne=
ct 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. An=
d 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 (p=
pp0). As you understand, because of this it is impossible for me to l=
ogon on my gameservers :(

What I have tried to do, is to route traffic coming from my Workstati=
on with destination ppp1 over ppp0 to the gateway. Then the gateway w=
ould send the traffic back to ppp1 and both the master and my gameser=
vers 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 jus=
t impossible for a server to route traffic, with destination a interf=
ace on the server itself, to a gateway? If so, do you maybe have anot=
her idea on how I could solve this problem?=20

Thanks in advance,

Pim

--Boundary_(ID_2sIFfKeKSMzhawkcGCGUVw)
Content-type: text/html; charset=iso-8859-1
Content-transfer-encoding: QUOTED-PRINTABLE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-8=
859-1">
<META content=3D"MSHTML 6.00.2800.1126" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I have a routing problem that I want=
 to share with=20
you people ;)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>My situation is as follows: </FONT><=
/DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; Workstation</FONT=
></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
&nbsp;&nbsp;&nbsp; |</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp=
;=20
Server</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; |&nb=
sp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; |</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; ppp0&nbsp;&nbsp;&=
nbsp;=20
ppp1</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>As you see, i have 2 internet connec=
tions. One of=20
them (ppp1) is dedicated to some gameservers I am running.&nbsp;To ma=
ke sure all=20
incoming trafic on this interface also leaves via this interface, I a=
dded the=20
following rules:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; from&nbsp;all to =
145.y.y.y=20
lookup ppp1<BR>&nbsp;&nbsp;&nbsp; from 145.y.y.y lookup ppp1<BR></FON=
T><FONT=20
face=3DArial size=3D2></FONT></DIV>
<DIV><FONT face=3DArial size=3D2>And table ppp1 contains the followin=
g=20
entries:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; 145.y.y.y dev ppp=
1&nbsp; scope=20
link<BR>&nbsp;&nbsp;&nbsp; default via 145.y.y.0 dev ppp1</FONT></DIV=
>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>It is clear that&nbsp;when I connect=
 from my=20
Workstation to a gameserver running on ppp1, I will never receive any=
 packets,=20
that's why I have also added the following rules:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; from 145.y.y.y to=
 192.168.0.0/16=20
lookup main<BR>&nbsp;&nbsp;&nbsp; from 192.168.0.0/16 to 145.y.y.y lo=
okup=20
main<BR></FONT></DIV>
<DIV><FONT face=3DArial size=3D2>So this is all working well, but her=
e comes the=20
problem. The gameservers are communicating with&nbsp;some master serv=
ers to=20
authenticate my cdkey. The client (my workstation) sends a message to=
 the master=20
which checks my cdkey and stores the result of that with my ip. When =
I connect=20
to a gameserver, the server connects also to that master and asks if =
the player=20
has a valid cdkey by sending the players IP address. And there is the=
 problem.=20
Because I am connecting from a LAN behind my server, the gameservers =
which runs=20
on my server see me with a 192.168.x.x address, but the master server=
 is seeing=20
my public IP address (ppp0). As you understand, because of this it is=
 impossible=20
for me to logon on my gameservers :(</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>What I have tried to do, is to route=
 traffic coming=20
=66rom my Workstation with destination ppp1 over ppp0 to the gateway.=
 Then the=20
gateway would send the traffic back to ppp1 and both the master and m=
y=20
gameservers see my public IP address. This is what I have done:</FONT=
></DIV>
<DIV><FONT face=3DArial size=3D2>The rule</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; "from 192.168.0.0=
/16 to=20
145.y.y.y lookup main"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>changed in</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; "from 192.168.0.0=
/16 to=20
145.y.y.y lookup ppp0"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>and I deleted the rule</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; "from 145.y.y.y t=
o=20
192.168.0.0/16 lookup main"</FONT><BR><FONT face=3DArial size=3D2></F=
ONT></DIV>
<DIV><FONT face=3DArial size=3D2>table ppp0 looks like this:</FONT></=
DIV>
<DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; 145.x.x.x dev ppp=
0&nbsp; scope=20
link<BR>&nbsp;&nbsp;&nbsp;&nbsp;145.y.y.y via 145.x.x.0 dev=20
ppp0</FONT></DIV></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Unfortunately this aint working, but=
 what am I=20
doing wrong? Is it just impossible for a server to&nbsp;route traffic=
, with=20
destination a interface on the server itself, to a gateway? If so, do=
 you maybe=20
have another idea on how I could solve this problem? </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks in advance,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Pim</DIV></FONT></BODY></HTML>

--Boundary_(ID_2sIFfKeKSMzhawkcGCGUVw)--


[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux