Я хотел бы перенаправить трафик, который проходит мой шлюз OpenVPN к Privoxy, как так:
Клиент OpenVPN-> Интернет-> шлюз OpenVPN-> Privoxy-> Интернет-> веб-сервер (и наоборот)
До сих пор мне удалось получить хорошо работающий шлюз OpenVPN. Соединение с прокси Privoxy, кажется, работает также. Но перенаправляя порт 80 трафиков через iptables просто не будут работать (внешние веб-серверы недостижимы). На что должен был бы быть похожим мой iptables файл конфигурации?
Заранее спасибо
PS: Это - то, что я придумал до сих пор...
iptables -t nat -A POSTROUTING -o eth0 -s 10.10.10.0/24 -j MASQUERADE iptables -I FORWARD -i tap0 -j ACCEPT iptables -I FORWARD -o tap0 -j ACCEPT # No success with the following line iptables -t nat -A PREROUTING -i tap0 -p tcp --dport 80 -j REDIRECT --to-port 8118
Вы можете настроить прокси для клиентов OpenVPN.
Из веб-интерфейса сервера доступа OpenVPN перейдите к Расширенным настройкам VPN → Директивам настройки сервера и введите следующую директиву со своей информацией об ip/port прокси.
push "dhcp-option PROXY_HTTP 111.222.333.44 8118"
Я не уверен, все ли клиенты OpenVPN поддерживают эту конфигурацию. Но на IOS это работает хорошо.
.Privoxy - HTTP прокси. То, что вы пытаетесь сделать, это скормить ему неповрежденные сетевые пакеты, которые, я на 99% уверен, он не примет без некоторых очень сложных правил mangle в iptables. Вместо этого вы должны открыть прокси для VPN (кажется, что он уже есть), и нажать на него как на DHCP опцию для ваших VPN клиентов.
Инструкции для этого через OpenVPN можно найти здесь https://forums.openvpn.net/topic14829.html, и это можно сделать по клиенту, используя директорию ccd, если у вас есть такая настройка.
.Настройте Privoxy для прослушивания адреса на туннельном интерфейсе, например 172.26.0.1, а затем просто перенаправьте на него трафик VPN:
sudo iptables -t nat -A PREROUTING --source 172.26.0.0/16 -p tcp -m tcp --dport 80 -j DNAT --to 172.26.0.1:8118