On 7/5/05, Eugene <[EMAIL PROTECTED]> wrote:
> Good day!
> 
> I need help.
> 
> I have 2 ISP connected to my FreeBSD router-firewall with pf.
> 
> I need that my local net can connect http through router and squid to ISP-A.
> But all other pakets (POP3, SMTP, DNS, NTP, ...) would go through ISP-B.
> 
> My default gateway is through ISP-A.
> 

There are many ways to do this :-)

If I were you and have to meet all conditions said above then I will

1) configure in squid.conf

http_port 127.0.0.1 8080

2) will have the following rdr rules in pf.conf

rdr on $int_if proto tcp from any to any port 80 -> 127.0.0.1 port 8080 

( this will force all http through squid listening on 127.0.0.1 port 8080)

rdr on $int_if proto tcp from any to any port 443 -> 127.0.0.1 port 8080 

( this will force all https through squid listening on 127.0.0.1 port 8080)

3) will configure in squid.conf

tcp_outgoing_address ip.ip.ip.ip

ip.ip.ip.ip is the IP address of the interface connected to ISP-A.

This will take care of http and https going through squid

Now for forcing all other traffic through ISP-B you can use the
"route-to" option on the internal interface for example

int_if = ""                            # Enter Internal Interface inside quotes
ext_ifB = ""                         # Enter ISP-B's interface inside quotes
ISP-B_gw = ""                     # Enter ISP-B's gateway inside quotes

pass in on $int_if route-to ( $ext_ifB $ISP-B_gw ) from int_if:network
to any keep state
pass in on $int_if inet proto tcp from int_if:network to any port { 80, 443 )

you might want to refine the sample rules or add more rules to get
your thing done.
also if you can use ISP-B as your default gateway since the majority
of traffic goes through it :-)

hope this helps

good luck

kind regards

Siju

Reply via email to