я знаю это Android не поддерживает автоматическое обнаружение файлов pac, и я также знаю, что порт 443 не может быть перенаправлен. Итак, вот что у меня есть:
Например, если предположить, что кальмар-тайник порт прокси - 3128 (eth1 local, eth0 internet), следующее правило iptable не работает для списка "macsphone.txt":
for macsphone in $(/path_to/macsphone.txt); do
iptables -t nat -A PREROUTING -i eth1 -m mac --mac-source $macsphone -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A INPUT -i eth1 -m mac --mac-source $macsphone -p tcp --dport 3128 -j ACCEPT
iptables -A FORWARD -i eth1 -m mac --mac-source $macsphone -p tcp --dport 3128 -o eth0 -j ACCEPT
done
PD: список "macsphone.txt" содержит mac-адреса смартфонов с android.
Только это правило будет работать, когда прозрачный порт 8080 открыт для прокси-сервера squid для http и 443 для https, который не проходит через прокси-сервер squid:
for macsphone in $(/path_to/macsphone.txt); do
iptables -t nat -A PREROUTING -i eth1 -m mac --mac-source $macsphone -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -A INPUT -i eth1 -m mac --mac-source $macsphone -p tcp --dport 8080 -j ACCEPT
iptables -A FORWARD -i eth1 -m mac --mac-source $macsphone -p tcp --dport 8080 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth1 -m mac --mac-source $macsphone -p tcp --dport 443 -o eth0 -j ACCEPT
done
Есть ли способ перенаправить трафик Android на прокси-сервер squid в непрозрачном режиме (для http и https) без необходимости вручную устанавливать прокси (ip / порт) на Android? (с iptables, какой-то скрипт, похожий на файл pac, apache2, qr-код или что-то еще)
То есть избегайте этого:
PD: DNS, NAT, MASQUERADE и т. Д. Открыты для моей сети
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -i eth1 -o eth0 -j MASQUERADE
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
PD2: Пожалуйста, не предлагайте пи-отверстие, Squid-in-the-middle SSL Bump или похожие