Попробуйте использовать готовые решения из коробки, типо pfsense, zentyal (до 4 версии) или untangle. Для выполнения ваших задач - хватить вполне, плюс найдете для себя много новых возможностей. Последние два варианта существуют на платной основе, больше функций и техподдержка имеется.
Для этого нужно выделить отдельный ПК с 2-мя сетевыми картами.
На Windows такого, что бы прям бесплатного - только описанные ранее.
Остальное за деньги, или воровать у таких как: Kerio usergate wingate, что не рекомендую.