Para Linux, como bien dice @tzi!, iptables es la opción.
Si el S.O. es windows la mejor alternativa con diferencia es usar Kerio. o Winroute + Kerio en su opción de pago. Creo que la opción de pago debe de estar sobre los 200 euros, un precio que es de risa para la contrastada calidad de Kerio:
http://www.kerio.com/kerio.html