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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: ubuntu server + squid3 тормоза  (Прочитано 5741 раз)

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

Оффлайн zitttz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #15 : 20 Февраля 2014, 09:23:09 »
Рано открыл шампанское :( это помогло на 2 минуты
теперь чтобы не было такой путаницы в /etc/network/interfaces и squid.conf прописал dns маршрутизатора

кусок из cat /proc/meminfo
MemTotal:         506348 kB
MemFree:          155072 kB
Buffers:           71764 kB
Cached:           203232 kB
SwapCached:          376 kB
Active:           157140 kB
Inactive:         146996 kB
Active(anon):      22216 kB
Inactive(anon):     7200 kB
Active(file):     134924 kB
я так понимаю что тут написано что у меня 512МБ оперативы и что свободно всего 155? не много ли занято для моей конфигурации?(squid3+apache2+dnsmasq) и почти все с стандарнтыми параметрами

поменял кое-что но толку не дало. Вот последний squid.conf
http_port 192.168.1.111:3128 transparent

cache_mem 128 MB
cache_dir ufs /var/spool/squid3 4069 32 256
maximum_object_size 10240 KB
minimum_object_size 1 KB
#cache_log /var/log/squid3/cache.log
#cache_store_log /var/spool/squid3/logs/store.log
coredump_dir /var/spool/squid3
#logfile_rotate 10

cache_swap_low 85
cache_swap_high 90

acl localnet src 192.168.1.0/24
acl SSL_ports port 443
acl Safe_ports port 80 # http
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 Safe_ports port 1000
#acl Safe_ports port 44355
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access allow localnet
http_access deny all

hierarchy_stoplist cgi-bin ?

access_log /var/log/squid3/access.log squid

#url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

#icp_port 3130

memory_pools on
memory_pools_limit 50 MB

error_directory /usr/share/squid3/errors/Russian-koi8-r

dns_nameservers 192.168.32.1 178.212.128.7 8.8.8.8
менял transparent на intercept, как и ожидалось, все тоже самое

и еще, у вас в конфигурации есть вот эти строчки
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

я так понимаю они автосоздаются при squid3 -z
у меня их почемуто нет

Пользователь решил продолжить мысль 20 Февраля 2014, 09:24:43:
кстати https проходит даже с выключеным squid
« Последнее редактирование: 20 Февраля 2014, 09:24:43 от zitttz »

Оффлайн insiki

  • Участник
  • *
  • Сообщений: 168
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #16 : 20 Февраля 2014, 09:52:02 »
https прозрачно без костылей не проксируется
всех пускает по https и прочим портам из-за этого правила
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPTхотите пускать только по конкретным портам, пишите например (для https)
iptables -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 443 -m conntrack --ctstate NEW -j ACCEPT
по iptables здесь есть тема, где все доступно объясняется :)

В http_port можно оставить только порт 3128, без IP

По refresh_pattern (да и в целом по сквиду)
http://break-people.ru/cmsmade/index.php?page=translate_squid_reference_tag_refresh_pattern

вы родной конфиг после установки squid не бэкапили?
« Последнее редактирование: 20 Февраля 2014, 10:20:31 от insiki »

Оффлайн zitttz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #17 : 20 Февраля 2014, 10:23:59 »
бэкапил, но стер случайно

добавил эту строчку pid_filename /var/spool/squid3/logs/squid.pid
теперь вообще не грузит страницы..
директория logs в директории /var/sqpool/squid3 отсутствует
создать? и пустой файл squid.pid?

p.s. можно на "ты"
« Последнее редактирование: 20 Февраля 2014, 10:25:50 от zitttz »

Оффлайн insiki

  • Участник
  • *
  • Сообщений: 168
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #18 : 20 Февраля 2014, 10:33:11 »
директория logs в директории /var/sqpool/squid3 отсутствует
/var/spool/squid3

директорию для логов и т.д. лучше создавать где-то в одном месте
у меня так
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 20 Февраля 2014, 10:40:33 от insiki »

Оффлайн zitttz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #19 : 20 Февраля 2014, 10:41:46 »
у меня
cache_dir ufs /var/spool/squid3 4069 32 256
у тебя
cache_dir ufs /var/spool/squid3/cache 4096 32 256
в моей папке есть папки типо 01,02,03 ... видимо я её затер сделав squid3 -z
что внутри squid.pid?
в директории /var/spool/squid3 кроме log есть что-то важное?
переустанавливать squid прийдется видимо

Оффлайн insiki

  • Участник
  • *
  • Сообщений: 168
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #20 : 20 Февраля 2014, 10:50:35 »
Для SSL_ports ACL задан, а вот правила для него нет.
Добавь под
Цитировать
acl CONNECT method CONNECT
Цитировать
http_access deny CONNECT !SSL_ports
(и на будущее запомни, если ACL указан, а правила для него нет, squid странички открывать не будет)

У меня для логов и кэша созданы директории внутри /var/spool/squid3.
Для кэша - cache (/var/spool/squid3/cache)
Для логов - logs (/var/spool/squid3/logs)

У тебя - где ты сам захочешь.
« Последнее редактирование: 20 Февраля 2014, 11:11:18 от insiki »

Оффлайн zitttz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #21 : 20 Февраля 2014, 13:00:16 »
спасибо за терпение, сейча с squid разберусь за samba4 сяду))))

пока форум был в оффлайне, переустановил squid
оставил настройки дефолтные, добавил лишь папку к кешу, и то что прокси прозрачный, добавил и разрешил acl localnet
дал права на папку кеша, сделал squid3 -z

не ужто squid не должен работать "из коробки"
http_port 3128 transparent
cache_dir ufs /var/spool/squid3/cache 4069 32 256
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 192.168.1.0/24
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 allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow localnet
http_access deny all

coredump_dir /var/spool/squid3
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

попробовал в правилах iptables выключить перенапраление 80 на 3128, все работает,пишешь на клиенте прокси в браузере и опять стоим, в данный момент в таком режиме вам и пишу.

получается затырка в squid, а не в правилах iptables

Пользователь решил продолжить мысль 20 Февраля 2014, 13:23:11:
убираю прозрачность в squid.conf
не помогает
делаю http_access allow all
не помогает
изменение порта также
« Последнее редактирование: 20 Февраля 2014, 13:23:11 от zitttz »

Оффлайн insiki

  • Участник
  • *
  • Сообщений: 168
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #22 : 20 Февраля 2014, 13:59:55 »
Начнем сначала ))

sudo netstat -tnlp
sudo cat /etc/squid3/squid.conf | grep -v -E "^#|^$"
iptables-save

Оффлайн zitttz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #23 : 20 Февраля 2014, 14:49:38 »
sudo netstat -tnlp
Активные соединения с интернетом (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1018/apache2
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      871/dnsmasq
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      729/sshd
tcp6       0      0 :::53                   :::*                    LISTEN      871/dnsmasq
tcp6       0      0 :::22                   :::*                    LISTEN      729/sshd
tcp6       0      0 :::3128                 :::*                    LISTEN      2289/squid3

sudo cat /etc/squid3/squid.conf | grep -v -E "^#|^$"
http_port 3128
cache_dir ufs /var/spool/squid3/cache 4069 32 256
access_log /var/spool/squid3/logs/access.log squid
cache_log /var/spool/squid3/logs/cache.log squid
cache_store_log /var/spool/squid3/logs/store.log
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl adminpc src 192.168.1.103
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 allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow adminpc
http_access deny all
dns_nameservers 192.168.32.1
coredump_dir /var/spool/squid3
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

iptables-save
# Generated by iptables-save v1.4.12 on Thu Feb 20 14:46:11 2014
*nat
:PREROUTING ACCEPT [25900:2178831]
:INPUT ACCEPT [3519:275918]
:OUTPUT ACCEPT [2089:127254]
:POSTROUTING ACCEPT [745:46614]
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Feb 20 14:46:11 2014
# Generated by iptables-save v1.4.12 on Thu Feb 20 14:46:11 2014
*filter
:INPUT ACCEPT [40038:33002227]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [41197:32901666]
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.1.0/24 -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 192.168.1.0/24 -o eth1 -p tcp -m tcp --sport 22 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Thu Feb 20 14:46:11 2014

sudo netstat -tnlp
3128 только на tcp6...
« Последнее редактирование: 20 Февраля 2014, 15:17:13 от zitttz »

Оффлайн insiki

  • Участник
  • *
  • Сообщений: 168
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #24 : 20 Февраля 2014, 15:40:51 »
Куда дел перенаправление на 3128 то?
Допиши в свой скрипт
iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.1.0/24 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128Где eth1 - интерфейс смотрящий в локальную сеть.
Конфиг кальмара оставь пока в покое и разберись с IPTABLES, почитай хотя бы азы, примеры, начнешь понимать - будет проще.

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

И что ты хочешь сделать правилом?
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j REJECT --reject-with icmp-port-unreachable
« Последнее редактирование: 20 Февраля 2014, 16:13:55 от insiki »

Оффлайн zitttz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #25 : 20 Февраля 2014, 16:14:08 »
я уже 8 страниц гугла все прочитал
убрал перенаправление на кольмара и в кольмаре прозрачность
т.к. без них могу выходить в интернет!
для проверки работоспособности прописываю прокси в браузере
если я убрал прозрачность и прописываю в браузере прокси, зачем заворачивать 80 на squid. Не прав?

и отсюда же следует что заворачивание на iptables не при делах
пробовал я и так
#iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.111:3128
#iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
и так
iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.1.0/24 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-ports 3128

insiki один мне помогает...
чую я скоро что-нибудь сделаю с этим системником.. чтонибудь с физическим воздействием...

Оффлайн insiki

  • Участник
  • *
  • Сообщений: 168
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #26 : 20 Февраля 2014, 16:25:05 »
Давай сначала..
Открывай свой скрипт и пиши
Дано
eth0 - смотрит в Мир
eth1 - смотрит в локальную сеть

#!/bin/sh
#Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

#Удалить все существующие правила
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

#Устанавливаем политику по умолчанию - дропать все пакеты идущие через цепочки INPUT и FORWARD
iptables -P INPUT DROP
iptables -P FORWARD DROP

#Разрешаем пакеты на шлюз и лупбэк-интерфейс из локальной сети
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -m conntrack --ctstate NEW -j ACCEPT


#Разрешаем пакетам ходить через шлюз (из локальной сети в мир)
iptables -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate NEW -j ACCEPT

#Включаем маскарадинг
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Где:
-m conntrack --ctstate NEW - разрешаем устанавливать соединения с интернет-хостами
-m conntrack --ctstate RELATED,ESTABLISHED - разрешаем проходить пакетам по уже установленным соединениям

Делаем
Цитировать
sudo service networking restart
Проверяем. (без прописанных прокси в браузере и прочего)

man iptables
http://ru.wikibooks.org/wiki/Iptables
« Последнее редактирование: 20 Февраля 2014, 20:32:55 от insiki »

Оффлайн zitttz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #27 : 20 Февраля 2014, 16:57:15 »
не грузит, пока не добавил к твоему скрипту
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
заработало
затем добавил 80 на squid
iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.1.0/24 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-ports 3128

и алелуя! ты был прав, дело в iptables! нужно получше про него почитать...

спасибо за помощь! буду познавать дальше

Оффлайн insiki

  • Участник
  • *
  • Сообщений: 168
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #28 : 20 Февраля 2014, 20:34:08 »
А теперь закомментируй свою добавленную строку, и переставь местами правила.
RELATED, ESTABLISHED над NEW (как я изменил в своем предыдущем посте)
« Последнее редактирование: 20 Февраля 2014, 21:19:48 от insiki »

Оффлайн zitttz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: ubuntu server + squid3 тормоза
« Ответ #29 : 24 Февраля 2014, 10:13:48 »
Спасибо, работает http, немного попытался ознакомиться с темой, но длинная зараза
https://forum.ubuntu.ru/index.php?topic=20334.0

еще до всех этих изменений у меня работало перенаправление портов, т.е. у меня в интернете есть расшареный рдп с портом 44444, к которому я подключался через 192.168.1.111:1000 с помощью такого правила:
iptables -A FORWARD -i eth1 -p tcp --dport 1000 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.111 --dport 1000 -j DNAT --to-destination xx.xx.xx.xx:44444
iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 44444
не хочу светить ip поэтому xx.xx.xx.xx

теперь это правило поставленное в конец скрипта не работает, получается мне отсюда нужно поставить FORWARD до NEW, по типу
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.111 --dport 1000 -j DNAT --to-destination xx.xx.xx.xx:44444

iptables -A FORWARD -i eth1 -p tcp --dport 1000 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate NEW -j ACCEPT

iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 44444

но что-то не так... или нужно еще INPUTом и OUTPUTом открывать нужные порты? хотя пишут, что цепочки INPUT/OUTPUT применяются для фильтрации локального трафика. Для транзитного трафика необходимо использовать цепочку FORWARD.
#разрешить из интернета 44444
iptables -A INPUT  -p tcp -m tcp -i eth0 -s 192.168.1.0/24 --dport 44444 -j ACCEPT
#разрешить из сети 1000
iptables -A OUTPUT -p tcp -m tcp -o eth1 -d 192.168.1.0/24 --sport 1000 -j ACCEPT -m conntrack --ctstate RELATED,ESTABLISHED
посоветуйте чтонибудь доступное пониманию почитать по iptables, вроде все последовательно делаю PREROUTING, FORWARD, OUTPUT.

 

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