Я хотел бы перенаправить трафик, который проходит через мой шлюз 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 Access Server перейдите в Расширенные настройки VPN → Директивы конфигурации сервера и введите следующую директиву с информацией об IP / порте вашего прокси.
push "dhcp-option PROXY_HTTP 111.222.333.44 8118"
Я не уверен, что все клиенты OpenVPN поддерживают эту конфигурацию. Но на IOS работает хорошо.
Настройте 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
Privoxy - это HTTP-прокси. То, что вы пытаетесь сделать, - это подавать ему неповрежденные сетевые пакеты, и я на 99% уверен, что он не примет это без некоторых очень сложных правил искажения в iptables. Вместо этого вы должны предоставить прокси-сервер для VPN (кажется, что он уже есть) и продвинуть его как параметр DHCP для своих клиентов VPN.
Инструкции для этого через OpenVPN можно найти здесь. https://forums.openvpn.net/topic14829.html и это можно сделать на индивидуальной основе, используя каталог ccd, если он у вас настроен.