Назад | Перейти на главную страницу

Squid для разрешения определенных портов

Я программист, но сейчас у меня есть роль присматривать за сетью на базе Linux, поэтому этот вопрос может быть немного глупым. Все ПК проходят через squid в качестве прокси-сервера, squid не настроен на блокировку обычных "доверенных" портов, например. 80 (http), и я также изменил его, чтобы разрешить более высокие порты, например. 4040. но когда я пытаюсь открыть URL-адрес, содержащий этот номер порта, squid блокирует его, например

http://192.168.1.100:4040

любые мысли относительно того, почему он это делает.

Клиенты - это Windows XP, squid работает на debian (afaik) на образе VMware.

Разрешенные порты обычно настраиваются Safe_ports acl. В файле конфигурации должен быть ACL, настраивающий список портов. Это используется в http_access правило. В моей конфигурации есть правило http_access deny !Safe_ports.

В системе Debian может быть запущен брандмауэр iptables, который предотвращает исходящий доступ к порту 4040.

РЕДАКТИРОВАТЬ: может быть проще прочитать конфигурацию, если вы удалите из нее комментарии и пустые строки. Это должно уменьшить количество просматриваемых строк до 50 или около того. Команды для разборки файла и извлечения данных acl:

 sudo grep -v -e '^#' -e '^$' /etc/squid3/squid.conf > ~/squid.txt
 grep grep -i -e acl -e allow  -e deny squid.txt

Важные строки для вашей проблемы:

acl localnet src 192.168.0.0/16  # RFC1918 possible internal network
acl Safe_ports port 1025-65535  # unregistered ports
http_access deny !Safe_ports
http_access allow localnet

Проблема, скорее всего, возникнет, если незарегистрированные порты отсутствуют. Соединение, скорее всего, не удастся, если на порту используется HTTPS.