The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"FreeBSD, squid & TPROXY"
Отправлено Mackfh, 26-Май-15 17:22 
> Доброго времени суток, читатель!
> Обращаюсь к тебе с проблемой в надежде обрести немного помощи. Суть такова:
> Есть FreeBSD 10.1 с тремя интерфейсами, два из которых объединены в мост
> без адреса. Интерфейсы также без адресов. Третий - с адресом, для
> О&М нужд. Стоит сквид 3.5.4 в режиме TPROXY. Не получается направить
> на него HTTP-траффик.
> Гуглил очень долго, ориентировался в первую очередь на: https://www.opennet.ru/openforum/vsluhforumID12/7113.html
> Подскажите, пожалуйста, что я делаю не так? Использование ipfw мне не принципиально,
> остальное важно.

Попробовал другой подход. Использовал Нетграф:

#!/bin/sh
kldload -v ng_ether
kldload -v ng_bpf
kldload -v ng_eiface
ngctl mkpeer bge0: bpf lower bge0-lower
ngctl name bge0:lower br-bpf
ngctl connect bge0: br-bpf: upper bge0-upper
ngctl connect bge1: br-bpf: lower bge1-lower
ngctl connect bge1: br-bpf: upper bge1-upper
ngctl mkpeer br-bpf: eiface squid ether

         PATTERN="tcp dst port 80"
         INHOOK="bge0-lower"
         MATCHHOOK="squid"
         NOTMATCHHOOK="bge1-lower"

         BPFPROG=$( tcpdump -s 8192 -ddd ${PATTERN} | grep -v WARNING | \
                    ( read len ; \
                      echo -n "bpf_prog_len=$len" ; \
                      echo -n " bpf_prog=[" ; \
                      while read code jt jf k ; do \
                          echo -n " { code=$code jt=$jt jf=$jf k=$k }" ; \
                      done ; \
                      echo " ]" ) )

         ngctl -d msg br-bpf: setprogram { thisHook=\"${INHOOK}\" \
           ifMatch=\"${MATCHHOOK}\" \
           ifNotMatch=\"${NOTMATCHHOOK}\" \
           ${BPFPROG} }

         PATTERN="tcp src port 80"
         INHOOK="bge1-lower"
         MATCHHOOK="squid"
         NOTMATCHHOOK="bge0-lower"

         BPFPROG=$( tcpdump -s 8192 -ddd ${PATTERN} | \
                    ( read len ; \
                      echo -n "bpf_prog_len=$len" ; \
                      echo -n " bpf_prog=[" ; \
                      while read code jt jf k ; do \
                          echo -n " { code=$code jt=$jt jf=$jf k=$k }" ; \
                      done ; \
                      echo " ]" ) )

         ngctl msg br-bpf: setprogram { thisHook=\"${INHOOK}\" \
           ifMatch=\"${MATCHHOOK}\" \
           ifNotMatch=\"${NOTMATCHHOOK}\" \
           ${BPFPROG} }

ngctl msg bge0: setpromisc 1
ngctl msg bge1: setpromisc 1
ngctl msg bge0: setautosrc 0
ngctl msg bge1: setautosrc 0

Сквид перенастроил на 80 порт.

2015/05/26 16:19:04.349 kid1| Accepting TPROXY intercepted HTTP Socket connections at local=0.0.0.0:80 remote=[::] FD 17 flags=25

В итоге:
tcpdump -i ngeth0 -vvv -s0 tcp dst port 80
tcpdump: listening on ngeth0, link-type EN10MB (Ethernet), capture size 65535 bytes
17:17:09.767118 IP (tos 0x0, ttl 128, id 921, offset 0, flags [DF], proto TCP (6), length 52)
    192.168.1.10.25055 > 192.168.1.20.http: Flags [S], cksum 0x8521 (correct), seq 2363512694, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
17:17:12.231562 IP (tos 0x0, ttl 128, id 924, offset 0, flags [DF], proto TCP (6), length 52)
    192.168.1.10.25055 > 192.168.1.20.http: Flags [S], cksum 0x8521 (correct), seq 2363512694, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0

А в кеш.логе пусто. Ситуация повторяется. Что-то не так с самим сквидом?

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру