Thanks Imre!!! That seems to have done the trick for both issues.
Cheers!
-Parvinder Bhasin
On Aug 21, 2008, at 2:28 PM, Imre Oolberg wrote:
Hallo!
My guess is you dont get anything logged since you pass with rdr
rules. Maybe it is cleaner to keep translation and filtering
separate, e.g. have translation rules like this
rdr on $ext_if proto tcp from any to $webby_ip port 80 ->
$webby_server port 80
And then you need to pass not to the external interface's ip address
but to where is your so to say real server, e.g. rule
pass in on $ext_if proto tcp from any to $webby_ip port 80 keep state
should rather read
pass in on $ext_if proto tcp from any to $webby_server port 80 keep
state
And also note that rule like this works when there aint other rules
what matches the package. Maybe it is more straight-forward at least
for debugging to add to it 'quick' keyword which makes the rule
match no matter what follows, like this
pass in quick on $ext_if proto tcp from any to $webby_server port 80
keep state
Imre
Parvinder Bhasin wrote:
List,
I am having some issues while redirecting traffic to port 80 on the
$squid_server.
I have this server serving two purpose: apache web server and
squid server. I can definately get to the PROXY services fine but
cannot get to the WWW (port 80) on the same server.
Another issue is that when I try to actively look at the pflog by
running "tcpdump -n -e -ttt -i pflog0 " , I don't get anything
even when the traffic is passing and/or getting blocked.
Any help is highly appreciated.
thx.
For this I have the following pf config:
ext_if="sk0"
int_if="gem0"
pf_log="pflog0"
webby
set skip on enc0
set skip on gre0
external_ip="70.40.22.17"
external_ips="{70.40.22.17 70.40.22.18 70.40.22.19}"
external_net="{70.40.22.17 70.40.22.18 70.40.22.19}"
internal_ip="172.16.10.10"
internal_networks="{172.16.10.0/24 172.16.100.0/24 172.16.200.0/24}"
webby_ip="70.40.22.18"
webby_server="172.16.10.11"
squid_ip="70.40.22.19"
squid_server="172.16.10.12"
# block_ip="70.40.22.20"
block_server="172.16.10.12"
######TABLES########
table <bruteforce> persist
table <kiddies> persist
#### OPTIONS #####
set loginterface $ext_if
set loginterface $int_if
scrub in
#### NAT/REDIRECTS ####
nat on $ext_if from !($ext_if) to any -> ($ext_if:0)
# rdr pass on $ext_if proto tcp from any to $block_ip port 80 ->
$squid_server port 80
rdr pass on $ext_if proto tcp from any to $webby_ip port 80 ->
$webby_server port 80
rdr pass on $ext_if proto tcp from any to $webby_ip port 443 ->
$webby_server port 443
rdr pass on $ext_if proto tcp from any to $squid_ip port 3128 ->
$squid_server port 3128
rdr pass on $ext_if proto tcp from any to $squid_ip port 80 ->
$squid_server port 80
###### FILTERS #####
block log quick from <bruteforce>
block log quick from <kiddies>
block in log on $pf_log
# pass in quick on $int_if
pass out keep state
pass in on $ext_if proto icmp from any to $external_ip keep state
pass in on $ext_if proto tcp from any to $external_ip port ssh keep
state
pass in on $ext_if proto tcp from any to $webby_ip port 80 keep state
pass in on $ext_if proto tcp from any to $webby_ip port 443 keep
state
pass in log (all, to $pf_log) on $ext_if proto tcp from any to
$squid_ip port 3128 keep state
pass in on $ext_if proto tcp from any to $squid_ip port 80 keep state
# pass in on $ext_if proto tcp from any to $block_ip port 80 keep
state
pass in on $ext_if proto tcp from any to $external_ips port 22 keep
state
pass inet proto tcp from any to $external_net port 22 flags S/SA
keep state (max-src-conn 25, max-src-conn-rate 15/5, overload
<bruteforce> flush global)
# block in quick on $ext_if