Как перекинуть пакеты с одного интерфейса на другой и вернуть обратно
Добрый день!
Дано:
- одна машина с линуксом
- два интерфейса:
- eth1 192.168.1.2, роут наружу через 192.168.1.1
- eth2 10.8.0.2, роут наружу через 10.8.0.1
- роут по умолчанию 192.168.1.1 (т.е. по умолчанию - всё через eth1)
- на 192.168.1.2:80 слушает какое-то приложение
Задача. Соединения и пакеты идущие на 10.8.0.2:80 перебрасывать на 192.168.1.2:80, при этом:
- ответы от 192.168.1.2:80 для соединений с 10.8.0.2:80 должны идти обратно через eth2
- соединения и пакеты идущие снаружи через eth1 на 192.168.1.2:80 должны обрабатываться как обычно
- адрес источника соединения должен оставаться исходным (т.е. приложение должно видеть исходный src ip)
Подскажите, возможно есть готовое решение? Или в какую сторону копать?
Что я не понимаю - как вернуть пакеты обратно через корректный интерфейс.