К чему сводится в большинстве случаев функционал роутера на FreeBSD? Это ограничение скорости хостам и трансляция (маскарадинг адресов). Рассмотрим реализацию для небольшой сети, например на 29 хостов (192.168.0.0/0), каждому из них необходимо ограничить скорость, скажем по 256Кбит/с. Самая простая реализация представляет собой последовательную обработку:

  • ограничение скорости (с помощью dummynet) на внутреннем интерфейсе (192.168.0.254/24 em0)
  • трансляция адресов на внешнем интерфейсе (109.86.41.14/24 re0).

Первую задачу наиболее просто решить тупым набором правил с pipe

/sbin/ipfw -q pipe 1001 config bw 16Kbits/s
/sbin/ipfw -q pipe 1002 config bw 16Kbits/s
/sbin/ipfw -q add 1001 pipe 1001 ip from any to 192.168.0.1 out xmit em0
/sbin/ipfw -q add 1002 pipe 1002 ip from 192.168.0.1 to any recv em0

и т.д. для всех необходимых адресов.

Трансляцию адресов реализуем средствами ipfw nat. Для всего блока:

/sbin/ipfw -q nat 101 config ip 109.86.41.14
/sbin/ipfw -q add 2001 nat 101 ip from any to 109.86.41.14 recv re0
/sbin/ipfw -q add 2002 nat 101 ip from 192.168.0.0/24 to any out xmit re0

Это простейший элементарный пример для начинающих.

Можно купить на этом сайте n замки-ручки от производителя качественные. .