Простое решение.
Шлюз для простых задач лучше брать «железный». Тот же D-Link успешно выпускает такие продукты. При минимальных вложениях личного времени и денег вы получите адекватное решение. Это относится и для дома и для офиса.
Посложнее.
Для задач посложнее я рекомендую опять же готовые решения на основе pfSense или RouterOS.
Комбайны.
Это всё относится к шлюзам. А делать комбайны шлюз + файловый сервер + веб сервер + торренты + много чего ещё — это не надёжно. Интересно, но не надёжно. Особенно, если это не домашнее хобби, а на работе. При любом сбое влетать будет сисадмину. А если шлюз отдельно, сервера отдельно, то при сбоях тоже будет влетать сисадмину, но меньше. А вот если озаботиться резервированием систем, то видимых сбоев не будет и... правильно. Админу влетать не будет.

Но если совсем хочется.
То можно и на Ubuntu Server сделать многое. Но только как хобби. Почему поднимаю этот топик, потому что я как раз и сделал запрошенное вначале. Шлюз на Ubuntu Server до Beeline по l2tp + WiFi точка доступа на USB-Wi-Fi адаптере + NAT для раздачи интернета + всё это на флешке. Но это изврат. И хотя по железу у меня расходов ноль, но времени убил целый день. Да и рулить потом этим шлюзом не удобно. Отчётов, графиков нет. Сегодня конфиги разобрал, а завтра что-то поменять — нужно заново разбираться.