Thanks I figured it out.
I missed the nat rule for $ext_if2

--Siju

On Tue, Oct 14, 2008 at 1:03 PM, Siju George <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I have firewall
>
> sk0 - LAN Interface
> rl1 - Primary internet connection
> rl2 - secondary Internet connection
>
> I have a line in pf.conf
>
> pass in quick on $int_if route-to ( $ext_if2 $ext_ifgw ) from
> <hifxchn2> to any keep state
>
> to route requests from hosts in <hifxchn2> through the rl2 internet
> connection but it does not seem to work.
>
> the full pf.conf is below
>
> ===========================================================================================================
> ##NETWORK INTERFACES
> #
> int_if="sk0"            #HiFX LAN Interface - Connected to Main
> Swithches - using 172.16.0.0/12 Range.
> ext_if="rl1"            #Dataone Connection - "rl2" interface
> Connected to the Dataone Router.
> ext_if2="rl2"
> ext_ifgw="122.166.40.1"
> proxy="122.166.40.36"
>
>
> #Private IP Address Range Specified by RFC 1918.
> #
> priv_nets="{ 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 }"
>
>
> #Computers in HiFX LAN that are permitted to bypass squid to make HTTP
> and HTTPS connections directly to the Internet
> #
> table <bypass-squid-users> persist file "/etc/pf-tables/bypass-squid-users"
>
> #Websites to which bypassing SQUID is allowed.
> #
> table <bypass-squid-sites> persist file "/etc/pf-tables/bypass-squid-sites"
> table <lanspl> persist file "/etc/pf-tables/lanspl"
> table <adm> persist file "/etc/pf-tables/adms"
> table <vtcservers> persist file "/etc/pf-tables/vtcservers"
> table <bannedIPs> persist file "/etc/pf-tables/bannedIPs"
> table <authpf_users> persist
> table <hifxchn2> persist file "/etc/pf-tables/hifxchn2"
>
> #Traffic Normalization - Required for "pppoe" connection.
> #
> scrub on $ext_if all no-df random-id fragment reassemble
>
> ###"Network Address Translation" and "Port Redirection"
> ###The First Matching rule wins here for any packet and no further
> "nat" or "rdr" rules are checked.
> nat-anchor "authpf/*"
> rdr-anchor "authpf/*"
> binat-anchor "authpf/*"
>
> nat pass on $ext_if from <adm> to any -> ($ext_if)
> nat-anchor "ftp-proxy/*"
> rdr-anchor "ftp-proxy/*"
> rdr pass on $int_if proto tcp from $int_if:network to any port 21 ->
> 127.0.0.1 port 8021
>
> # redirect to beergas website
> rdr pass on $ext_if inet proto tcp from any to any port 80 ->
> 172.16.4.12 port 80
> rdr pass on $ext_if inet proto tcp from any to any port 443 ->
> 172.16.4.12 port 443
>
> ###
> #
> nat on $ext_if from <bypass-squid-users> to any -> ($ext_if)
>
> #NAT connections to specified websites.
> nat on $ext_if from any to <bypass-squid-sites> port { 80, 443 } -> ($ext_if)
> nat on $ext_if from any to <bypass-squid-sites> port { 80, 443 } -> ($ext_if2)
>
> #Block NAT for other hosts to port 80 and 443 on the Internet.
> #They should all go via SQUID CACHE PROXY
> #
> no nat on $ext_if from any to any port { 80, 443 }
> no nat on $ext_if2 from any to any port { 80, 443 }
>
> #Allow NAT for rest of the Computers to Internet - port 80 and 443 is
> already blocked for these hosts by the rule above.
> #
> nat on $ext_if from $int_if:network to any -> ($ext_if)
> nat on $ext_if2 from $int_if:network to any -> ($ext_if2)
>
> #The SQUID CACHE PROXY Listens on localhost interface port 8080 for
> security reasons.
> #PROXY configuration for computers in the HIFX LAN Machine in the IP
> Address of $int_if and port 8080
> #Hence all Traffic comming to $int_if port 8080 should be redirected
> to SQUID running on localhost:8080
> #
>
> no rdr on $int_if from any to 70.86.222.30
> rdr on $int_if proto tcp from any to any port 8080 -> 127.0.0.1 port 8080
>
> ###Filter Rules.
> ###The last matching rule wins here for packets except when the quick
> word is used in which case Further rules are not processed.
> #Starting with a Deny all Traffic Policy. Later rules open up the
> firewall for required traffic.
>
> block all
> pass in quick on $ext_if inet proto tcp from any to any port ssh keep state
>
> #Blocking RFC1918 Traffic.
> block in log quick on $ext_if from $priv_nets to any
> block out log quick on $ext_if from any to $priv_nets
> block out log quick on $ext_if from any to <bannedIPs>
>
> #Allow all traffic on the localhost interface.
>
> pass quick on lo0 all
>
> #Allow Traffic from HIFX LAN to pass through the firewall & also allow
> traffic from firewall to enter the LAN.
>
> pass in quick on $int_if from any to $int_if keep state
> pass out quick on $int_if from $int_if to any keep state
>
>
> pass in quick on $int_if route-to ( $ext_if2 $ext_ifgw ) from
> <hifxchn2> to any keep state
>
> pass in quick on $int_if from $int_if:network to any keep state
> pass out quick on $int_if from any to $int_if:network keep state
>
>
>
> #Allow Trafficfrom Firewall to pass out to the Internet.
> pass out on $ext_if proto tcp all modulate state flags S/SA
> pass out on $ext_if2 proto tcp all modulate state flags S/SA
> pass out on $ext_if proto { udp, icmp } all keep state
> pass out on $ext_if2 proto { udp, icmp } all keep state
>
>
> #ftp-proxy
> anchor "ftp-proxy/*"
> pass out proto tcp from $proxy to any port 21 keep state
>
> #authpf
> anchor "authpf/*"
>
> ====================================================================================================
>
> # ifconfig -a
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224
>        groups: lo
>        inet 127.0.0.1 netmask 0xff000000
>        inet6 ::1 prefixlen 128
>        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
> rl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
>        lladdr 00:50:fc:7d:4e:50
>        media: Ethernet autoselect
>        status: no carrier
> rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        lladdr 00:e0:4d:06:2b:65
>        groups: egress extif
>        media: Ethernet autoselect (100baseTX full-duplex)
>        status: active
>        inet 122.166.40.36 netmask 0xffffff00 broadcast 122.166.40.255
>        inet6 fe80::2e0:4dff:fe06:2b65%rl1 prefixlen 64 scopeid 0x2
> rl2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        lladdr 00:e0:4d:06:2b:68
>        groups: extif
>        media: Ethernet autoselect (100baseTX full-duplex)
>        status: active
>        inet 122.166.40.99 netmask 0xffffff00 broadcast 122.166.40.255
>        inet6 fe80::2e0:4dff:fe06:2b68%rl2 prefixlen 64 scopeid 0x3
> sk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        lladdr 00:0f:3d:88:9e:d4
>        media: Ethernet autoselect (100baseTX full-duplex,flag0,flag1)
>        status: active
>        inet 172.17.1.0 netmask 0xfff00000 broadcast 172.31.255.255
>        inet6 fe80::20f:3dff:fe88:9ed4%sk0 prefixlen 64 scopeid 0x4
> pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33224
> pfsync0: flags=0<> mtu 1460
>        groups: carp
> enc0: flags=0<> mtu 1536
> =================================================================================

Reply via email to