Прошу помочь с перенаправлением на внешний http-proxy
Добавлено: 19 сен 2013, 08:47
Доброго времени суток. Имеется следующая задача: перенаправить весь http и https-трафик локальной сети за микротиком на sock-прокси. Socks запущен на машине внутри сети. Следующая схема работает успешно: LAN-clients - внутренний Web Proxy микротика - parent http-proxy (polipo или privoxy - без разницы) на машине в LAN - parent Sock-proxy (tor) на этой же машине в LAN. Но стОит вместо redirect на внутренний Web Proxy поставить dst-nat на внешний прокси, и всё, не работает. Причём, если делать не redirect, а dst-nat на внутренний Web-proxy, который потом дальше идёт по цепочке прокси, то тоже всё работает. Схема с собственным Web-proxy микротика не устраивает, т.к. очень медленно работает на этапе: Web-proxy - внешний http-proxy. Если браузеру задать в качестве прокси внешний (который потом выходит на Socks), то скорость в принципе приемлемая. Поэтому собственно и хотелось бы заворачивать весь трафик сразу на внешний прокси, а не на микротик. Вот мои правила файервола и нат:
Прошу обратить внимание на правило №5 для NAT (оно отключено, но и во включенном состоянии то же самое). У меня в веб-интерфейсе УСТАНОВЛЕН ИМЕННО РЕДИРЕКТ на порт 8080, а консоль зачем-то выдаёт ещё и "to-addresses="external proxy in local LAN IP"!!! Что это такое - вообще ума не приложу! Кто врёт? Может, микротик ещё где-то со мной так же "шутит"?
WinBox показывает то же, что и веб-интерфейс, т.е. редирект на 8080 (без to-addresses). При включении этого правила редирект идёт, как и полагается, на Web Proxy микротика, а не на внешний.
Код: Выделить всё
[admin@home-router] > ip firewall filter print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=input action=accept src-address="remote LAN" dst-address="router LAN IP"
1 chain=output action=accept src-address="router LAN IP" dst-address="remote LAN"
2 chain=forward action=accept src-address="remote LAN" dst-address="local LAN"
3 chain=forward action=accept src-address="local LAN" dst-address="remote LAN"
4 ;;; block access to internal WEB-proxy from WAN
chain=input action=drop protocol=tcp src-address=0.0.0.0 in-interface=wan dst-port=8080
5 chain=input action=accept protocol=udp src-port=500
6 chain=input action=accept protocol=ipsec-esp
7 chain=input action=accept protocol=tcp dst-port=80
8 ;;; default configuration
chain=input action=accept protocol=icmp
9 ;;; default configuration
chain=input action=accept connection-state=established
10 ;;; default configuration
chain=input action=accept connection-state=related
11 ;;; default configuration
chain=input action=drop in-interface=wan
[admin@home-router] > ip firewall nat print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat action=accept src-address="local LAN" dst-address="remote LAN"
1 chain=dstnat action=accept src-address="local LAN" dst-address="remote LAN"
2 X ;;; exclude external WEB-proxy from redirecting
chain=dstnat action=accept protocol=tcp src-address="external proxy in local LAN IP" dst-port=80,443
3 X ;;; redirect WEB-requests to external WEB-proxy
chain=dstnat action=dst-nat to-addresses="external proxy in local LAN IP" to-ports=8080 protocol=tcp src-address="local LAN" dst-port=80,443
4 X ;;; exclude internal WEB-proxy from redirecting
chain=dstnat action=accept protocol=tcp src-address="router LAN IP" dst-port=80,443
5 X ;;; redirect WEB-requests to internal WEB-proxy
chain=dstnat action=redirect to-addresses="external proxy in local LAN IP" to-ports=8080 protocol=tcp src-address="local LAN" dst-port=80,443
6 ;;; forward DNS querys for remote LAN to remote LAN dns-server IP
chain=dstnat action=dst-nat to-addresses="remote LAN dns-server IP" connection-mark=mtrele.ru-forward
7 ;;; default configuration
chain=srcnat action=masquerade out-interface=wan
Прошу обратить внимание на правило №5 для NAT (оно отключено, но и во включенном состоянии то же самое). У меня в веб-интерфейсе УСТАНОВЛЕН ИМЕННО РЕДИРЕКТ на порт 8080, а консоль зачем-то выдаёт ещё и "to-addresses="external proxy in local LAN IP"!!! Что это такое - вообще ума не приложу! Кто врёт? Может, микротик ещё где-то со мной так же "шутит"?
