Схема не работает, потому что просто смены шлюза недостаточно: прокси с TPROXY требует, чтобы пакеты приходили напрямую на его интерфейс с сохранением оригинального dst-адреса.
Настройки на Микроте:
Маркинг траффика всех клиентов (кроме самого прокси и локальной сети)
/ip firewall mangle
add chain=prerouting src-address=192.168.0.0/24 src-address-list=!proxy-server \
dst-address=!192.168.0.0/24 action=mark-routing new-routing-mark=to-proxy passthrough=no
Исключаем трафик ОТ прокси (во избежание петли)
/ip firewall address-list
add list=proxy-server address=192.168.0.5
Маршрут в отдельной таблице
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.0.5 routing-mark=to-proxy
На прокси сервере:
Разрешить форвардинг
sysctl -w net.ipv4.ip_forward=1
Маскарадинг для ответного трафика
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
Убедиться, что обратный маршрут есть:
ip route add 192.168.0.0/24 dev eth0