Re: netfilter Digest, Vol 13, Issue 41

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

 



Hi to all,

Can anyone tell where I can sample firewall scripts that contain
1) about 100 rules
2) about 1000 - 2000 rules1

I am using RH9..i want to use these for testing the amount of
processing required for each of these scripts?

Warm regards,
Visham 

On 8/19/05, netfilter-request@xxxxxxxxxxxxxxxxxxx
<netfilter-request@xxxxxxxxxxxxxxxxxxx> wrote:
> Send netfilter mailing list submissions to
> 	netfilter@xxxxxxxxxxxxxxxxxxx
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://lists.netfilter.org/mailman/listinfo/netfilter
> or, via email, send a message with subject or body 'help' to
> 	netfilter-request@xxxxxxxxxxxxxxxxxxx
> 
> You can reach the person managing the list at
> 	netfilter-owner@xxxxxxxxxxxxxxxxxxx
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of netfilter digest..."
> 
> 
> Today's Topics:
> 
>    1. Re: port 80 out new ISP (/dev/rob0)
>    2. Re: port 80 out new ISP (Brent Clark)
>    3. Re: port 80 out new ISP (Brent Clark)
>    4. Re: Forward to DMZ addresses (Jonathan Villa)
>    5. Re: Forward to DMZ addresses (Taylor, Grant)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Fri, 19 Aug 2005 12:05:22 -0500
> From: /dev/rob0 <rob0@xxxxxxxxx>
> Subject: Re: port 80 out new ISP
> To: netfilter@xxxxxxxxxxxxxxxxxxx
> Message-ID: <200508191205.22196.rob0@xxxxxxxxx>
> Content-Type: text/plain;  charset="iso-8859-1"
> 
> On Friday 2005-August-19 10:55, Brent Clark wrote:
> > I currently have been reading the following doc.
> >
> > http://linux-ip.net/html/adv-multi-internet.html
> >
> > and have changed my scripts accordingly.
> 
> Not quite.
> 
> > my setup is as so
> >
> > firewall:
> > eth0 196.36.10.114    -> Routes traffic to old ISP
> > eth1 192.168.111.10    -> Private Lan
> > eth2 192.168.10.100    -> for ADSL
> >
> > Adsl modem:
> > ipaddress: 192.168.10.200 (external ip dynamically assigned)
> 
> This "modem" is also functioning as a NAT router? So in effect your 
> 192.168.10.100 IP (eth2) can function as an external interface?
> 
> > ## Create the table
> > ip route flush table TELKOM  >>/dev/null
> > ip route show table main |grep -Ev ^default\
> 
> What does this command, without the "\<newline>" and pipe, return?
> 
> >    | while read ROUTE ; do
> >
> >      ip route add table TELKOM $ROUTE
> >   done
> >
> > ## Add the ADSL as route to route table 4
> >
> > ip route add default via 192.168.10.200 dev eth2 table TELKOM
> > >>/dev/null
> >
> > ## Add the route to table TELKOM
> >
> > ip rule add fwmark 1 table TELKOM >> /dev/null
> 
> And what do your routing rules show at this point?
> 
> > $IPT -t nat -A PREROUTING -i eth1 -t mangle -p tcp --dport 80 -j MARK
> > --set-mark 1
> > $IPT -t nat -A PREROUTING -i eth1 -t mangle -p tcp 
> > --dport 443 -j MARK --set-mark 1
> >
> > # SNAT the Private LAN
> > $IPT -t nat -A POSTROUTING -o eth0 -s 192.168.111.0/24 -j SNAT
> > --to-source 196.36.10.114
> > #$IPT -t nat -A POSTROUTING -o eth2 -s 
> > 192.168.111.0/24 -j SNAT --to-source 192.168.10.200
> 
> Why is that one commented?
> 
> > $IPT -t nat -A POSTROUTING -o eth2 -s 192.168.111.0/24 -j MASQUERADE
> 
> MASQUERADE will not work with dual routing.
> -- 
>     mail to this address is discarded unless "/dev/rob0"
>     or "not-spam" is in Subject: header
> 
> 
> 
> ------------------------------
> 
> Message: 2
> Date: Fri, 19 Aug 2005 19:22:56 +0200
> From: Brent Clark <bclark@xxxxxxxxxxxxxxxxxxxx>
> Subject: Re: port 80 out new ISP
> To: /dev/rob0 <rob0@xxxxxxxxx>
> Cc: netfilter@xxxxxxxxxxxxxxxxxxx
> Message-ID: <43061570.9090702@xxxxxxxxxxxxxxxxxxxx>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> Hi Rob
> 
> A big thanks for replying to my email.
> 
> >>ip route flush table TELKOM  >>/dev/null
> >>ip route show table main |grep -Ev ^default\
> > 
> > 
> > What does this command, without the "\<newline>" and pipe, return?
> > 
> 
> gate:~# ip route show table main | grep -Ev ^default
> 196.36.10.112/29 dev eth0  proto kernel  scope link  src 196.36.10.114
> 192.168.111.0/24 dev eth1  proto kernel  scope link  src 192.168.111.10
> 192.168.10.0/24 dev eth2  proto kernel  scope link  src 192.168.10.100
> gate:~#
> 
> >>ip rule add fwmark 1 table TELKOM >> /dev/null
> > 
> > 
> > And what do your routing rules show at this point?
> 
> gate:~# ip rule show
> 0:      from all lookup local
> 32765:  from all fwmark 0x1 lookup TELKOM
> 32766:  from all lookup main
> 32767:  from all lookup default
> gate:~#
> 
> gate:~# ip route show table main
> 196.36.10.112/29 dev eth0  proto kernel  scope link  src 196.36.10.114
> 192.168.111.0/24 dev eth1  proto kernel  scope link  src 192.168.111.10
> 192.168.10.0/24 dev eth2  proto kernel  scope link  src 192.168.10.100
> default via 196.36.10.113 dev eth0
> gate:~#
> 
> gate:~# ip route show table TELKOM
> 196.36.10.112/29 dev eth0  proto kernel  scope link  src 196.36.10.114
> 192.168.111.0/24 dev eth1  proto kernel  scope link  src 192.168.111.10
> 192.168.10.0/24 dev eth2  proto kernel  scope link  src 192.168.10.100
> default via 192.168.10.200 dev eth2
> gate:~#
> 
> 
> >># SNAT the Private LAN
> >>$IPT -t nat -A POSTROUTING -o eth0 -s 192.168.111.0/24 -j SNAT
> >>--to-source 196.36.10.114
> >>#$IPT -t nat -A POSTROUTING -o eth2 -s 
> >>192.168.111.0/24 -j SNAT --to-source 192.168.10.200
> > 
> > 
> > Why is that one commented?
> 
> Im commented it out, hoping the MASQUERADE would work.
> > 
> > 
> >>$IPT -t nat -A POSTROUTING -o eth2 -s 192.168.111.0/24 -j MASQUERADE
> > 
> > 
> > MASQUERADE will not work with dual routing.
> 
> Thanks
> 
> 
> 
> 
> ------------------------------
> 
> Message: 3
> Date: Fri, 19 Aug 2005 20:05:59 +0200
> From: Brent Clark <bclark@xxxxxxxxxxxxxxxxxxxx>
> Subject: Re: port 80 out new ISP
> To: /dev/rob0 <rob0@xxxxxxxxx>
> Cc: netfilter@xxxxxxxxxxxxxxxxxxx
> Message-ID: <43061F87.1030507@xxxxxxxxxxxxxxxxxxxx>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> Hi Rob
> 
> Im not sure is this a good way of debugging
> 
> but I tried this:
> 
> iptables -t nat -A PREROUTING --dport 80 -j LOG
> Aug 19 18:40:32 gate kernel: IN=eth1 OUT=
> MAC=00:00:f4:af:80:b8:00:60:67:77:aa:92:08:00 SRC=192.168.111.213
> DST=66.36.247.82 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=2925 DF PROTO=TCP
> SPT=4032 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
> 
> Notice that "OUT=" does not show eth2
> 
> Brent
> 
> 
> 
> ------------------------------
> 
> Message: 4
> Date: Fri, 19 Aug 2005 13:57:32 -0500 (CDT)
> From: "Jonathan Villa" <jonathan@xxxxxxxxxxxxxxxxxxxx>
> Subject: Re: Forward to DMZ addresses
> To: "netfilter" <netfilter@xxxxxxxxxxxxxxxxxxx>
> Message-ID:
> 	<39244.206.166.83.50.1124477852.squirrel@xxxxxxxxxxxxxxxxxxxxxxxxx>
> Content-Type: text/plain;charset=iso-8859-1
> 
> First, grrr.... I just wrote a nice lengthy reply but my webmail session
> timed out and I lost it...let's see if I can remember everything I wrote
> 
> >>   router
> >>     |
> >>   VLAN Switch
> >>     |
> >>  firewall
> >>   |    |
> >>  LAN  DMZ
> >
> > Ok, if I am reading you correctly now, your router's internal interface
> >that is connected to the VLAN switch has an IP that is on the same subnet
> > as the servers that will be in the DMZ.
> 
> Yes.  You're correct
> 
> >I.e. the router in question will
> > be the router for the DMZ servers.  I was thinking that your firewall
> >was going to be a firewalling router that would handle your LAN and DMZ
> networks.  However now I do not think that this is the case.
> 
> Actually, it is the case :(.  I _do_want_ a firewalling router to handle
> my LAN and DMZ networks.  I want it to protect both LAN and DMZ so that I
> can manage rules from one location rather than several of the boxen.
> 
> >
> > Ok, I have a feeling that when you were typeing xx.xx.xx.182 you were
> >really meaning to type xx.xx.xx.192.  Key shift, that's fine.  But that
> does go to explain the interesting IPs.  No harm no foul.  :)  I think we
> are on the same page of the same book now.
> 
> regarding IP's, yes
> 
> >
> >>>Are the IPs in question in a subnet or just a scattering of them?
> >> subnet...
> >
> > This is becoming more and more apparent all the time.  This is part of
> >the
> > problem which leads to what I think will be the ultimate solution.  (See
> >below)
> >
> >> my firewall has 3 NIC's.  one connected to the router (well the VLAN
> >>switch) which has an IP of 194.  the router is 193.  the dmz nic
> (eth2) is
> >> 195, the LAN is, well the LAN.  On my DMZ, I plan to provide static
> >>address which are globally routable and from my subnet.
> >
> > *nod*  I think I see where you are going with this and I'm going to
> >propose a wild change to accommodate what you are wanting to do.  (See
> below)  (I know I keep saying that but it is a doosey.)
> >
> >> Sorry if I'm not making any sense... haven't had much sleep...
> >
> > Actually you are making more sense now than you have been all along.  No
> >offense intended.  You have just explained that what you are wanting to
> do
> > can not be done with routing.
> 
> no offense taken, but I hope I continue to make sense.
> 
> >
> >> I've been trying a few rules here and there trying to get something to
> >>work... but to no avail.
> >
> > *nod*  I think I know why.  Let me try to explain.
> >
> > (this is below) (yes we finally made it)
> >
> > I think what you are wanting to do can not be done with traditional OSI
> >Layer 3 routing but rather needs to be done with OSI Layer 2 bridging /
> switching.  If I understand what you are wanting correctly to be the
> following:
> 
> Ok, last night, after I slapped myself, I decided to check the logs, and
> actually start logging... I should have been logging since the beginning,
> perhaps it would have helped me explain my problem better.  I added the
> following rules at the very top
> 
> iptables -A INPUT -i $WAN_ETH -j LOG
> iptables -A OUTPUT -o $WAN_ETH -j LOG
> iptables -A FORWARD -i $WAN_ETH -j LOG
> 
> Anyway, back to the point, I started to realize that perhaps my issue is
> not with how I wrote my tables/rules, but with routing (you're mention of
> OSI Layer 2 perhaps).  Last night it made more sense to me when I realized
> that nothing was being logged on the interface connected to the
> router/VLAN switch when attempting to connect to 196 (which is connected
> to a switch "behind" the firewall).  I realized, hey, this seems to be a
> routing issue...I now see I need to find a way to have 194 (or the
> firewall's $WAN_ETH) route traffic for the rest of the subnet (except for
> 193 which is the router itself from the inside).
> 
> Now this is a wild guess, but I'm starting to think that I need to change
> the router's routing rules.  But then again, I don't want to be someone
> who remodels a bedroom just to add a new light switch.
> 
> >
> > 1)  You want your router to be the router for all your systems behind it
> (LAN is the exception) no matter where they are physically connected to.
> 
> I think I want my firewall to be the one to route for what is protected by
> it, namely the LAN and DMZ because I want everything to be checked by the
> rules of the firewall (which I see can be done using bridging now, but
> still not sure if that's what I want).  I'm starting to think that I have
> just opened up a can of gusanos
> 
> 2)  You want the same subnet xx.xx.xx.192/28 to be on both sides of your
> firewall (eth1 and eth2).
> 
> With the exception of the firewall's internal address, 193, I would like
> to have the xx.xx.xx.192/28 subnet reachable behind my firewall only
> 
> > 3)  You want your LAN to appear to come from one of the IPs in your DMZ.
> 
> not the DMZ but the address of my firewall.  I have this part working as
> noted by http://www.whatismyaddress.com.  I have a rule which does SNATing
> on anything coming from my LAN interface and on the 192.168.0/28 network.
> 
> 4)  You want to prevent any of the other systems in the DMZ from getting
> to them directly.
> 
> Yes.
> 
> > If this is indeed the case what I propose you do is create a bridge on
> your firewall and use EBTables to do most of your firewalling for your DMZ
> > systems except for the LAN.  This would allow your systems in the DMZ to
> be on the same subnet as the router's internal interface and talk as if
> they were on the same physical LAN.  However as you will be passing the
> traffic through a Linux bridge you will be able to do some basic
> firewalling on them, namely protocol, source / destination IP, as well as
> > source / destination port.  EBTables does not do much beyond that for
> filtering but I think that is about all that you are wanting your
> firewall
> > to do.  You ultimately would use IPTables to handle the 2nd level of
> firewalling (beyond EBTables) for your LAN which will allow you to do more
> > advanced things like connection tracking and Stateful Packet Inspection
> (SPI).
> >
> > Below is a (very) rough draft of the config / startup scripts that I
> would
> > write to make this happen.  You will not really need an IP for eth1 or
> eth2 in this model of firewalling.  I think you will see why below.
> >
> > eth0 = LAN
> > eth1 = Router
> > eth2 = DMZ
> >
> > # We have to bring up the ether interfaces before we can set up the
> bridge.
> > ifconfig eth1 0.0.0.0 up
> > ifconfig eth2 0.0.0.0 up
> >
> > # Let's establish the bridge first and then we will worry about the
> IPTables firewalling.
> > brctl addbr bri0
> > sleep 1 # Prevent race conditions in the kernel.
> > brctl addif bri0 eth1
> > sleep 1
> > brctl addif bri0 eth2
> >
> > # You will need to pick an IP to assign to your bri0 interface for the
> LAN
> > to use to communicate with the world.
> > # Here are the IP assignments that I'm going to use for the sake of the
> discussion, all of which are in the DMZ.
> > #   Network = xx.xx.xx.192/28
> > #    Router = xx.xx.xx.193/28
> > #  LAN bri0 = xx.xx.xx.194/28
> > # DMZ boxen = xx.xx.xx.195-206/28
> > # Broadcast = xx.xx.xx.207/28
> >
> > # Let's assign an IP to the bri0 interface to be the ""external
> interface
> > of your pseudo LAN router.
> > ifconfig bri0 xx.xx.xx.194 netmask 255.255.255.240 broadcast
> xx.xx.xx.207
> > up
> >
> > # You will need to have an IP subnet for your LAN.  I'm going to assume
> aa.bb.cc.dd/24.
> > #   Network = aa.bb.cc.0/24
> > #    Router = aa.bb.cc.1/24
> > #   Clients = aa.bb.cc.2-254/24
> > # Broadcast = aa.bb.cc.255/24
> >
> > # Let's assing an IP to the eth0 interface
> > ifconfig eth0 aa.bb.cc.1 netmask 255.255.255.0 broadcast aa.bb.cc.255 up
> >
> > At this point we have a logical switched (bridged) network that includes
> the router (xx.xx.xx.193), your pseudo LAN router (xx.xx.xx.194) as well
> as all your DMZ systems (xx.xx.xx.195-206).  The logical router is going
> to use the bri0 interface to connect to the DMZ network so it can easily
> communicate with the world via the router or to the other DMZ servers.
> >
> > So now we start setting up the various levels of firewalling.  To do
> this
> > on the OSI Layer 2 we will use EBTables.  We will use IPTables for the
> OSI
> > Layer 3 firewalling as you would expect.
> >
> > # First let's do some basic source / destination IP validation.  See RFC
> 3330 (http://www.rfc-editor.org/rfc/rfc3330.txt) for more information. #
> Let's validate inbound source IPs by weeding out known bad source IPs.
> ebtables -t filter -A FORWARD -i eth1 -p ipv4 --ip-src 0.0.0.0/8 -j DROP
> ebtables -t filter -A FORWARD -i eth1 -p ipv4 --ip-src 10.0.0.0/8 -j DROP
> > ebtables -t filter -A FORWARD -i eth1 -p ipv4 --ip-src 127.0.0.0/8 -j
> DROP
> > ebtables -t filter -A FORWARD -i eth1 -p ipv4 --ip-src 169.254.0.0/12 -j
> DROP
> > ebtables -t filter -A FORWARD -i eth1 -p ipv4 --ip-src 172.16.0.0/16 -j
> DROP
> > ebtables -t filter -A FORWARD -i eth1 -p ipv4 --ip-src 192.0.2.0/24 -j
> DROP
> > ebtables -t filter -A FORWARD -i eth1 -p ipv4 --ip-src 192.168.0.0/16 -j
> DROP
> > ebtables -t filter -A FORWARD -i eth1 -p ipv4 --ip-src
> 255.255.255.255/32
> > -j DROP
> >
> > # Let's make sure that the traffic is acctually to our network.
> > ebtables -t filter -A FORWARD -i eth1 -p ipvr --ip-dst ! xx.xx.xx.192/28
> -j DROP
> >
> > # Let's validate outbound destination IPs by weeding out known bad
> destination IPs.
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-dst 0.0.0.0/8 -j DROP
> ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-dst 10.0.0.0/8 -j DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-dst 127.0.0.0/8 -j
> DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-dst 169.254.0.0/12 -j
> DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-dst 172.16.0.0/16 -j
> DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-dst 192.0.2.0/24 -j
> DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-dst 192.168.0.0/16 -j
> DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-dst
> 255.255.255.255/32
> > -j DROP
> >
> > # For paranoia sake let's make sure that we are not sending any bad
> source
> > IPs too.
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-src 0.0.0.0/8 -j DROP
> ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-src 10.0.0.0/8 -j DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-src 127.0.0.0/8 -j
> DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-src 169.254.0.0/12 -j
> DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-src 172.16.0.0/16 -j
> DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-src 192.0.2.0/24 -j
> DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-src 192.168.0.0/16 -j
> DROP
> > ebtables -t filter -A FORWARD -o eth1 -p ipv4 --ip-src
> 255.255.255.255/32
> > -j DROP
> >
> > # If the traffic has made it this far we can be fairly confident that
> the
> > source and or destination IPs are reasonable.
> 
> thanks, in my complete script I had something similar, but did not include
> 127.0.0.0 or 169.0.0.0.  Thanks for the link to the RFC
> 
> > # If you want to do some additional filtering for a particular host you
> would do it as such:
> >
> > # Host 195 is a web server only and thus will not answer DNS or SMTP
> traffic.
> > ebtables -t filter -N HOST195
> > ebtables -t filter -A FORWARD -i eth1 -p ipv4 --ip-dst xx.xx.xx.195 -j
> HOST195
> > ebtables -t filter -A HOST195 -i eth1 -p ipv4 --ip-proto tcp --ip-dport
> 25
> > -j DROP
> > ebtables -t filter -A HOST195 -i eth1 -p ipv4 --ip-proto udp --ip-dport
> 53
> > -j DROP
> > ebtables -t filter -A HOST195 -i eth1 -p ipv4 --ip-proto tcp --ip-dport
> 53
> > -j DROP
> >
> > # Host 196 could be DNS ONLY and will not have ANY other traffic AT all,
> well save SSH of course.
> > ebtables -t filter -N HOST196
> > ebtables -t filter -A FORWARD -i eth1 -p ipv4 --ip-dst xx.xx.xx.196 -j
> HOST196
> > ebtables -t filter -A HOST196 -i eth1 -p ipv4 --ip-proto tcp --ip-dport
> 22
> > -j ACCEPT
> > ebtables -t filter -A HOST196 -i eth1 -p ipv4 --ip-proto udp --ip-dport
> 53
> > -j ACCEPT
> > ebtables -t filter -A HOST196 -i eth1 -p ipv4 --ip-proto tcp --ip-dport
> 53
> > -j ACCEPT
> > ebtables -t filter -A HOST196 -i eth1 -p ipv4 --ip-proto icmp -j ACCEPT
> ebtables -t filter -A HOST196 -i eth1 -j DROP
> >
> > # I think you get the idea.
> >
> > Now we can be fairly confident that the basic OSI Layer 2 firewalling
> will
> > make sure that nothing blatantly stupid is going on.  Thus we are left
> with the OSI Layer 3 firewalling for the LAN.
> >
> > # Let's set up some sensible defaults.
> > iptables -t filter -P INPUT DROP
> > iptables -t filter -P FORWARD DROP
> > iptables -t filter -P OUTPUT ACCEPT
> >
> > # Let's enable basic forwarding.
> > iptables -t filter -A FORWARD -i bri0 -o eth0 -m state --state
> > ESTABLISHED,RELATED -j ACCEPT
> > iptables -t filter -A FORWARD -i eth0 -o bri0 -j ACCEPT
> >
> > # Let's set up the SNATing for our outbound LAN traffic.
> > iptables -t nat -A POSTROUTING -o bri0 -j SNAT --to-source xx.xx.xx.194
> >
> > # I'd like to be able to RDP to the office 2k3 server (accounting has a
> Windows only program!)
> > iptables -t nat -A PREROUTING -i bri0 -p tcp --dport 3389 -j DNAT
> --to-destination aa.bb.cc.2
> > iptables -t filter -A FORWARD -i bri0 -o eth0 -p tcp -d aa.bb.cc.2
> --dport
> > 3389 -j ACCEPT
> >
> > I think this will take care of most of the firewalling on both OSI
> Layers
> > 2 and 3 like I think you are needing.  I know that this is a rather
> >lengthy email, but what you are asking is not a simple thing to solve. 
> >Fortunately Linux should be very capable of providing for you.  Once you
> >realize that what (I think) you are trying to do can not be done on OSI
> >Layer 3 you will see why you could not find a solution with all the
> various >things you / we have tried / proposed to do.
> >
> 
> Ok, hopefully I'm a little more clear now, i.e. I want a firewalling
> router for the subnet xx.xx.xx.192/28.  Initially, my plan was to do this:
> 
> 1. Connect eth1 to the Router directly
> 2. eth0 would be the LAN and network 192.168.0/24
> 3. eth2 would ethe DMZ and network 10.x.x.x or 192.168.1/24
> 4. DNAT DMZ IP to the DMZ network like so
> 
> iptables -t nat -A PREROUTING -i $WAN_ETH -d $EXT_STAGING_HTTP_IP -j DNAT
> --to-routing $INT_STAGING_HTTP_IP
> iptables -t filter -A FORWARD etc..etc..
> 
> (you also mentioned this earlier)
> 
> But then I thought to myself, "Why don't I just assign the actual IP to
> the DMZ server?" and thus my journey began.
> 
> I'm now at the point where I really think it's a routing issue... agree of
> disagree?  My other option is to give up and say, also in a loud sinister
> voice, "Rat's foiled again", but then realized and said in a loud sinister
> voice : Never!!!
> 
> Or... do I look into bridging.  I have come across this as a possible
> scenario before, but thought that perhaps it's not "exactly" what I'm
> looking for.
> 
> 
> > Any way, chew on this and (please) let me know what you think.
> 
> Impressed and thankful.  Also, I think this will make for good reading
> when someone searches the archives.
> 
> 
> 
> 
> 
> ------------------------------
> 
> Message: 5
> Date: Fri, 19 Aug 2005 17:33:37 -0500
> From: "Taylor, Grant" <gtaylor@xxxxxxxxxxxxxxxxx>
> Subject: Re: Forward to DMZ addresses
> To: netfilter <netfilter@xxxxxxxxxxxxxxxxxxx>
> Message-ID: <43065E41.7080407@xxxxxxxxxxxxxxxxx>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> Jonathan Villa wrote:
> > First, grrr.... I just wrote a nice lengthy reply but my webmail session
> > timed out and I lost it...let's see if I can remember everything I wrote
> 
> Been there done that.
> 
> > Actually, it is the case :(.  I _do_want_ a firewalling router to handle
> > my LAN and DMZ networks.  I want it to protect both LAN and DMZ so that I
> > can manage rules from one location rather than several of the boxen.
> 
> *nod*  This makes sense.
> 
> > no offense taken, but I hope I continue to make sense.
> 
> As don't we all?
> 
> > Anyway, back to the point, I started to realize that perhaps my issue is
> > not with how I wrote my tables/rules, but with routing (you're mention of
> > OSI Layer 2 perhaps).  Last night it made more sense to me when I
> realized
> > that nothing was being logged on the interface connected to the
> > router/VLAN switch when attempting to connect to 196 (which is connected
> > to a switch "behind" the firewall).  I realized, hey, this seems to be a
> > routing issue...I now see I need to find a way to have 194 (or the
> > firewall's $WAN_ETH) route traffic for the rest of the subnet (except for
> > 193 which is the router itself from the inside).
> 
> If you try to put the xx.xx.xx.192/28 network behind your firewalling router
> except for the one of the IPs you are breaking routing and needing to
> bridging again.
> 
> > Now this is a wild guess, but I'm starting to think that I need to change
> > the router's routing rules.  But then again, I don't want to be someone
> > who remodels a bedroom just to add a new light switch.
> 
> I don't think that completely redoing your routing table will gain you
> much.
> 
> > I think I want my firewall to be the one to route for what is protected
> by
> > it, namely the LAN and DMZ because I want everything to be checked by the
> > rules of the firewall (which I see can be done using bridging now, but
> > still not sure if that's what I want).  I'm starting to think that I have
> > just opened up a can of gusanos
> 
> *nod*  This makes more sense but poses a different problem.  To have the
> xx.xx.xx.192/28 network behind your firewalling router you will need an IP
> network connecting your (edge) router to your firewalling router.  You could
> use any private class IP for this little network if you wanted to.  But it
> is considered bad form use any private IPs any where at all on the internet
> even if it is to connect two routers via a cross over cable.
> 
> > With the exception of the firewall's internal address, 193, I would like
> > to have the xx.xx.xx.192/28 subnet reachable behind my firewall only
> 
> *nod*
> 
> > not the DMZ but the address of my firewall.  I have this part working as
> > noted by http://www.whatismyaddress.com.  I have a rule which does
> SNATing
> > on anything coming from my LAN interface and on the 192.168.0/28 network.
> 
> *nod*  I was meaning to say that your LAN traffic would appear to the world
> as having been SNATed to an IP address in your xx.xx.xx.192/28 network.
> 
> > thanks, in my complete script I had something similar, but did not
> include
> > 127.0.0.0 or 169.0.0.0.  Thanks for the link to the RFC
> 
> You are welcome.  No problem.
> 
> > Ok, hopefully I'm a little more clear now, i.e. I want a firewalling
> > router for the subnet xx.xx.xx.192/28.  Initially, my plan was to do
> this:
> > 
> > 1. Connect eth1 to the Router directly
> > 2. eth0 would be the LAN and network 192.168.0/24
> > 3. eth2 would ethe DMZ and network 10.x.x.x or 192.168.1/24
> > 4. DNAT DMZ IP to the DMZ network like so
> > 
> > iptables -t nat -A PREROUTING -i $WAN_ETH -d $EXT_STAGING_HTTP_IP -j DNAT
> > --to-routing $INT_STAGING_HTTP_IP
> > iptables -t filter -A FORWARD etc..etc..
> 
> IMHO this will work but it is more of a nasty hack.  This also leads to the
> possibility of things breaking down the road.  Consider running a service on
> one of the DMZ hosts that is not NAT friendly.  What will you do in that
> case?  If you can avoid this I think it would be very wise to do so.
> 
> > But then I thought to myself, "Why don't I just assign the actual IP to
> > the DMZ server?" and thus my journey began.
> 
> *nod*  I often have such conversations with my self.  I love it when I win
> them and HATE it when I loose.
> 
> > I'm now at the point where I really think it's a routing issue... agree
> of
> > disagree?  My other option is to give up and say, also in a loud sinister
> > voice, "Rat's foiled again", but then realized and said in a loud
> sinister
> > voice : Never!!!
> 
> Yes I agree hole heartedly.  Don't give up.
> 
> > Or... do I look into bridging.  I have come across this as a possible
> > scenario before, but thought that perhaps it's not "exactly" what I'm
> > looking for.
> 
> What "exactly" are you looking for?  I don't see a solution with out doing
> some REALLY funky stuff in such as playing with IPs and / or adding a 4th
> NIC to the box so that the new interface can be connected to the DMZ network
> and give it an IP to use as the router for your LAN.  Then you will need to
> do some really funky routing tables such as making the system act like two
> completely independent routers that know nothing about the other unless your
> traffic comes in or goes a specific pair of interfaces.
> 
> > Impressed and thankful.  Also, I think this will make for good reading
> > when someone searches the archives.
> 
> Thank you very much.  I have seen some very interesting questions come
> across this mail list in the past most of which did not really have any good
> documentation (that I'm aware of) on ways to solve them.  I'm tempted to
> write some How To type documentation and submit it to someone else to host,
> possibly / probably the LARTC project (www.lartc.org).
> 
> 
> 
> Grant. . . .
> 
> 
> 
> ------------------------------
> 
> _______________________________________________
> netfilter mailing list
> netfilter@xxxxxxxxxxxxxxxxxxx
> https://lists.netfilter.org/mailman/listinfo/netfilter
> 
> 
> End of netfilter Digest, Vol 13, Issue 41
> *****************************************
>



[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux