Linux Netfilter discussions
 help / color / mirror / Atom feed
From: Michael Gale <michael.gale@pason.com>
To: Bill Tangren <bjt@aa.usno.navy.mil>
Cc: netfilter@lists.netfilter.org
Subject: Re: DMZ problems
Date: Tue, 23 Jan 2007 07:41:47 -0700	[thread overview]
Message-ID: <45B61EAB.1040706@pason.com> (raw)
In-Reply-To: <45B12F3B.5020306@aa.usno.navy.mil>

Hey,

	Why can you not use DNAT ?

If you can not NAT the traffic then it needs to function as a router or a bridge. A lot of companies use a "Interconnect". the ISP will provide a small public subnet which 
is available behind a public IP.

So our ISP provides us with a /27 subnet of public IP's available behind a public IP:

ISP -> route (X.X.X.X/27) -> external IP (Cisco router) Internal IP[X.X.X.X/27]

So on the "internal" side of our Cisco router is a small /27 public routeable network. We then assign the public IP's to our firewall and other systems if needed.

You could do the same, if you were provided a small subnet. You could also create bridge.

Michael


Bill Tangren wrote:
> Hello,
> 
> I'm trying to set up a firewall with a DMZ using iptables, but without 
> the use of NATing. [This firewall is going to be on the SIPRNet, and I'm 
> told that I cannot use NATing.] I think the lack of NATing is what is 
> causing the problems here, but I'm not sure. My firewall IP is 
> 10.1.5.94. The server behind the firewall should have an IP of 10.1.5.95.
> 
> I read the iptables man page, and Oskar Andreasson's web site, using his 
> DMZ example as a guide. I think it LOOKS OK, but no packets seem to be 
> getting though. The firewall logs don't seem to see any packets coming 
> from the DMZ at all. The following is a stripped down version of a 
> script I use to start the firewall.
> 
> Would someone please take a quick look at this and tell me what I am 
> doing wrong?
> 
> #!/bin/sh
> # IP for the firewall
> INET_IP="10.1.5.94"
> # IP for the web server
> HTTP_IP="10.1.5.95"
> # name of network card
> INET_IFACE="eth0"
> 
> # 1.3 DMZ Configuration.
> DMZ_HTTP_IP="10.1.5.95"
> DMZ_IP="10.1.5.94"
> DMZ_IFACE="eth1"
> 
> # 1.4 Localhost Configuration.
> LO_IFACE="lo"
> LO_IP="127.0.0.1"
> 
> # Create another chain to filter bad tcp packets
> $IPT -N icmp_packets
> $IPT -N allowed
> 
> # allowed chain
> $IPT -A allowed -p TCP --syn -j ACCEPT
> $IPT -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
> $IPT -A allowed -p TCP -j DROP
> 
> # icmp_packets
> $IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
> $IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
> 
> # INPUT chain
> $IPT -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
> $IPT -A INPUT -p ALL -i $DMZ_IFACE -d $DMZ_IP -j ACCEPT
> $IPT -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED \
>      -j ACCEPT
> 
> # FORWARD chain
> $IPT -A FORWARD -i $DMZ_IFACE -o $INET_IFACE -j ACCEPT
> $IPT -A FORWARD -i $INET_IFACE -o $DMZ_IFACE -m state \
>    --state ESTABLISHED,RELATED -j ACCEPT
> $IPT -A FORWARD -p TCP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_HTTP_IP \
>    --destination-port 80 -j allowed
> $IPT -A FORWARD -p ICMP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_HTTP_IP \
>    -j icmp_packets
> 
> # OUTPUT chain
> $IPT -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
> $IPT -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
>     --log-prefix "OUTPUT packet died: "
> 
> 
> I get quite a number of packets from eth0 (the internet side) that show 
> up in the log as "INPUT packet died:", but NOTHING from eth1. I am 
> running this on a Redhat Enterprise Linux ES 4 server, fully patched. 
> I'm using iptablles version 1.2.11-3.1.RHEL4.
> 
> In this post, I removed all the lines I inserted into the script to log 
> each rule above, and the lines I used to delete old rules and chains.
> 
> Any ideas?
> 
> Bill Tangren
> 

-- 
Michael Gale

Red Hat Certified Engineer
Network Administrator
Pason Systems Corp.


  reply	other threads:[~2007-01-23 14:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-19 20:51 DMZ problems Bill Tangren
2007-01-23 14:41 ` Michael Gale [this message]
2007-01-25 22:22   ` Bill Tangren
2007-01-26 11:13     ` Ted Phelps

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=45B61EAB.1040706@pason.com \
    --to=michael.gale@pason.com \
    --cc=bjt@aa.usno.navy.mil \
    --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