При условии того, что в браузере ничего менять не надо, Вам нужен прозрачный прокси. Как вариант, нужно задействовать маршрутизацию на шлюзе, и пересылать все пакеты идущие на 80й порт на прозрачный прокси (например на порт 3128) а на этом порту поднять прокси в режиме транспарент (для сквида это строка в конфиге http_port 3128 transparent )
Примеров конфигурации предостаточно, например
https://habrahabr.ru/sandbox/39160/
Обратный прокси: можете воспользоваться Nginx нужна вам строка в конфигурации будет выглядеть примерно так
location /
{
proxy_pass http://$http_host;
}
В процессе настройки, пользуясь документацией сможете настроить под ваши задачи