Hello, IB4m a quite newbye on OpenBSD and need some help with routing dependent on the source network.
This is the diagram of the scenary: (public IPs aren't the real ones) (ISP1) (ISP2) ADSL-DHCP SHDSL:80.25.145.193 | | | | --------------------- --------------------------- |Ext IP: DHCP | |Ext IP : 80.25.145.193 | |Int IP: 192.168.0.1 | |Int IPs: 80.25.145.192/29| --------------------- --------------------------- | | | | |------------------------------------------------------| | bge0: 192.168.0.254 bge1: 80.25.145.194 | | | | OpenBSD 4.2 FIREWALL | | Default gateway: 192.168.0.1 | | | | bge2: 172.16.0.254 bge3: 172.31.0.254 | |------------------------------------------------------| | | | | | | ------------------ ------------------ / LAN \ / DMZ \ / 172.16.0.0/24 \ / 172.31.0.0/24 \ | | | | | gw: 172.16.0.254 | | | | | | WEB_SRV: 172.31.0.21 | \ / \ / \ / \ / ----------------- ------------------- The expected behavior: 1.) Workstations on LAN net (172.16.0.0/24) must reach Internet through ISP1 (172.16.0.X --> 172.16.0.254 --> 192.168.0.10 --> 192.168.0.1 --> ISP1). 2.) Servers on DMZ net (172.31.0.0/24) must reach Internet through ISP2 (172.31.0.X --> 172.31.0.254 --> 80.25.145.194 --> 80.25.145.193 --> ISP2). 3.) Web server on DMZ net must be reachable from Internet through ISP2 (ISP2 --> 80.25.145.194 --> 172.31.0.254 --> 172.31.0.21). 4.) Responses to incoming Web server (DMZ net) must be reply through ISP2 (172.31.0.21 --> 172.31.0.254 --> 80.25.145.194 --> 80.25.145.193 --> ISP2). I've been testing many configurations without any success: a) With/without multipathing. b) With/without "route-to" and "reply-to" filter rules. ... B?Can anyone please help me? Bellow is my pf.conf file, i've removed the "routing outgoing trafic to ISP2" to avoid confusions with my wrongly builted rules. ############################################################################# ## ############################################################################# ## ## ## $OpenBSD: pf.conf,v 1.34 2007/02/24 19:30:59 millert Exp $ ## ## See pf.conf(5) and /usr/share/pf for syntax and examples. ## Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1 ## in /etc/sysctl.conf if packets are to be forwarded between interfaces. ############################################################################# ## ############################################################################# ## ############################################################################# ## ## CONF: Local interfaces ############################################################################# ## ## ISP1 isp1_if = "bge0" isp1_ip = "192.168.0.254" isp1_gw = "192.168.0.1" isp1_net = "192.168.0.0/24" ## ISP2 isp2_if = "bge1" isp2_ip = "80.25.145.194" isp2_gw = "80.25.145.193" isp2_net = "80.25.145.192/29" ## LAN lan_if = "bge2" lan_ip = "172.16.0.254" lan_net = "172.16.0.0/24" ## DMZ dmz_if = "bge3" dmz_ip = "172.31.0.254" dmz_net = "172.16.0.0/24" ############################################################################# ## ## CONF: Local servers/services ############################################################################# ## ## WEB Server srv_web_001 = "172.31.0.21" ############################################################################# ## ## CONF: Extended Security ############################################################################# ## private_networks = "{10.0.0.0/8 172.16.0.0/12}" pseudo_private_networks = "{192.168.0.0/16}" public_interfaces = "{" $isp1_if $isp_2if "}" ############################################################################# ## ## CONF: Loopback interface ############################################################################# ## set skip on lo ############################################################################# ## ## SCRUB ############################################################################# ## scrub in all ############################################################################# ## ## NAT: FTP-Proxy ############################################################################# ## nat-anchor "ftp-proxy/*" nat on $isp1_if inet from $lan_if -> ($isp1_if) rdr-anchor "ftp-proxy/*" rdr pass on $lan_if proto tcp to port ftp -> 127.0.0.1 port 8021 ############################################################################# ## ## NAT: From LAN and DMZ to INTERNET ############################################################################# ## nat on $isp1_if from $lan_net to any -> ($isp1_if) nat on $isp2_if from $dmz_net to any -> ($isp2_if) ############################################################################# ## ## REDIRECT: Redireccionamiento WEB (http y https) ############################################################################# ## rdr on $isp2_if proto tcp from any to $isp2_if \ port http -> $srv_web_001 port http rdr on $isp2_if proto tcp from any to $isp2_if \ port https -> $srv_web_001 port https ############################################################################# ## ## FILTER: Extended Security ############################################################################# ## antispoof quick for {lo $lan_if $dmz_if} block in quick on $public_interfaces from $private_networks to any block out quick on $public_interfaces from any to $private_networks block in quick on $isp2_if from $pseudo_private_networks to any block out quick on $isp2_if from any to $pseudo_private_networks ############################################################################# ## ## FILTER: Routing outgoing to ISP2 ############################################################################# ## ??? ############################################################################# ## ## FILTER: Allow all trafic (B!B!WARNING!!: JUST FOR DEBUG) ############################################################################# ## pass in quick on $public_interfaces all pass out quick on $public_interfaces all -- View this message in context: http://www.nabble.com/select-outgoing-route-depending-on-souce-interface-%28n et%29-tp15863445p15863445.html Sent from the openbsd user - misc mailing list archive at Nabble.com.