[EMAIL PROTECTED] wrote:
>
> On 1 Feb, Julian Elischer wrote:
> = > We have a single firewall machine and a _separate_ machine running
> = > squid proxy (both servers are on the same network wire).
> = >
> = > How do I catch all of the outgoing http requests and send them
> = > through squid?
> = >
> = > I tried
> = >
> = > ipfw add fwd squid,3128 tcp from any to any http
> = >
> = > but it does not seem to work -- squid never gets contacted. All of
> = > the recipes out there describe the setups with squid and the
> = > firewall being on the same machine. What else do I need to do?
> =
> = I assume squid is the name of the other machine? you need to have the
> = same rule in the ipfw on that machine too.
>
> Yes. Ok. This is what I just added to the squid-machine:
>
> ipfw add allow ip from any to any out
> ipfw add fwd localhost,3128 log tcp from any to any 3128 in
>
> = otherwise it will reflect the packet back at it's original destination
> = as it still has headers saying it wants to go there. (It's unaltered).
>
> The firewall machine logs
>
> ipfw: 3000 Forward to squid.ip:3128 TCP client.ip:3977 web.server.ip:80 in via dc0
here's the rules (approx) I just gave someone else:
-----------------BEGIN QUOTED MAIL------
> After adding the command:
>
> ipfw add 100 fwd 192.168.10.1 tcp from any to any 80 in via fxp0
>
> I see no packet arrive at host 192.168.10.1. Do forwarded packets
> re-enter the firewall for a given outgoing interface? In this case
> ed1 ? Or are they somehow skipped and just routed out the interface after
> a match is made?
The man page says:
fwd ipaddr[,port]
Change the next-hop on matching packets to ipaddr, which
can be an IP address in dotted quad or a host name. If
ipaddr is not a directly-reachable address, the route as
found in the local routing table for that IP is used in-
stead. If ipaddr is a local address, then on a packet
entering the system from a remote host it will be divert-
ed to port on the local machine, keeping the local ad-
dress of the socket set to the original IP address the
packet was destined for. This is intended for use with
transparent proxy servers. If the IP is not a local ad-
dress then the port number (if specified) is ignored and
the rule only applies to packets leaving the system.
This will also map addresses to local ports when packets
are generated locally. The search terminates if this
rule matches. If the port number is not given then the
port number in the packet is used, so that a packet for
an external machine port Y would be forwarded to local
port Y. The kernel must have been compiled with the
IPFIREWALL_FORWARD option.
>
> After changing the above ipfw command to 'out via xl0' I start seeing
> incoming packets on the 192.168.10.1 host. Do IPFW Forward rules only
> apply to outgoing style rules?
yes, read the paragraph above:
If the IP is not a local ad-
dress then the port number (if specified) is ignored and
the rule only applies to packets leaving the system.
and
If ipaddr is a local address, then on a packet
entering the system from a remote host it will be divert-
ed to port on the local machine, keeping the local ad-
dress of the socket set to the original IP address the
packet was destined for.
In other words, you want a rule with
'fwd 192.168.10.1 tcp from any to any 80 out rcv fxp0 xmit xl0'
on the gateway
so that it only matches http requests from clients on the local net
but NOT requests from your proxy.
then on the proxy you must have the rule:
'fwd 127.0.0.1:3187 tcp from 192.168.20.0/24 80 in rcv [interface]'
so that the packet are 'captured' on that machine instead of being dumped.
-----------------
>
> But the client still talks to the web-server directly :( The squid's log
> is quiet... Anything I'm missing? Perhaps, I need a user-space program
> of some sort to run on the firewall to do the tunneling? Thanks!
>
> -mi
--
__--_|\ Julian Elischer
/ \ [EMAIL PROTECTED]
( OZ ) World tour 2000-2001
---> X_.---._/
v
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message