Добрый день.
Есть squid на сервере с убунтой (14.04.5), который работает как обычный прокси с авторизацией по IP на порту 8888, и как прозрачный прокси для HTTP на порту 3198, а так де delay_pools и т. п.
На днях собрался и на отдельной машине скомпилировал сквид с возможностью прозрачного проксирования и блокировки HTTPS трафика. На тестовой машине обкатал, все прекрасно, все работает.
Теперь стоит задача, не останавливая работу интернетов для пользователей, грохнуть работающий на данный момент сквид, установить и сконфигурировать новый.
Теоретически можно было бы временно поднять на отдельной машине сквид без авторизации и дать этой машине IP работающего на данный момент сервера (на работающей сейчас убунте включен форвардинг и для пользователей в сети он является «шлюзом по умолчанию», запросы на 80 порт перенаправляются на прозрачный порт сквида), но проблема в том, что на сервере не только сквид, но и почтовый сервер (postfix + dovecot) и еще всякая мелочевка вроде файлопомойки на самбе и принтсервера на капсе.
Есть идея поднять таки прокси на отдельной машине и приходящие запросы на 80 и 8888 порт перенаправлять на эту машину IP:port.
2 дня курил man iptables, но так и не нашел для себя решения. Насколько я понимаю из мана, действие REDIRECT у iptables может только в --to-ports на этой же (локальной) машине, а бросить пакет на другую машину по IP:port не может. Возможно, нужна цепочка правил, я не догоняю как реализовать.
Вопрос: как временно заставить пакеты из сети 192.168.0.0/24 следующие через «шлюз по умолчанию» с адресом 192.168.0.1 на порт 80 и 8888 идти на 192.168.0.2:80 и 192.168.0.2:8888 соответственно?
Возможно, у кого-то есть другие предложения по решению такой задачи.