PF port forward problem with Sonicwall VPN (revisited)
andy thomas
andy at time-domain.co.uk
Tue Mar 22 09:23:00 UTC 2011
At the end of January I posted this message (see below) regarding a
problem with forwarding incoming traffic on port 444 to an internal IP
address on port 443. At the time I didn't get very far with this and the
problem "went off the boil" a bit after we upgraded the ShrewSoft VPN
installations on the remote Windows PCs to the latest available version
and this works fine with the existing IPSec installation on the firewall,
which has taken the pressure off me.
But I've now started looking at the problem afresh and after logging into
the Sonicwall VPN appliance's web interface from a local PC, there is a
diagnostic ping utility on the Sonicwall - it is possible to ping the
internal firewall interface vr1 (which uses the IP address 192.168.30.1)
but attempts to ping the external interface on vr0 or any external address
fail. The pf ruleset remains as before:
ext_if="vr0" (external IP address)
int_if="vr1" (192.168.30.1)
sonicwall="192.168.30.28"
rdr pass log on $ext_if proto tcp from any to $ext_if port 444 -> $sonicwall port 443
An almost identical rule is used for a webmail server except that there is
no port address translation (ie, external port 443 forwards directly to
internal port 443) and this has no problems.
Clearly something is missing from my Sonicwall rule that is blocking
traffic from the Sonicwall to the external interface - as I'm doing PAT as
well as NAT in this instance, do I need to add an additional rule(s)?
Andy
---------- Forwarded message ----------
Date: Fri, 28 Jan 2011 08:49:27 +0000 (GMT)
From: andy thomas <andy at time-domain.co.uk>
To: freebsd-pf at freebsd.org
Subject: PF port forward problem with Sonicwall VPN
I'm maintaining some OpenBSD-based firewalls and have been really stumped with
a problem when trying to add a Sonicwall VPN appliance behind the firewall, and
thought I'd ask here for help.
The Sonicwall device uses SSL on port 443 for it's external VPN traffic and
listens on other ports for internal LAN traffic and it uses a single network
interface for this. On our installation, there is a webmail server behind the
firewall listening on port 443 and the existing PF rule for this is
(abbreviated for clarity):
ext_if="vr0"
int_if="vr1"
webmail="192.168.30.14"
rdr pass log on $ext_if proto tcp from any to $ext_if port 443 -> $webmail
port 443
This works fine so as external port 443 is already in use for webmail, I
decided to use external port 444 for the Sonicwall and added these two extra
rules:
sonicwall="192.168.30.28"
rdr pass log on $ext_if proto tcp from any to $ext_if port 444 -> $sonicwall
port 443
However, the Sonicwall cannot be accessed from the external port 444 although
it can be accessed internallt on port 443 of course. I have tested this
rule by changing it to point to the webmail server like this:
rdr pass log on $ext_if proto tcp from any to $ext_if port 444 -> $webmail
port 443
and this works fine as I can access webmail on port 444. But why can't I access
the Sonicwall on port 444? Does anyone know if the Sonicwall uses additional
ports or has anyone got this device to with with a PF-based firewall?
Thanks in advance for any suggestions,
Andy
More information about the freebsd-pf
mailing list