Dear list members,

i am trying to build a firewall. Up to now, everything is ok, except
for some http sites that cannot be shown.

I am really having a hard time trying to figure it out what is happening !
I believe something is wrong between rule 7 to 10 ( i am on network
defined by interface sis1).

I can ping world outside my private network, as also telnet, ssh, etc ...

I can access everything from inside the firewall itself. The problem
is that some web sites does not appear when accessing from the local
desktop, the scenario is the following:

access from      access to         status
firewall             <wildcarded>         ok
desktop            www.unix.org       nothing appears
desktop            www.gmail.com      ok

Does anybody have any ideia about what is wrong (again, ssh, telnet,
ntp access from wihtin dekstop is 100% ok, only some web sites)


here goes my firewall rules:


########
#
# Macros
#
########

IIF_0 = "sis0"
IIF_1 = "sis1"
IIF_2 = "sis2"
EIF = "pppoe0"

########
#
# Tables
#
########

table <noroute> persist const { 127/8 255/8 0/8 }
table <rfc1918> persist const { 10/8 172.16/12 192.168/16 }
table <mcast> persist const { 224/4 }
table <prvlcl> persist { 10/8 172.16/12 192.168/16 !10/25
!10.0.0.128/26 !10.0.0.192/26 }
table <badhosts> persist
table <net> persist { 10/25 10.0.0.128/26 10.0.0.192/26 }

#########
#
# Options
#
#########

set loginterface $EIF
set skip on lo0
set debug misc
set state-policy if-bound
set block-policy return

#######################
#
# Traffic Normalization
#
#######################

##########
#
# Queueing
#
##########

#############
#
# Translation (first match wins). Only appliable if $EIF is a public address.
#
#############

no nat on $EIF from { ($IIF_0) ($IIF_1) ($IIF_2) }
nat on $EIF from ($IIF_0:network) to !<rfc1918> tag NAT -> ($EIF)
nat on $EIF from ($IIF_1:network) to !<rfc1918> tag NAT -> ($EIF)
nat on $EIF from ($IIF_2:network) to !<rfc1918> tag NAT -> ($EIF)

##################
#
# Packet Filtering (last match wins)
#
##################

# let's block everything by default
block log all

# everything may come in and out the host itself (two rules per interface)
pass in log on $IIF_0 from ($IIF_0:network) to ($IIF_0) flags S/SA keep state
pass out log on $IIF_0 from ($IIF_0) to ($IIF_0:network) flags S/SA keep state
pass in log on $IIF_1 from ($IIF_1:network) to ($IIF_1) flags S/SA keep state
pass out log on $IIF_1 from ($IIF_1) to ($IIF_1:network) flags S/SA keep state
pass in log on $IIF_2 from ($IIF_2:network) to ($IIF_2) flags S/SA keep state
pass out log on $IIF_2 from ($IIF_2) to ($IIF_2:network) flags S/SA keep state
pass in log on $EIF to ($EIF) flags S/SA keep state
pass out log on $EIF from ($EIF) flags S/SA keep state ! tagged NAT

# allowed traffic configuration goes here
pass out log on $EIF from ($EIF) flags S/SA keep state tagged NAT
pass in log on $IIF_1 flags S/SA keep state

# default on each internal interface (private address)
block in log on $IIF_0 from { ($IIF_0) ($IIF_0:broadcast) !($IIF_0:network) }
block in log on !$IIF_0 to ($IIF_0:broadcast)
block in log on $IIF_0 to <noroute>
#block in log on $IIF_0 proto ! udp to <mcast>

block in log on $IIF_1 from { ($IIF_1) ($IIF_1:broadcast) !($IIF_1:network) }
block in log on !$IIF_1 to ($IIF_1:broadcast)
block in log on $IIF_1 to <noroute>
#block in log on $IIF_1 proto ! udp to <mcast>

block in log on $IIF_2 from { ($IIF_2) ($IIF_2:broadcast) !($IIF_2:network) }
block in log on !$IIF_2 to ($IIF_2:broadcast)
block in log on $IIF_2 to <noroute>
#block in log on $IIF_2 proto ! udp to <mcast>

# default external interface (public address)
block in log on $EIF from ($EIF)

# additional rules
block in log on $EIF from { <rfc1918> <noroute> <mcast> }
block in log on $EIF to <net> ! tagged RDR
block in log on $EIF to { <noroute> <prvlcl> }
#block in log on $EIF proto ! udp to <mcast>

Reply via email to