From: Donald Murray <donaldm314@gmail.com>
To: Jason Opperisano <opie@817west.com>, netfilter@lists.netfilter.org
Subject: Re: dnatting
Date: Tue, 12 Jul 2005 21:21:43 -0600 [thread overview]
Message-ID: <12984bb0050712202131980c46@mail.gmail.com> (raw)
In-Reply-To: <20050711184520.GA17202@bender.817west.com>
On 7/11/05, Jason Opperisano <opie@817west.com> wrote:
> On Mon, Jul 11, 2005 at 11:18:30AM -0400, Payal Rathod wrote:
> > Hi,
> > I have a rule on my friend's broadband connection to redirect traffic
> > from outside to an internal machine like,
> >
> > iptables -A PREROUTING -d 1.2.3.4 -p tcp -m tcp --dport 80 -j DNAT \
> > --to-destination 192.168.10.10:80
> >
> > But she complained that people from inside the network cannot do
> > http://1.2.3.4 in their browser and see the site. Is she correct?
> > What is wrong with my rule because I can see the site from outside?
>
> 1) client; say 192.168.10.100, sends TCP SYN to 1.2.3.4
>
> 2) iptables machine receives packet destined for 1.2.3.4, DNAT's it to
> 192.168.10.10 and forwards the packet out the internal interface
>
> 3) 192.168.10.10 receives TCP SYN from 192.168.10.100 and replies
> directly to 192.168.10.100 with a SYN/ACK
>
> 4) client; 192.168.10.100, receives SYN/ACK from 192.168.10.10 and
> discards it, as it matches no connection in the SYN_SENT state
> (recall that our SYN was sent to 1.2.3.4).
>
> that the why. the proper way to avoid this is to have people on the
> inside connect to 192.168.10.10. i will leave all the half-assed
> work-arounds and kludges as an exercise for the reader and other
> posters.
>
> -j
>
> --
> "Peter: This party couldn't be better if Jesus was here.
> Jesus: For my next miracle, I will turn water... into FUNK."
> --Family Guy
>
>
Because the destination server is on the same subnet, users on the inside
could indeed connect directly to that machine. Alternatively this could be
handled via DNS.
However, if the destination server is inside a DMZ, the firewall needs
to DNAT in
PREROUTING and SNAT in POSTROUTING. The DNAT gets traffic to
the DMZ, the SNAT allows it back. Something like:
iptables --table nat -A PREROUTING -p tcp -i $LAN_INTERFACE --dport http \
-d $INTERNET_IP -j DNAT --to-destination $DMZ_HTTP_IP
iptables --table nat -A POSTROUTING -d $DMZ_HTTP_IP -s $LAN_IP_RANGE \
-p tcp --dport http -j SNAT --to-source $LAN_IP
next prev parent reply other threads:[~2005-07-13 3:21 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-11 15:18 dnatting Payal Rathod
2005-07-11 15:20 ` dnatting Jan Engelhardt
2005-07-11 18:21 ` dnatting Payal Rathod
2005-07-11 18:38 ` dnatting /dev/rob0
2005-07-11 18:42 ` dnatting Jan Engelhardt
2005-07-11 15:24 ` dnatting Scott
2005-07-11 18:45 ` dnatting Jason Opperisano
2005-07-11 18:54 ` dnatting Jan Engelhardt
2005-07-13 3:21 ` Donald Murray [this message]
2005-07-13 4:48 ` dnatting Jason Opperisano
2005-07-14 15:42 ` dnatting curby .
2005-07-14 15:49 ` dnatting curby .
-- strict thread matches above, loose matches on Subject: below --
2005-07-11 19:09 dnatting Gary W. Smith
2005-07-12 7:34 ` dnatting Payal Rathod
2005-07-12 11:59 ` dnatting Jason Opperisano
2005-07-12 12:50 ` dnatting Payal Rathod
2005-07-12 21:03 ` dnatting Steven M Campbell
2005-07-12 14:05 dnatting Gary W. Smith
2005-07-12 23:19 dnatting Gary W. Smith
2005-07-13 10:39 ` dnatting Jan Engelhardt
2005-07-13 21:19 ` dnatting R. DuFresne
2005-07-13 14:50 ` dnatting Steven M Campbell
2005-07-13 16:33 ` dnatting Donald Murray
2005-07-13 16:39 ` dnatting Steven M Campbell
2005-07-13 16:28 dnatting Gary W. Smith
2005-07-13 16:40 ` dnatting Steven M Campbell
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=12984bb0050712202131980c46@mail.gmail.com \
--to=donaldm314@gmail.com \
--cc=netfilter@lists.netfilter.org \
--cc=opie@817west.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.