You currently have the following rules

  pass out log on $ext_if inet proto tcp from $proxy to any port 
$proxy_services keep state

  # pass out
  pass out log

What's the point of these? Whenever the first rule would match, the
second one would always override it, making the first one superfluous.

Further, the first rule never matches, because the proxy isn't using
$proxy=172.18.0.1 as source for outgoing connections (but the
IP of $ext_if).

The second rule matches, but doesn't have 'keep state', so the TCP
handshake fails (SYN passes out, but SYN+ACK reply is blocked).

Hence, delete the first rule and add "keep state" to the second rule.

HTH,
Daniel

Reply via email to