Dear List, Here I show my network topology. Maybe it seems quite typical. My internal network is located behind an Intl/Extl Firewall which is connected to the Internet(IN) via pppoe/ppp(8). On the other side I run different systems, for instance a home office network, a mobile laptop, and several customers.
+---+ +---+ | A | | B | (PC) +-+-+ +-+-+ | | +---------+ --+-----+---| Intl FW |---(DMZ)---+ (LAN/int) +---------+ | | +---------------------------------------+ | +---+ | ____ | Z | (PC) | ( ) +---+ | +---------+ pppoe/ppp(8) +-----------+ ( ) +----+ | | | |--------------| DSL-Modem |--( )--| GW |----+- | | | rl0/tun0 +-----------+ ( ) +----+ (HomeOffice) +--| Extl FW | ( IN ) +----------+ | | pppoe/ppp(8) +-----------+ ( )--| Customer | | |--------------| DSL-Modem |--( ) +----------+ +---------+ rl1/tun1 +-----------+ ( ) +--------+ OpenBSD 4.8 (____)--| Mobile | +--------+ My question is about the setup of routing and packet filtering on the External Firewall: How can I force my Extl. FW to reply on exactly the same interface it had been requested on? For example I am running OpenVPN(1194/UDP) between my HomeOffice (Z=Client) and the Intl. FW(=Server). Alike I would appretiate SSH-portforwarding from Internet to the Intl. FW. I tried using "route-to" and "reply-to", but that did not work - PF.CONF(5) says this should do, but I could not figure out, how. I did not not understand how "route-to" and "reply-to" actually work (could not find any explanation, though I have tried hard to search for). Everything else (NAT, outbound load balancing, filtering) works just fine. My routing is: default XXX.X.XX.XXX UGSP 2 101853 - 8 tun0 default XXX.X.XX.XXX UGSP 0 988 - 8 tun1 I manage my multipath routes (net.inet.ip.multipath=1) via - ppp.linkup: MYADDR: shell route add -mpath default HISADDR - ppp.linkdown MYADDR: shell route delete -mpath default HISADDR What I tried in pf.conf is: pass in on tun0 all keep state reply-to ( tun0 tun0:peer ) pass in on tun1 all keep state reply-to ( tun1 tun1:peer ) Asking PF statistics (pfctl -v -s rules) shows that no packet has been operated by those "reply-to" rules. Since I consider PF a brilliant concept I would really appretiate any hint that would help. Thanks to all OpenBSD developers for their great work and thanks for any advice. Best regards Torsten -- ------------------------------------------------------------------------ Torsten Finke f...@igh-essen.com ------------------------------------------------------------------------