Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Squid или не squid и почему http незаворачивает на squid автоматом  (Прочитано 2088 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ZolteR

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Всем здрасте уже в который раз пытаюсь настроить squid и все напрасно.
eth1 - LAN, eth0 - ADSL

Настраиваю squid по инструкции, прописываю у клиентов в броузере настройки все работает прокся кэширует и фильтрует клиентов которым можно ходить в инет, стоит только убрать настройки все перестает работать. Попытался перенаправить трафик на прокси ч/з маршрутизацию не сработало.

iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.66.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.66.1:3128

еще есть маршрут для выхода в инет напрямую с ним клиенты работают и без настроек прокси в броузере, но тогда трафик не кэшируется

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.66.0/27 -j MASQUERADE

Есть еще один не мало важный вопрос. почему стандартные параметры squid ничего толком не кэшируют, только после добавления /etc/squid/squid.conf
refresh_pattern \.mp3   43200   100%   43200   override-lastmod override-expire ignore-reload ignore-no-cache и пр. что то начинает прорисовываться

Оффлайн Sam Stone

  • Старожил
  • *
  • Сообщений: 1129
    • Просмотр профиля
У http_port написано transparent?
Jellyfish 5.19.0-43-generic

Оффлайн ZolteR

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Да
http_port 3128 transparent

Оффлайн Romon

  • Участник
  • *
  • Сообщений: 216
  • destructive creation
    • Просмотр профиля

У меня рабочее правило спроецированное на твою ситуацию, выглядит вот так:

iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.66.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.66.1:3128
В squid:

http_port 192.168.66.1:3128 transparent
Цитировать
еще есть маршрут для выхода в инет напрямую с ним клиенты работают и без настроек прокси в броузере, но тогда трафик не кэшируется

Конечно, ведь тогда все идет мимо прокси-сервера.


Оффлайн ZolteR

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля

У меня рабочее правило спроецированное на твою ситуацию, выглядит вот так:

iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.66.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.66.1:3128
В squid:

http_port 192.168.66.1:3128 transparent
Цитировать
еще есть маршрут для выхода в инет напрямую с ним клиенты работают и без настроек прокси в броузере, но тогда трафик не кэшируется

Конечно, ведь тогда все идет мимо прокси-сервера.



Так мне и нужно чтобы без настроек клиентов трафик автоматом заворачивал на прокси, в противном случае если я буду прописывать им настройки в броузере правило

 iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.66.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.66.1:3128

теряет смысл вообще, потому что это его задача перенаправлять трафик но почему то оно не работает :(

Оффлайн Romon

  • Участник
  • *
  • Сообщений: 216
  • destructive creation
    • Просмотр профиля
 :2funny:  Разберитесь с кашей в голове.
Почитайте маны и факи по squid и про прозрачный прокси.

Пользователь решил продолжить мысль 22 Марта 2011, 21:16:34:
Но, если правило не работает, то я бы посмотрел запущен ли squid, а еще просмотрел бы все правила iptables, на момент того, что какое-нибудь другое правило его не перекрывает.
« Последнее редактирование: 22 Марта 2011, 21:16:34 от Romon »

Оффлайн ZolteR

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
:2funny:  Разберитесь с кашей в голове.
Почитайте маны и факи по squid и про прозрачный прокси.

Пользователь решил продолжить мысль 22 Марта 2011, 21:16:34:
Но, если правило не работает, то я бы посмотрел запущен ли squid, а еще просмотрел бы все правила iptables, на момент того, что какое-нибудь другое правило его не перекрывает.

Дело в том что если squid не был бы запущен то при прописывании настроек у клиента ничего бы не работало, а правила я все убрал оставил только одно это

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Я бы посмотрел на все правила. Покажите, пожалуйста вывод
sudo iptables-save
ifconfig -a

Оффлайн Yuriy_Y

  • Старожил
  • *
  • Сообщений: 1736
    • Просмотр профиля
    • Новоишимка
Есть еще один не мало важный вопрос. почему стандартные параметры squid ничего толком не кэшируют, только после добавления /etc/squid/squid.conf
refresh_pattern \.mp3   43200   100%   43200   override-lastmod override-expire ignore-reload ignore-no-cache и пр. что то начинает прорисовываться
Там же всего мало по дефолту стоит.
# русские сообщение об ошибках
error_directory /usr/share/squid3/errors/ru
# определяем размер кеша в 2 гига
cache_dir ufs /var/spool/squid3 2048 16 256
# максимальный размер объекта
maximum_object_size 65536 KB
Вот эти настройки позволили повысить процент попаданий в кеш почти до 40%.
С уважением, Юрий.

Оффлайн ZolteR

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Я бы посмотрел на все правила. Покажите, пожалуйста вывод
sudo iptables-save
ifconfig -a
sudo iptables-save
ничего не вывел

$ sudo nano /etc/network/interfaces
# LOOPBACK
   auto lo
   iface lo inet loopback
   # ADSL
   auto eth0
   iface eth0 inet dhcp
   # LAN
   auto eth1
   iface eth1 inet static
      address 192.168.66.1
      netmask 255.255.255.0

$ sudo nano /etc/nat
#!/bin/sh
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.66.0/27 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.66.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.66.1:3128

Пользователь решил продолжить мысль 22 Марта 2011, 22:01:39:
Есть еще один не мало важный вопрос. почему стандартные параметры squid ничего толком не кэшируют, только после добавления /etc/squid/squid.conf
refresh_pattern \.mp3   43200   100%   43200   override-lastmod override-expire ignore-reload ignore-no-cache и пр. что то начинает прорисовываться
Там же всего мало по дефолту стоит.
# русские сообщение об ошибках
error_directory /usr/share/squid3/errors/ru
# определяем размер кеша в 2 гига
cache_dir ufs /var/spool/squid3 2048 16 256
# максимальный размер объекта
maximum_object_size 65536 KB
Вот эти настройки позволили повысить процент попаданий в кеш почти до 40%.

Мне почему то это не сильно помогло

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
sudo iptables-save
ничего не вывел
Это значит, что правил у Вас в iptables никаких не загружено.
А то, что  у Вас что-то написано в файле /etc/nat - ничего не значит. Кто его запускает? Какие у него свойства?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Цитировать
sudo iptables-save
ничего не вывел
почему? должно строки.
может нужно
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables-save
студию.)
Wars ~.o

Оффлайн ZolteR

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
sudo iptables-save
ничего не вывел
Это значит, что правил у Вас в iptables никаких не загружено.
А то, что  у Вас что-то написано в файле /etc/nat - ничего не значит. Кто его запускает? Какие у него свойства?
$ sudo touch /etc/nat
$ sudo chmod +x /etc/nat

$ sudo nano /etc/network/interfaces
   # Запускаем NAT (добавляем в конце файла)
   post-up /etc/nat

Пользователь решил продолжить мысль 22 Марта 2011, 22:13:20:
sudo iptables-save
ничего не вывел
Это значит, что правил у Вас в iptables никаких не загружено.
А то, что  у Вас что-то написано в файле /etc/nat - ничего не значит. Кто его запускает? Какие у него свойства?
Дело в том что если раскомментить строку
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.66.0/27 -j MASQUERADE
то sudo iptables-save и выдает это правило, но почему не срабатывает второе не могу понять, как будто его вообще нет


Пользователь решил продолжить мысль 22 Марта 2011, 22:28:03:
Цитировать
sudo iptables-save
ничего не вывел
почему? должно строки.
может нужно
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables-save
студию.)

Огромная просьба к тем кто плохо разбирается, не советовать, потому что я и так в первые настраиваю Linux не имея опыта, хотелось бы только по делу и поэффективнее

Пользователь решил продолжить мысль 22 Марта 2011, 22:30:14:
sudo iptables-save
ничего не вывел
Это значит, что правил у Вас в iptables никаких не загружено.
А то, что  у Вас что-то написано в файле /etc/nat - ничего не значит. Кто его запускает? Какие у него свойства?

Я надеюсь что кто-нибудь из героев все таки сможет мне помочь, потому что еще предстоит поднять входящее VPN подключение на пакете pptpd задействовав iptable
« Последнее редактирование: 22 Марта 2011, 22:30:14 от ZolteR »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
А давайте пока не будем полагаться на "волшебный" скрипт и добвим это правило вручную
sudo iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.66.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.66.1:3128И  псмотрим, чтоже всё-таки произойдёт с цепочками
sudo iptables-save
P.S. Кстати, если хотите, чтобы быстрее нашли камень преткновения, рекомендую копировать предложенные команды из форума и возвращать в форум полные ответы, а не те выжимки, которые Вы считаете нужными. Очень часто сталкиваемся с тем, что вопрошающие, опираясь на свою параною и применяя свои умения в фотошопии и изобретательности, терпели фиаско, растягивая простейший вопрос на несколько страниц форума.

Пользователь решил продолжить мысль 22 Марта 2011, 23:27:13:
Кстати, обратите внимание: я ! (восклицательный знак отрицания) вынес перед параметром -d. Это не ошибка, а поправка к новому синтаксису. Разработчики iptables рекомендуют "привыкать" именно к такому его положению, так как в дальнейшем использование ! за параметром будет считаться ошибкой синтаксиса.
« Последнее редактирование: 22 Марта 2011, 23:27:13 от fisher74 »

Оффлайн ZolteR

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
А давайте пока не будем полагаться на "волшебный" скрипт и добвим это правило вручную
sudo iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.66.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.66.1:3128И  псмотрим, чтоже всё-таки произойдёт с цепочками
sudo iptables-save
P.S. Кстати, если хотите, чтобы быстрее нашли камень преткновения, рекомендую копировать предложенные команды из форума и возвращать в форум полные ответы, а не те выжимки, которые Вы считаете нужными. Очень часто сталкиваемся с тем, что вопрошающие, опираясь на свою параною и применяя свои умения в фотошопии и изобретательности, терпели фиаско, растягивая простейший вопрос на несколько страниц форума.

Пользователь решил продолжить мысль 22 Марта 2011, 23:27:13:
Кстати, обратите внимание: я ! (восклицательный знак отрицания) вынес перед параметром -d. Это не ошибка, а поправка к новому синтаксису. Разработчики iptables рекомендуют "привыкать" именно к такому его положению, так как в дальнейшем использование ! за параметром будет считаться ошибкой синтаксиса.

sudo iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.66.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.66.1:3128
пишет
iptables v1.4.4: invalid port/service `' specified
Try `iptables -h' or 'iptables --help' for more information

Пользователь решил продолжить мысль 23 Марта 2011, 12:02:42:
мои настройки Ubuntu server 10.10
$ sudo nano /etc/squid/squid.conf
   # Указываем порт (transparent указываем чтобы сделать прозрачное проксирование)
   http_port 3128 transparent

   # ??? Принудительное кэширование
   refresh_pattern \.mp3   43200   100%   43200   override-lastmod override-expire ignore-reload ignore-no-cache
   
   # ??? Разрешает игнорировать nocache или reload и выдавать объект из кэша
   reload_into_ims on

   # ??? Информация об объектах кэша
   cache_mem 16 MB

   # Максимальный размер объекта попадающего в кэш
   maximum_object_size 10240 KB

   # Размер кэша (MB/L1/L2)
   cache_dir ufs /var/spool/squid 100 16 256
   
   # Указываем внутренние сети
   acl localnet src 192.168.66.0/24 # RFC1918 possible internal network
   #acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
   #acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

   # Разрешаем доступ из внутренних сетей
   http_access allow localnet

   # Устанавливаем лимит использования оперативной памяти:
   memory_pools on
   memory_pools_limit 64 MB

   # Задаем язык вывода ошибок для пользователя
   error_directory /usr/share/squid/errors/Russian-koi8-r
« Последнее редактирование: 23 Марта 2011, 12:02:42 от ZolteR »

 

Страница сгенерирована за 0.061 секунд. Запросов: 25.