Сначала извините за мой английский. Во-вторых, я настроил squid в режиме аутентификации на порт 8888. и перенаправил свой сетевой трафик eq www через карту маршрутов на сервер squid. а на сервере iptables перенаправляет трафик с порта 80 на 8888 (порт squid).
-A PREROUTING -s 10.32.3.0/24 -p tcp --dport 80 -j DNAT --to 64.23.45.12:8888
но когда я просматриваю Интернет, т.е. присутствует эта ошибка:
The requested URL could not be retrieved
The following error was encountered while trying to retrieve the URL: /
Invalid URL
И это сообщение присутствует в access.log:
1281752166.811 0 10.32.3.12 NONE/400 1744 GET / - NONE/- text/html
Но когда я устанавливаю каждый ip (не squid ip) в настройке прокси с портом 80;
присутствует окно аутентификации, затем запрошенный мной web.
P.S при настройке squid через прозрачный режим работает нормально.
Вот мой squid.conf:
visible_hostname black
maximum_object_size 64000 KB
dns_nameservers 4.2.2.4
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
acl snmppublic snmp_community squiz
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563 8443
acl Safe_ports port 80 1000 443 563 70 20-65535 280 488 591 777 5555 465 210 21
acl CONNECT method CONNECT
http_access allow ncsa_users
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
tcp_outgoing_address 64.23.45.12
http_port 8888
cache_mem 20 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /log/access.log
cache_store_log none
cache_effective_user nobody
http_access deny all
Я думаю, концептуально невозможно одновременно работать в прозрачном и аутентифицированном режимах.
Если вы хотите аутентификацию, не используйте прозрачный прокси. Пользователи должны настроить прокси ip / user / pass вручную.
Если вы хотите прозрачное проксирование, там нет места для ввода пользователя / пароля.
Единственным решением было бы использовать точку доступа, но я не думаю, что вы могли бы сделать это только с помощью Squid (вам понадобится что-то вроде Nocat).