У меня http прокси, который разработан в моей компании. Прокси использует TPROXY. Обычно установка этого прокси требует добавления некоторых правил маршрутизации и правил iptables (как для squid):
ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
iptables -t mangle -N DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port $PROXPORT --on-ip $PROXIP
Теперь мне нужно проксировать трафик с разных вланов. Я не понимаю, как я могу написать правила IP для маршрутизации трафика после прокси на подходящий выходной интерфейс. Под «подходящим» я подразумеваю виртуальный тегированный выходной интерфейс, совпадающий с входным интерфейсом.
+---------+ +---------+
| | | |
| eth4.2 |--+ | eth5.2 |
| input | | +-->| output |
+---------+ | +----------+ | +---------+
| | | |
+---------+ +-->| |--+ +---------+
| | | TROXY | | |
| eth4.3 |----->| Magic |----->| eth5.3 |
| input | | | | output |
+---------+ +-->| |--+ +---------+
| | | |
+---------+ | +----------+ | +---------+
| | | | | |
| eth4.4 |--+ +-->| eth5.4 |
| input | | output |
+---------+ +---------+
Спасибо за любую помощь.