LINUX.ORG.RU
ФорумAdmin

transparent squid + iptables ulog


0

0

собственно, имеется машина, на которой стоит NAT, squid и терминирование pppoe

входящий и исходящий трафик завернул в ULOG легко: $IPTABLES -t mangle -A PREROUTING -j ULOG --ulog-nlgroup 7 --ulog-qthreshold 32 -s $ALLVPN_NN $IPTABLES -t mangle -A POSTROUTING -j ULOG --ulog-nlgroup 7 --ulog-qthreshold 32 -d $ALLVPN_NN -s ! $VPN_IP

но трафик от squid возвращается с хоста $VPN_IP (во втором правиле я его отсекаю), танцы с бубном и курение манов iptables не помогли. но ведь главное - tcpdump видит уже нормальный трафик с подмененными сквидом ip на ppp-интерфейсах... как его поймать в ULOG?

пробовал цепочки filter/mangle/nat OUTPUT и mangle/nat POSTROUTING

показывается либо трафик только с адреса прокси, либо с адреса прокси и трафик, который попадает под NAT

ядро 2.4.35, iptables 1.3.8

по чейнджлогам ulog не трогали, и iptables/ядро обновлять бессмысленно...

anonymous

Объясните на пальцах (на примере конкретных ip-адресов) какой трафик вам нужно отправить в ULOG?

Если вам нужно поймать "un-DNAT" пакет, то в 2.4.x этого было сделать нельзя, в 2.6.x вроде тоже не получится.

mky ★★★★★
()
Ответ на: комментарий от mky

я честно не знаю, как называется этот тип трафика. но суть такая: нужно ловить тот трафик, который мне видно через tcpdump (но libpcap я пользоваться не могу - при таком количестве ppp-интерфейсов, что ipcad, что ndsad начинают течь и жрать память гигабайтами и почти 100% проца :)

т.е. один трафик снать получилось: ppp -> IP клиента -> (тут снимаем) -> редирект на сквид -> IP сквида -> инет а тут не получилось: инет -> IP сквида -> подмена сквидом IP -> оригинальный IP сайта (вот тут надо снять -> ppp

при этом этобычный трафик, который идет через NAT я спокойном снимаю в обоих сторонах.

anonymous
()
Ответ на: комментарий от anonymous

пример конкретных IP-адресов: tcpdump на клиентском ppp-интерфейсе: 13:44:49.525359 IP 10.5.0.6.44083 > 213.180.204.14.http: . 1:537(536) ack 1 win 1072 13:44:49.525381 IP 213.180.204.14.http > 10.5.0.6.44083: . ack 537 win 3216

как это видят LOG и ULOG: test-counter: IN=ppp29 OUT= MAC= SRC=10.5.0.6 DST=213.180.204.8 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=55970 DF PROTO=TCP SPT=44083 DPT=80 WINDOW=1072 RES=0x00 ACK FIN URGP=0 test-counter: IN= OUT=ppp29 SRC=10.0.0.1 DST=10.5.0.6 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=60757 DF PROTO=TCP SPT=3128 DPT=44083 WINDOW=3216 RES=0x00 ACK FIN URGP=0

10.0.0.1 - IP, на котором стоит прозрачный squid; 10.5.0.6 - адрес клиента 213.180.204.8 - адрес яндекса :)

собственно хочется поймать в LOG/ULOG то, что увидел tcpdump в первом случае...

anonymous
()
Ответ на: комментарий от anonymous

Что посоветовать не знаю, но с помощью iptables (ULOG) вы этот трафик не поймаете. Гугл даже находит страницу, где предлагалось делать отдельную таблицу для работы с таким трафиком. ИМХО, либо пилить ipcad, либо уносить squid на отдельную машину...

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.