LINUX.ORG.RU
ФорумAdmin

Сквид на отдельной машине. iptables.

 , ,


0

2

Дорого времени суток, друзья.

Помогите решить задачку: В сети ве машины: 1. UbuntuServer14.04. На ней NAT+DHCP+BIND. Работает в качестве роутера 2. UbuntuServer14.04. На ней не прозрачный SQUID3. Юзвери должны ходить в инет через сервер со сквидом.

В итоге юзверь ломится на сквид, проходит авторизацию но странички не открывает и пишет ошибку ERR_CONNECTION_TIMEOUT

Я так понимаю, что нужно править iptables. Пробовал много правил и уже запарился. Помогите, пожалуйста понять что к чему. Нужно настраивать iptables на сервере со сквидом?

Конфиги можно посмотреть в спойлерах по ссылке (их там лучше видно):

http://forum.ubuntu.ru/index.php?topic=283273.msg2232096#msg2232096

Предыдущий пост:

http://forum.ubuntu.ru/index.php?topic=281904.0


Нужно настраивать iptables на сервере со сквидом?

Обычно нет, если только их там кто-то до этого не настраивал.

их там лучше видно

Увлекательно занятие рыскать по двум веткам форума в поисках итогового списка правил iptables.

Вам только нужно разрешить прохождение пакетов на порт 443 от ip-адреса squid'a и обратных пакетов в FORWARD на маршрутизаторе, тут просто погуглить надо и почитать документацию.

mky ★★★★★
()
Ответ на: комментарий от mky

Дорогой товарищ, спасибо за ответ.

Обычно нет, если только их там кто-то до этого не настраивал

не настраивал никто

Увлекательно занятие рыскать по двум веткам форума..

Попробуйте вот так прочитать конфиг сквида, если вам удобно:

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwd auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours acl password proxy_auth REQUIRED acl localnet src 192.168.0.0/24 # RFC1918 possible internal network acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager #http_access allow localnet http_access allow password http_access allow localhost http_access deny all http_port 192.168.0.1:3128 cache_mem 1024 MB maximum_object_size_in_memory 512 KB cache_dir ufs /var/spool/squid3 2048 16 256 maximum_object_size 4 MB access_log daemon:/var/log/squid3/access.log squid logfile_rotate 31 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 refresh_pattern . 0 20% 4320

тут просто погуглить надо и почитать документацию

Знаете, сударь, если бы я ее нашел, то тему не создавал бы. Это ж очевидно, ну ё маё ...

vetfbi
() автор топика
Ответ на: комментарий от vetfbi

Документацию то я нашел и на формах біло нечто похожее, но после применения подобных правил ничего не происходит:

iptables -t nat -A PREROUTING -p tcp -s $i d 0/0 --dport 80 -j DNAT --to 192.168.140.1:3128 iptables -t nat -A POSTROUTING -s $POSAD_LAN -d 192.168.140.1 -j SNAT --to $POSAD_LOCAL_IP iptables -A FORWARD -s $POSAD_LAN -d 192.168.140.1 -p tcp --dport 3128 -j ACCEPT

vetfbi
() автор топика
Ответ на: комментарий от vetfbi

Внизу по формой отправки сообщения ведь написано:

Внимание: прочитайте описание разметки LORCODE

Чтобы постить конфиги/логи есть теги [pre] и [code].

Конфиг squid'а пока мне не интересен, он, с ваших слов, авторизирует пользователя и пытается идти в инет, то есть как бы работает.

Правила iptables нужно показывать полностью — вывод команды ″iptables-save″. В вырваных из списка правил мало смысла.

Из тех правил, что вы привели, непонятно, зачем DNAT, если squid у вас в обычном, а не в «прозрачном» режиме.

Вам нужно дать proxy-серверу выход в инет, не знаю, сколько у вас там уже правил в iptables, как-то так:

iptables -I FORWARD -s 192.168.140.1 -j ACCEPT

Заходите по ssh или с консоли на машину где squid, из командной строки проверяете, что работает команда:

ping ya.ru
или любой другой хост.

Потом проверяете, что https порт открыт:

telnet ya.ru 443
Если в выводе есть Connected to ya.ru. нажимаете ″Ctrl-C″ и смотрите, что там со squid'ом.

P.S. Когда я писал про документацию, я в первую очередь подразумевал iptables. То, что в HOWTO, форумах и т.д. пишут правила iptables, не означает, что их нужно тупо копировать и ждать что всё заработает. Нужно разобраться что каждое из приводимых правил делает, и понять какие правила и куда добавить в набор правил вашего сервера.

mky ★★★★★
()
Ответ на: комментарий от mky

Спасибо друг, помогло твое правило + поправил правило перенаправления и все заработало. Доволен как слон)

vetfbi
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.