From: Jon Heese <netfilter@jonheese.com>
To: netfilter@lists.netfilter.org
Subject: Re: Forward internal packets as though they're external
Date: Thu, 27 Oct 2005 17:25:22 -0400 [thread overview]
Message-ID: <436145C2.2030701@jonheese.com> (raw)
In-Reply-To: <200510270938.19458.rob0@gmx.co.uk>
Hmm. Nope.
I added this rule:
iptables -vt nat -A PREROUTING -p tcp --dport 6969 -s 192.168.0.0/24 \
-d 192.168.0.100 -j SNAT --to 65.9.134.4
And I get this error:
SNAT tcp opt -- in * out * 192.168.0.0/24 -> 192.168.0.100 tcp
dpt:6969 to:65.9.252.78
iptables: Invalid argument
Seems like it doesn't like the "SNAT" target in the PREROUTING chain (if
I replace it with "DROP", the rule inserts fine). Your idea makes
sense, Rob, but seems like something's still one step away...
Regards,
Jon Heese
/dev/rob0 wrote:
> On Thursday 2005-October-27 08:07, Jon Heese wrote:
>
>>>Change your DNAT rule to match all the packets you want to match:
>>>
>>>iptables -vt nat -A PREROUTING -d 65.9.134.4 -p tcp --dport 6969 \
>>> -j DNAT --to 192.168.0.100
>>
>>Except for the --verbose, that's exactly what I'm already doing to
>>DNAT everything from the outside through to castor's 6969. This rule
>>does not seem to be catching traffic from the inside. Do I have to
>>do something special to get internal traffic into the PREROUTING
>
>
> After I sent this (and went to bed :) ) I realised what must be
> happening: it's getting the original packet there, but replies are
> going direct to the IP of the originator.
>
> Suppose 192.168.0.129 connects to 65.9.134.4:6969 ... the router passes
> it faithfully on to 192.168.0.100. Now 192.168.0.100 has a packet from
> 192.168.0.129, and it won't send the reply to 65.9.134.4. The client at
> 192.168.0.129 is going to be confused. This cannot be a reply to my
> 65.9.134.4:6969 connection attempt, go away, Castor.
>
> Perhaps you need a SNAT rule in POSTROUTING:
> iptables -vt nat -A PREROUTING -p tcp --dport 6969 -s 192.168.0.0/24 \
> -d 192.168.0.100 -j SNAT --to 65.9.134.4
>
> A cleaner solution (not sure if applicable to BitTorrent) would be an
> alternate DNS view, so that external clients resolve the name to
> 65.9.134.4 whilst internal ones resolve to 192.168.0.100.
next prev parent reply other threads:[~2005-10-27 21:25 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-27 4:04 Forward internal packets as though they're external Jon Heese
2005-10-27 4:17 ` Buddy wu
2005-10-27 12:50 ` Jon Heese
2005-10-27 4:51 ` /dev/rob0
2005-10-27 13:07 ` Jon Heese
2005-10-27 14:38 ` /dev/rob0
2005-10-27 21:25 ` Jon Heese [this message]
2005-10-27 21:26 ` /dev/rob0
2005-10-27 23:32 ` Jon Heese
2005-10-27 23:38 ` Seferovic Edvin
[not found] <200510272238.j9RMcMFd006766@ajax.jonheese.com>
2005-10-27 23:49 ` Jon Heese
2005-10-27 23:55 ` Seferovic Edvin
[not found] <200510272255.j9RMtouv006919@ajax.jonheese.com>
2005-10-28 0:01 ` Jon Heese
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=436145C2.2030701@jonheese.com \
--to=netfilter@jonheese.com \
--cc=netfilter@lists.netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox