Автор Тема: squid3  (Прочетена 2793 пъти)

flipz

  • Напреднали
  • *****
  • Публикации: 87
    • Профил
squid3
« -: Feb 12, 2009, 19:48 »
имам работещ squid2.4 но е морално остарял и искал да ползвам ver3
конфигурирам го според документацията transparent и го компилирам с поддръжка на нетфилтер.
./configure --prefix=/usr/local/squid --enable-ssl --enable-linux-netfilter
make all
make install

2009/02/12 19:42:49| Done scanning /sda3/squid swaplog (0 entries)
2009/02/12 19:42:49| Finished rebuilding storage from disk.
2009/02/12 19:42:49|         0 Entries scanned
2009/02/12 19:42:49|         0 Invalid entries.
2009/02/12 19:42:49|         0 With invalid flags.
2009/02/12 19:42:49|         0 Objects loaded.
2009/02/12 19:42:49|         0 Objects expired.
2009/02/12 19:42:49|         0 Objects cancelled.
2009/02/12 19:42:49|         0 Duplicate URLs purged.
2009/02/12 19:42:49|         0 Swapfile clashes avoided.
2009/02/12 19:42:49|   Took 0.48 seconds (  0.00 objects/sec).
2009/02/12 19:42:49| Beginning Validation Procedure
2009/02/12 19:42:49|   Completed Validation Procedure
2009/02/12 19:42:49|   Validated 25 Entries
2009/02/12 19:42:49|   store_swap_size = 0
2009/02/12 19:42:49| storeLateRelease: released 0 objects
2009/02/12 19:42:51| IpIntercept.cc(132) NetfilterInterception:  NF getsockopt(SO_ORIGINAL_DST) failed on FD 10: (11) Resource temporarily unavailable
2009/02/12 19:42:51| assertion failed: store_swapout.cc:315: "mem->swapout.sio == self"

това е грешката а инф. в гоогле няма и тн.

С която и версия от 3-та серия да пробвам .. резултатът е еднакав.
Ако някой може да даде съвет или конф. файл който ползва ще ми е от голяма помощ.

Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: squid3
« Отговор #1 -: Feb 12, 2009, 21:27 »
Засега премествам темата ти в този раздел, тъй като повече ми прилича на бъг в squid или на някакво друго програмно недоразумение. Не съм обаче никак навътре в C и C++ и това ми предположение може и да е грешно, а съветът, който ще ти дам, да е глупав и безпочвен :)
Гледам, че на въпросния ред 315 в store_swapout.cc седи това:
Код
GeSHi (C++):
  1. assert(mem->swapout.sio == self);
гледайки разни други файлчета, в които се използва тази функция, оставам с впечатлението, че трябва да се вмъкнат още 2 хедърни файла към store_swapout.cc, които се грижат за това - става дума за assert.h и memory.h (или mem.h, зависи какво има в /usr/include). Пробвай да добавиш тези два реда горе в кода на store_swapout.cc, където са описани останалите include-и:
Код
GeSHi (C++):
  1. #include <assert.h>
  2. #include <memory.h>
Замести memory.h с mem.h, ако при теб файлът се казва така (не знам каква е разликата). И след това пробвай да компилираш и виж какъв ще е резултатът. Вижда се, че в store_swapout.cc вмъкнатите файлове са оградени от кавички, а не от скоби (за разликата в което също ми трябва повече четене, за да го разбера), така че може и тези два реда да е нужно да изглеждат така:
Код
GeSHi (C++):
  1. #include "assert.h"
  2. #include "memory.h"
Друго за момента не мога да предложа. Нека се намеси някой C/C++ програмист и да изясни картинката :)
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: squid3
« Отговор #2 -: Feb 12, 2009, 21:48 »
Между другото, версия 3.0 или версия 3.1 пробваш? Относно грешката, не обърнах внимание, че първо се появява грешка с посочен файл IpIntercept.cc и след това е грешката от store_swapout.cc. Интересно какви ще ги мъдрим пък с този файл, тъй като не виждам нищо по въпроса (или не успявам да прочета кода както трябва) на въпросния ред 132 от IpIntercept.cc или около него.
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: squid3
« Отговор #3 -: Feb 12, 2009, 22:35 »
Има разлика в конфигурирането и изискванията на прозрачен squid 2.х и 3.х. Мисля, че това е необходимото ти HowTo
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

flipz

  • Напреднали
  • *****
  • Публикации: 87
    • Профил
Re: squid3
« Отговор #4 -: Feb 15, 2009, 23:07 »
squid-3.0.STABLE13.tar.bz2 това е .. версията.
явно трябва да се прекомпилира кернал и тн .. което няма да направя, понеже закрепих да работи добре вер. 2.7 последен рииз 2009-та.
в опътването на ласков става въпрос за tproxy, а аз ползвам transparent  не знам дали има разлика.

transparent  Support for transparent interception of
                   outgoing requests without browser settings.
                   NP: disables authentication on the port.

tproxy           Support Linux TPROXY for spoofing outgoing
                    connections using the client IP address.
                    NP: disables authentication on the port.
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: squid3
« Отговор #5 -: Feb 16, 2009, 09:47 »
Да, явно са различни неща. Ето цитат от ./configure --help
Цитат
  --enable-linux-netfilter
                          Enable Transparent Proxy support for Linux (Netfilter) systems.
  --enable-linux-tproxy
                          Enable real Transparent Proxy support for Netfilter TPROXY.
Ще трябва още четене :)
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

remotex

  • Напреднали
  • *****
  • Публикации: 344
    • Профил
Re: squid3
« Отговор #6 -: Feb 16, 2009, 13:38 »
flipz: дистро, версия 32 или 64 бита и т.н. и нямаше ли готов пакет с нетфилтър?
neter: щом се е компилирало значи си е намерило "хедърите" а онзи ред гърми по време на изпълнение защото вероятно нещо друго т.е. някой друг обект държи mem->swapout.sio вместо текущия  self - затова е сложена там тази проверка, да не прецакаме нещата като си мислим че сме единствени self :-) чиста проба "програмна грешка" aka BUG
...възможно е и да е поради объркване 32/64 бит ама тогава щеше да гърми на много и различни места
пробва ли с максимум дебъг инфо да го стартираш, strace (за първата грешка) и пр.
Активен

flipz

  • Напреднали
  • *****
  • Публикации: 87
    • Профил
Re: squid3
« Отговор #7 -: Feb 16, 2009, 19:26 »
flipz: дистро, версия 32 или 64 бита и т.н. и нямаше ли готов пакет с нетфилтър?
neter: щом се е компилирало значи си е намерило "хедърите" а онзи ред гърми по време на изпълнение защото вероятно нещо друго т.е. някой друг обект държи mem->swapout.sio вместо текущия  self - затова е сложена там тази проверка, да не прецакаме нещата като си мислим че сме единствени self :-) чиста проба "програмна грешка" aka BUG
...възможно е и да е поради объркване 32/64 бит ама тогава щеше да гърми на много и различни места
пробва ли с максимум дебъг инфо да го стартираш, strace (за първата грешка) и пр.

Благодаря за инф. единственото което мога да направя е да ти дам инф. по въпроса. Понеже подкарах надеждна вер. от 2.7 не съм се занимавал, а и не ми се повече от това.

root@server:~# uname -a
Linux server 2.6.27.10-smp #1 SMP Sat Feb 7 20:07:44 EET 2009 i686 Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz GenuineIntel GNU/Linux
root@server:~#

сега ми издумка и кернел-а ..
root@server:/# ping -I 78.85.196.162 78.85.196.161 -s 1942
PING 77.85.194.161 (77.85.194.161) from 77.85.194.162 : 1942(1970) bytes of data.
Message from syslogd@server at Mon Feb 16 18:48:22 2009 ...
server kernel: skb_over_panic: text:f8d49667 len:1984 put:1984 head:f1054800 data:f1054810 tail:0xf1054fd0 end:0xf1054e80 dev:eth1
Message from syslogd@server at Mon Feb 16 18:48:22 2009 ...
server kernel: ------------[ cut here ]------------
Message from syslogd@server at Mon Feb 16 18:48:22 2009 ...
server kernel: invalid opcode: 0000 [#1] SMP
Message from syslogd@server at Mon Feb 16 18:48:22 2009 ...
server kernel: Process nacctd (pid: 26723, ti=e9250000 task=e4832260 task.ti=e9250000)

тази вечер трябва да го сменя, че .. да не стане някоя беля когато не съм на линия .. а и на мен все пак ми трябва инф. за пинг-а до гейта + че си ползвам разни неща като cacti oreon nagios i tn.

Активен