Anathae Townsend wrote: > > I am currently trying to open up a few ports on my firewall > to allow an > internal > windows home server to provide services to the outside world. > > My OpenBSD version is OpenBSD 4.5-current (GENERIC) #6: Sat > May 16 21:50:41 > MDT 2009 > > I am trying to use the simple proxy method mentioned in the faq on the > OpenBSD.org to > forward internal requests to the external ip address to the > home server. > > However, I can't get there from here. Neither internal nor external > requests to the
on page 58 of Hansteen's excellent "The Book of PF" there is an incantation. -- from slightly sanitized /etc/pf.conf -- OpenBSD vintage aprox 4.4 -- scrub is now automatic, ftp-proxy may have changed Both local and internet refer to the server (Linux) by the one external IP (on the OpenBSD gateway/firewall/router), including the local server talking to itself (and it does a lot of that). Seems like the last two lines below are the critical ones. scrub in ## this would be redundant and wrong on -current nat on $ext_if from !($ext_if) -> ($ext_if:0) nat-anchor "ftp-proxy/*" rdr-anchor "ftp-proxy/*" rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021 rdr on $ext_if proto tcp from any to any port $services -> $server ### (p 58 The Book of PF ) rdr on $int_if proto tcp from $localnet to $ext_if port $services -> $server no nat on $int_if proto tcp from $int_if to $localnet nat on $int_if proto tcp from $localnet to $server port $services -> $int_if > external ip address work. A msdos telnet session to the external ip > address, port 25 > returns an SMTP 421 error immediately and exits. > > Any help on opening up these ports would be greatly > appreciated, below is my > current > pf.conf, as well as (slightly edited) output of ifconfig for > the internal > (ingress) > and external (egress) interfaces on the firewall. > > NAT is working internally, and I am able to both send email > and read web > pages (among > other stuff.) > > --pf.conf----------------------------------------------------- > -------------- > ---------- > # pf.conf created july 6, 2009 > # author: Anathae Townsend > > # macros > homeserv = "192.168.0.195" > homeport = "{http, https, 4125, smtp, pop3, imap }" > > # skip loop back, makes rules quicker > set skip on lo > > # redirects for home server > rdr on egress proto tcp from any to egress port $homeport -> $homeserv > > # redirects for internal web access to proxy server > rdr on ingress proto tcp from ingress:network to egress port > 80 -> 127.0.0.1 > port 5000 > > # NAT rules to allow inside->out > nat on egress from ingress:network -> (egress) > > # allow internal systems to make connection > pass in # to establish keep-state > > # allow home server services > pass proto tcp from any to $homeserv port $homeport synproxy state > pass proto tcp from $homeserv to any port smtp synproxy state > > # By default, do not permit remote connections to X11 > block in on ! lo0 proto tcp from any to any port 6000 > --ifconfig > sk0----------------------------------------------------------- > ------------- > sk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:1e:58:ab:13:8c > priority: 0 > groups: ingress > media: Ethernet autoselect (1000baseT > full-duplex,rxpause,txpause) > status: active > inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 > inet 192.168.0.51 netmask 0xffffff00 broadcast 192.168.0.255 > --ifconfig > rl0----------------------------------------------------------- > ------------- > rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:05:5d:d2:6e:48 > priority: 0 > groups: egress > media: Ethernet autoselect (10baseT half-duplex) > status: active > inet #.#.#.# netmask 0xffffff80 broadcast #.#.#.#