I have the following setup:

                                  |
                                  | (67.95.100.16 - fxp4)
                                  | (67.95.100.17 - fxp4)
                           ----------------
                          |    EXTERNAL    |
                          |    FIREWALL    |
                           ----------------
                                  | (192.168.10.2 - fxp1)
          (192.168.10.1)          |
         ----------------         |
        |     WWW/FTP    |        |
        |     SERVER     |--------+
         ----------------

The 67.95.100.17 IP address belongs to 'EXTERNAL FIREWALL' on fxp4.
The 67.95.100.16 IP address is an alias on fxp4 to redirect www/ftp
traffic to an internal server. I'd like to limit bandwidth to
67.95.100.16 depending on the protocol used.

Traffic navigates to 'WWW/FTP SERVER' via a rdr rule for the ftp
traffic (reverse ftp-proxy):
  rdr pass log on fxp4 proto tcp from any to 67.95.100.16 \
    port = http -> 192.168.10.1
  rdr pass log on fxp4 proto tcp from any to 67.95.100.16 \
    port = ftp -> 127.0.0.1 port 8022

The reverse ftp-proxy is running as:
  # /usr/sbin/ftp-proxy -R 192.168.10.1 -p 8022

I created a queue to limit traffic on the internal interface
connecting 'EXTERNAL FIREWALL' to 'WWW/FTP SERVER':
  altq on fxp1 cbq bandwidth 1.5Mb queue \
    { queue_std, queue_ftp, queue_http }

  queue queue_std bandwidth 1.48Mb cbq(default)
  queue queue_ftp bandwidth 10Kb
  queue queue_http bandwidth 10Kb cbq(red)

And, the rules allowing traffic to 'WWW/FTP SERVER':
  pass  in log on fxp1 proto { tcp, udp } from any to any \
    port = domain keep state
  pass out log on fxp1 proto tcp from any to any \
    port = http keep state queue queue_http
  pass out log on fxp1 proto tcp from any to any \
    port = ftp keep state queue queue_ftp
  pass out log on fxp1 inet proto icmp all \
    icmp-type $icmp_types keep state queue queue_std

>From an external server, I attempted to download a file with curl
using ftp and www from 'WWW/FTP SERVER' server. Curl reports that
downloading via ftp shows no bandwidth limiting. As for www, the
bandwidth seems limited to ~30Kb/s. Why isn't my 10Kb bandwidth being
honoured?

-- 
albert chin ([EMAIL PROTECTED])

Reply via email to