Я хочу использовать Интернет моей школы на своем Android, проблема в том, что у них есть прокси Squid, и многие приложения на моем телефоне вообще не используют прокси.
Очевидное решение - установить прозрачный прокси на моем Android, чтобы заставить все приложения подключаться через него. Проблема в том, что мне нужно рутировать телефон, чтобы он работал, и я не хочу этого делать, потому что это не совсем мой телефон, а рутирование немного рискованно.
Другое безопасное решение - заставить мой компьютер работать в качестве шлюза, поэтому я указал свой Ubuntu IP в параметре шлюза телефона.
Я использую небольшой прокси на своей Ubuntu (cntlm), поэтому я перенаправляю трафик Android на него. Я сделал это с "iptables" следующим образом:
iptables -t nat -A PREROUTING -s 10.0.1.118 -p tcp -j REDIRECT --to-ports 8888
iptables -t nat -A PREROUTING -s 10.0.1.118 -p udp -j REDIRECT --to-ports 8888
10.0.1.118 - это IP-адрес телефона, 8888 - это порт cntlm (прокси на моем ПК).
Теперь по телефону: когда я захожу на навигатор www.google.com
я ничего не получаю (веб-сайт не найден, сообщение об ошибке Firefox).
Но, когда я http://74.125.143.101
(IP-адрес Google), я получаю сообщение об ошибке от школьного прокси-сервера (так оно и сработало - мой компьютер перенаправил трафик телефона на прокси-сервер Squid).
Сообщение об ошибке:
запрашиваемый адрес недоступен
при попытке обработать запрос
получить / http / 1.1
хост 74.125.143.101
пользователь-агент ...
...
Я думаю, что проблема в заголовке "GET", это должен быть GET 74.125.143.101 HTTP/1.1
. Но я не понимаю, что происходит, и я сертифицированный CCNA.