Страница 1 из 2

squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-12 13:20:40
Van_Xalsing
Доброе время суток. Столкнулся с проблемой.
FreeBSD 9
Squid 2.7.STABLE9
настраивал вот по этой ссылки http://www.lissyara.su/articles/freebsd ... ams+rejik/
прокси сделал прозрачным. Прокси работает нормально.
Есть удаленный видео регистратор. Нужно подключатся к нему по web интерфейсу и просматривать видео. На авторизацию Web интерфейса я зайти могу, а вот после попытки ввода логина и пароля браузер выдает ошибку и закрывает страницу. Если прописать настройки прокси в браузере то все работает. а вот как прозрачный прокси не хочет. Клиентов прокси настраивал по IP. как быть в таком случае ? есть ли какая то настройка. В гугле смотрел. не чего хорошего не нашел. Прошу помощи. За ранее благодарю.
для полноценного функционирования Web интерфейса видео регистратора используются два порта.
Web 80 и 9000 для видео потока. телнетом порт 9000 проверял, работает. Я новичок по этому строго не судите ))

cache.log

Код: Выделить всё

clientTryParseRequest: FD 21 (192.168.x.x:50059) Invalid Request
access.log

Код: Выделить всё

1349940698.826      0 192.168.x.x TCP_DENIED/400 1433 NONE NONE:// - NONE/- text/html
squid.conf

Код: Выделить всё

#Recommended minimum configuration:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8     # 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
#
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 9000        # evro video
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 5190        # ICQ
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_port 3128 transparent
http_port 3129 transparent
rc.firewall

Код: Выделить всё

FwCMD="/sbin/ipfw" # собственно где лежит бинарник ipfw
LanOut="em0"            # внешний интерфейс
LanIn="em1"            # внутренний интерфейс
IpOut="192.168.0.x" # внешний IP адрес машины
IpIn="192.168.2.x"   # внутренний IP машины
NetMask="24"            # маска сети 
NetIn="192.168.2.0"    # Внутренняя сеть

${FwCMD} add allow ip from any to any via lo0
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn}/${NetMask} to any 80 via ${LanOut}
${FwCMD} add fwd 127.0.0.1,3129 tcp from ${NetIn}/${NetMask} to any 9000 via ${LanOut}
${FwCMD} add allow tcp from ${NetIn}/${NetMask} to any 80 via ${LanIn}
${FwCMD} add allow tcp from ${NetIn}/${NetMask} to any 9000 via ${LanIn}

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-21 22:11:24
vasilushechka
Могу предположить, что после авторизации вас перенаправляет на https (443 порт) страницу. Если это так, то трафик по 443 порту придется пустить в обход прокси.

Вот почему: http://ru.wikipedia.org/wiki/%D0%A7%D0% ... 0%BD%D0%B5

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-22 14:02:13
Van_Xalsing
я понял. но у меня этот порт открыт в обход прокси

Код: Выделить всё

FwCMD="/sbin/ipfw" # где лежит бин ipfw
LanOut="em0"            # внешний интерфейс
LanIn="em1"            # внутренний интерфейс
IpOut="192.168.*.*" # внешний IP адрес машины
IpIn="192.168.*.*"   # внутренний IP машины
NetMask="24"            # маска сети 
NetIn="192.168.*.0"    # Внутренняя сеть

Код: Выделить всё

${FwCMD} add allow tcp from ${NetIn}/${NetMask} to any 443 via ${LanIn}
и я проверял на почте google все работает. вот только с видеорегистратором проблема. может какая настройка есть в squid? есть еще варианты ?
может DNS нужно как то подстроить на FreeBSD ?

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-22 20:42:34
mak_v_
Попробуйте создать явный acl с разрешением доступа к регистратору и поместите разрешение на него повыше в конфиге

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-23 17:34:29
Van_Xalsing
у меня получается такая ситуация.
Если я пускаю потоковое видео в обход squid вот такой строкой в IPFW

Код: Выделить всё

FwCMD="/sbin/ipfw" # бин ipfw
LanOut="em0"            # внешний интерфейс
LanIn="em1"            # внутренний интерфейс
IpOut="192.168.*.*" # внешний IP адрес машины
IpIn="192.168.*.*"   # внутренний IP машины
NetMask="24"            # маска сети (если она разная для внешней
NetIn="192.168.*.*"    # Внутренняя сеть

Код: Выделить всё

${FwCMD} add allow tcp from ${NetIn}/${NetMask} to any 9000 via ${LanIn}
то у меня все работает.
но при этом мне нужно бы посчитать трафик с этого порта 9000.
WEB интерфейс на удивление не использует https, а работает по обычному http. Вот только для видео потока ему нужен порт 9000.
А если я пытаюсь завернуть порт 9000 на squid то он мне выбрасывает ошибку.

Код: Выделить всё

${FwCMD} add fwd 127.0.0.1,3129 tcp from ${NetIn}/${NetMask} to any 9000 via ${LanOut}
порты для перехвата я использую разные
для порта 80

Код: Выделить всё

http_port 127.0.0.1:3128 transparent
а для порта 9000

Код: Выделить всё

http_port 127.0.0.1:3129 transparent
Хотя порт на squid я открыл

Код: Выделить всё

acl Safe_ports port 9000
И по рекомендации mak_v_ я прописал

Код: Выделить всё

acl videoe dst 89.175.85.138
acl videoee src 89.175.85.138

Код: Выделить всё

http_access allow videoe videoee
я правда не знаю правильно ли я понял что написать нужно было )))
как то можно завернуть порт 9000 на squid та что бы он мне трафик посчитал ? Очень буду благодарен за помощь. ну или хотя бы идеи. куда ковырять.

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-23 17:41:10
mak_v_
Ну не факт что трафик по порту 9000 у вашего регистратора вообще проксируемый...если он проксируемый, то помещение ацл с явным разрешением доступа к вашей балалайке должно решить вашу проблему.

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-23 17:48:40
Van_Xalsing
первый вопрос как понять проксируемый трафик по порту 9000 или нет
второй вопрос правильно ли я вас понял по поводу "...acl с разрешением доступа к регистратору..." дописавши строки в конфиг squid

Код: Выделить всё

acl videoe dst 89.174.85.138
acl videoee src 89.174.85.138

Код: Выделить всё

http_access allow videoe videoee

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-23 17:57:13
mak_v_
Правильно, разрешение повыше в конфиг.
Понять проксируемый или нет -ммм.....смотреть документацию или имперически

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-24 9:29:09
Van_Xalsing
а разве в конфиге squid можно писать где угодно? я думал только в определенных блоках. Там где минимальная конфигурация написана.

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-24 9:50:04
mak_v_
Разрешения-запреты применяются "сверху-вниз", т.е. если у вас запрещающие правила находятся выше разрешающих, то они сработают первыми.
Соответственно правило надо переместить повыше.

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-24 16:18:03
Van_Xalsing
если принудительно заворачивать трафик с порту 9000, то выдает ошибку

Код: Выделить всё

FwCMD="/sbin/ipfw" # бин ipfw
LanOut="em0"            # внешний интерфейс
LanIn="em1"            # внутренний интерфейс
IpOut="192.168.*.*" # внешний IP адрес машины
IpIn="192.168.*.*"   # внутренний IP машины
NetMask="24"            # маска сети (если она разная для внешней
NetIn="192.168.*.*"    # Внутренняя сеть
${FwCMD} add fwd 127.0.0.1,3129 tcp from ${NetIn}/${NetMask} to any 9000 via ${LanOut}
то браузер клиента выдает ошибку. А вот если убрать эту переадресацию и в браузере клиента настроить прокси сервер то все работает.
Я так понимаю это значит что все таки этот трафик проксируется. но вот как заставить этот трафик проходить через прозрачный прокси?

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-24 16:26:21
mak_v_
Вы уверены что ваш трафик валит через прокси по порту 9000? можно кусочек лога?

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-25 18:18:58
vasilushechka
А видео по UDP ходит наверное?

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-25 18:29:37
mak_v_
а вы лог сквида возьмите наверное пропарсите на предмет порта 9000

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-29 14:28:31
Van_Xalsing
vasilushechka писал(а):А видео по UDP ходит наверное?
Нет. видео регистратор использует TCP 9000. Я так понял для передачи видео потока.
mak_v_ писал(а):Вы уверены что ваш трафик валит через прокси по порту 9000? можно кусочек лога?
если я прописываю в FW строку

Код: Выделить всё

192.168.2.0    # Внутренняя сеть
em1            # внутренний интерфейс
24            # маска сети 

Код: Выделить всё

$ipfw add allow tcp from 192.168.2.0/24to any 9000 via em1
то все работает. а вот если это строку убрать то пишет "вход не возможен".
а Вы напомните где это по поводу порта смотреть нужно. а то я в основном только access.log, а там такого нет )) За ранее благодарю.

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-29 20:27:42
vasilushechka
Можно tcpdump-ом посмотреть

tcpdump -tttt -i em1 port 9000

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-29 20:33:29
mak_v_
вы ацл в сквид добавьте с портом 9000, а уж потом смотрите в лог сквида

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-30 10:49:40
Van_Xalsing
mak_v_ писал(а):вы ацл в сквид добавьте с портом 9000, а уж потом смотрите в лог сквида
я понимаю это выглядит так в файле squid.conf

Код: Выделить всё

acl Safe_ports port 9000
но эта строка у меня уже давно прописана.
вот что пишет в лого security

Код: Выделить всё

Free kernel: ipfw: 3000 Accept TCP 192.168.*.*:49227 89.175.*.*:9000 in via em1
судя по этой строке я понимаю что трафик попадает на из локалки на прокси сервер.

Код: Выделить всё

Free kernel: ipfw: 300 Forward to 127.0.0.1:3129 TCP 192.168.2.4:49225 89.175.85.138:9000 out via em0
а судя по этой строке я понял что трафик пришедший на сервак переадресуется на squid на порт 3129 и там где то происходит ошибка (((
и самое интересное, что telnet проходит с клиента на видео регистратор. что то я не могу понять чего не хватает ((

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-30 11:00:09
mak_v_
ЛОГ СКВИДА а не ipfw, на предмет 9000 порта

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-30 12:01:16
Van_Xalsing
Вот все что появляется в лого, после попытки захода на видеорегистратор
File: access.log

Код: Выделить всё

1351585827.074      0 192.168.*.* TCP_DENIED/400 1433 NONE NONE:// - NONE/- text/html
1351585831.819     61 192.168.*.* TCP_MISS/404 308 GET http://89.175.*.*/images/main_bg.jpg; - DIRECT/89.175.8*.* text/html
1351585834.610     64 192.168.*.* TCP_MISS/200 266 GET http://89.175.*.*/play.xml? - DIRECT/89.175.*.* text/xml
1351585834.633     82 192.168.*.* TCP_MISS/200 292 GET http://89.175.*.*/passwordstatus.xml? - DIRECT/89.175.*.* text/xml
File: cache.log

Код: Выделить всё

2012/10/30 12:26:10| Preparing for shutdown after 4 requests
2012/10/30 12:26:10| Waiting 30 seconds for active connections to finish
2012/10/30 12:26:10| FD 22 Closing HTTP connection
2012/10/30 12:26:10| FD 23 Closing HTTP connection
2012/10/30 12:26:10| Closing Pinger socket on FD 26
2012/10/30 12:26:19| Pinger exiting.
2012/10/30 12:26:41| Shutting down...
2012/10/30 12:26:41| FD 24 Closing ICP connection
2012/10/30 12:26:41| Closing unlinkd pipe on FD 20
2012/10/30 12:26:41| storeDirWriteCleanLogs: Starting...
2012/10/30 12:26:41|   Finished.  Wrote 4687 entries.
2012/10/30 12:26:41|   Took 0.0 seconds (2732944.6 entries/sec).
CPU Usage: 0.074 seconds = 0.041 user + 0.033 sys
Maximum Resident Size: 7260 KB
Page faults with physical i/o: 0
2012/10/30 12:26:41| logfileClose: closing log /var/squid/logs/store.log
2012/10/30 12:26:41| logfileClose: closing log /var/squid/logs/access.log
2012/10/30 12:26:41| Squid Cache (Version 2.7.STABLE9): Exiting normally.
2012/10/30 12:26:41| Starting Squid Cache version 2.7.STABLE9 for i386-portbld-freebsd9.0...
2012/10/30 12:26:41| Process ID 2139
2012/10/30 12:26:41| With 11095 file descriptors available
2012/10/30 12:26:41| Using kqueue for the IO loop
2012/10/30 12:26:41| helperOpenServers: Starting 5 'dnsserver' processes
Too many -s options, only 3 are allowed
Too many -s options, only 3 are allowed
Too many -s options, only 3 are allowed
Too many -s options, only 3 are allowed
2012/10/30 12:26:41| helperOpenServers: Starting 5 'redirector' processes
Too many -s options, only 3 are allowed
2012/10/30 12:26:41| logfileOpen: opening log /var/squid/logs/access.log
2012/10/30 12:26:41| Unlinkd pipe opened on FD 20
2012/10/30 12:26:41| Swap maxSize 102400 + 8192 KB, estimated 8507 objects
2012/10/30 12:26:41| Target number of buckets: 425
2012/10/30 12:26:41| Using 8192 Store buckets
2012/10/30 12:26:41| Max Mem  size: 8192 KB
2012/10/30 12:26:41| Max Swap size: 102400 KB
2012/10/30 12:26:41| logfileOpen: opening log /var/squid/logs/store.log
2012/10/30 12:26:41| Rebuilding storage in /var/squid/cache (CLEAN)
2012/10/30 12:26:41| Using Least Load store dir selection
2012/10/30 12:26:41| Set Current Directory to /var/squid/cache
2012/10/30 12:26:41| Loaded Icons.
2012/10/30 12:26:41| Accepting transparently proxied HTTP connections at 127.0.0.1, port 3128, FD 22.
2012/10/30 12:26:41| Accepting transparently proxied HTTP connections at 127.0.0.1, port 3129, FD 23.
2012/10/30 12:26:41| Accepting ICP messages at 0.0.0.0, port 3130, FD 24.
2012/10/30 12:26:41| WCCP Disabled.
2012/10/30 12:26:41| Pinger socket opened on FD 26
2012/10/30 12:26:41| NETDB state reloaded; 48 entries, 4 msec
2012/10/30 12:26:41| Ready to serve requests.
2012/10/30 12:26:41| Store rebuilding is 87.4% complete
2012/10/30 12:26:41| Done reading /var/squid/cache swaplog (4687 entries)
2012/10/30 12:26:41| Finished rebuilding storage from disk.
2012/10/30 12:26:41|      4687 Entries scanned
2012/10/30 12:26:41|         0 Invalid entries.
2012/10/30 12:26:41|         0 With invalid flags.
2012/10/30 12:26:41|      4687 Objects loaded.
2012/10/30 12:26:41|         0 Objects expired.
2012/10/30 12:26:41|         0 Objects cancelled.
2012/10/30 12:26:41|         0 Duplicate URLs purged.
2012/10/30 12:26:41|         0 Swapfile clashes avoided.
2012/10/30 12:26:41|   Took 0.3 seconds (15677.8 objects/sec).
2012/10/30 12:26:41| Beginning Validation Procedure
2012/10/30 12:26:41|   Completed Validation Procedure
2012/10/30 12:26:41|   Validated 4687 Entries
2012/10/30 12:26:41|   store_swap_size = 92156k
2012/10/30 12:26:42| storeLateRelease: released 0 objects
2012/10/30 12:30:27| clientTryParseRequest: FD 21 (192.168.*.*:49265) Invalid Request
2012/10/30 12:34:13| clientTryParseRequest: FD 21 (192.168.*.*:49270) Invalid Request
File: store.log

Код: Выделить всё

-1 FFFFFFFF DADD4C21F1865D0D7AD84792705507E3  200 1351599950        -1        -1 text/html -1/1852 GET http://89.175.*.*/
1351584918.140 RELEASE -1 FFFFFFFF 8FF2512668C2E2020CEED1A9DDFAEEB8  200 1351599951        -1        -1 text/html -1/5498 GET http://89.175.*.*/play.html
1351584920.944 RELEASE -1 FFFFFFFF 55DE6C453B7F0489144B35A540C3283B  200 1351599953        -1        -1 text/xml -1/92 GET http://89.175.*.*/play.xml?action=get&random_port=$
1351584920.967 RELEASE -1 FFFFFFFF C3B1E2F0EB6DB6F1AB806607299007C2  200 1351599953        -1        -1 text/xml -1/118 GET http://89.175.*.*/passwordstatus.xml?action=get&r$
1351585096.545 RELEASE -1 FFFFFFFF 72EDB6F2CC31790C0978957935248F3C  400 1351585096        -1        -1 text/html 1166/1166 NONE error:invalid-request
1351585107.317 RELEASE -1 FFFFFFFF 05C6CB1D0E342687644EBB64C819AC3D  200 1351600140        -1        -1 text/xml -1/92 GET http://89.175.*.*/play.xml?action=get&random_port=$
1351585107.345 RELEASE -1 FFFFFFFF DCDF3A1C127AEC61CB60D69EC60DCF79  200 1351600140        -1        -1 text/xml -1/118 GET http://89.175.*.*/passwordstatus.xml?action=get&r$
1351585394.835 RELEASE -1 FFFFFFFF 72EDB6F2CC31790C0978957935248F3C  400 1351585394        -1        -1 text/html 1166/1166 NONE error:invalid-request
1351585402.747 RELEASE -1 FFFFFFFF 82FB760E58D25FDD9FFBA2706A5A04D8  200 1351600435        -1        -1 text/xml -1/92 GET http://89.175.*.*/play.xml?action=get&random_port=$
1351585402.772 RELEASE -1 FFFFFFFF 0EE7C9EDF0EEEB42AFC6FF5F05222BB4  200 1351600435        -1        -1 text/xml -1/118 GET http://89.175.*.*/passwordstatus.xml?action=get&r$
1351585827.074 RELEASE -1 FFFFFFFF 72EDB6F2CC31790C0978957935248F3C  400 1351585827        -1        -1 text/html 1166/1166 NONE error:invalid-request
1351585834.610 RELEASE -1 FFFFFFFF EBAB4D46A7B81C8C97B7499DA6F12FB5  200 1351600867        -1        -1 text/xml -1/92 GET http://89.175.*.*/play.xml?action=get&random_port=$
1351585834.633 RELEASE -1 FFFFFFFF 6CFD0134319D7EEE3F94024D6F32BA66  200 1351600867        -1        -1 text/xml -1/118 GET http://89.175.*.*/passwordstatus.xml?action=get&r$
1351585836.575 RELEASE 00 00000007 547AB4239913513754097114777EC9CD   ?         ?         ?         ? ?/? ?/? ? ?
1351586053.931 RELEASE -1 FFFFFFFF 399F147A8CBA3BD3DF68EF0BBF9DEE03  400 1351586053        -1        -1 text/html 1166/1166 NONE error:invalid-request
но почему то не одного упоминания о port 9000 я не нашел. может я не туда смотрю ))

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-30 12:04:11
mak_v_
Как вы задро...ли, шифраторы "звездочные".
cat access.log | grep "9000"

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-30 12:19:50
Van_Xalsing
mak_v_ писал(а):Как вы задро...ли, шифраторы "звездочные".
я извиняюсь за звездность, но как вы понимаете не сильно хочется всем показывать ip. это не большая предосторожность. я не в коем случае не хотел Вас оскорбить своим недоверием.

Код: Выделить всё

cat access.log | grep "9000"
эта команда не чего мне не показала. Это значит в файле access.log информации о 9000 нет. Если честно, то я и не помню что она там была. я просто периодически чищу этот файл.

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-30 12:29:33
mak_v_
Предосторожность от чего? от проноса?

значит у вас трафик по порту 9000 не идет через сквид.
Например у меня в логе есть такая строка
1350557368.995 57 192.168.1.55 TCP_MISS/304 379 GET http://auth.tbn.ru:8080/jdb/pp/statsu.no-cache.js - DIRECT/89.108.99.17 -
Она обозначает что пришел запрос GET от узла 192.168.1.55, запрос на порт 8080, содержимое "мимо кеша"
Чистите лопатой? есть опция "rotate".

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-30 12:55:21
Van_Xalsing
у меня следующий вопрос, а по чему? я же вроде написал

Код: Выделить всё

em0            # внешний интерфейс
em1            # внутренний интерфейс
192.168.x.x   # внутренний IP машины
Разрешаем проход трафика по 9000 на сервер

Код: Выделить всё

$ ipfw add allow log tcp from 192.168.x.x/24 to any 9000 via em1
заворачиваем трафик на squid

Код: Выделить всё

$ ipfw add fwd 127.0.0.1,3129 log tcp from 192.168.x.x/24 to any 9000 via em0
это то что касается FW
а вот что касается squid

Код: Выделить всё

http_port 127.0.0.1:3129 transparent
и

Код: Выделить всё

acl Safe_ports port 9000 
http_access deny !Safe_ports
чего может не хватать ?

Re: squid 2.7 и ошибка TCP_DENIED/400

Добавлено: 2012-10-30 13:13:29
mak_v_
смотрите лог сквида, временно отключите все запрещающие правила на ipfw, разрешите явно 9000