Поместите это в свой squid.conf
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
# acl lan src 192.168.1.1 192.168.2.0/24 # configure this for your lan settings
http_access allow localhost
http_access allow lan
и удостоверьтесь, что Вы имеете, устанавливают iptables на Вашем сервере сквида.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Поскольку больше узнает ПРАКТИЧЕСКОЕ РУКОВОДСТВО по http://tldp.org/HOWTO/TransparentProxy.html
Этот фрагмент кода открывается /dev/console
. Получающийся дескриптор файла является дескриптором файла с самым низким номером, который не уже открыт. Если то число равняется самое большее 2, цикл выполняется снова. Если то число равняется 3 или выше, дескриптор закрывается и остановки цикла.
Когда цикл закончится, дескрипторы файлов от 0 до 2 (stdin, stdout и stderr), как гарантируют, будут открыты. Или они были открыты прежде и могут быть подключены к любому файлу, или они были просто открыты, и они подключены с /dev/console
.
Выбор /dev/console
является странным. Я ожидал бы /dev/tty
, который всегда является терминалом управления, связанным с группой процесса обработки вызовов. Это - один из нескольких файлов, которых стандарт POSIX требует для существования. /dev/console
системная консоль, которая является, куда сообщения системного журнала, отправленные в консоль, идут; для оболочки не полезно заботиться об этом.
Это интересно для цикла. 'open ()' возвращает файловые дескрипторы с наименьшим числом. Например, текущий fd равен 10, что показывает, что 0,1... и 9 были открыты ранее. Он закрывает один дополнительный дескриптор файла для только что открытой консоли.