Когда клиенту чётко указано работать через прокси - браузер посылает прокси запрос в "сыром" виде. Т.е. используя dns-имя, например, forum.ubuntu.ru. Прокси сам определяет ip-адрес запрашиваемого ресурса средствами DNS-серверов провайдера (у него есть к ним доступ) и работает уже с сервером.
При прозрачном прокси, клиент не подозревает о его существовании и вынужден сам узнавать IP-адрес запрашиваемого ресурса и ... А вот тут засада. Доступа-то к DNS-серверам провайдера у него нет - Вы для этого ничего не делали. А в сети ни репитера ни своего DNS-сервера так же нет (уверен на 99.9%). Вот и всё. Браузер уже на этапе поиска IP-адреса уже не может решить свою задачу. попробуйте открыть страничку
http://213.108.252.153 или
http://93.158.134.3 и Вы увидите знакомые очертания.
Пользователь решил продолжить мысль 27 Февраля 2013, 22:31:56:
Решить эту проблему можно, как ни странно (это же linux), несколькими способами
1. организовать свой, локальный DNS-сервер, который будет обслуживать свою домашнюю зону, а заодно получать информцию с серверов провайдера. Круто, чётко, но ... сложно в реализации даже для гуриков
(те кто только начал считать себя гуру в линукс)
2. Поставить на шлюз (или ещё куда рядышком)репитер DNS-серверов провайдера. Он тупо получает запросы от клиентов и так же тупо тот же вопрос задаёт провайдерскому DNS-серверу и ответ возвращает клиенту. Обычно ещё и немного кеширует для ускорения работы. практически простейший вариант, который кстати описан в прикреплённой теме по расшариванию интернета. Софтина называется dnsmasq. Она бонусом ещё и раздавать адреса по DHCP умеет.
3. Пробросить все запросы от клиента к DNS-серверам провайдера. Довольно скучный вариант в основе которого работа NAT того же сервера, то есть нужно хоть чуть-чуть разбираться в работе netfilter.