Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » Не работает Squid в режиме spoofing

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Snaiper



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужна помощь,
передо мной встала задача пропустить www(порт 80) трафик через squid с оригинальными адресами клиентов
Поставил Debian 5 (в кернеле стоит опция tproxy)
dmesg |grep TPROXY
NF_TPROXY: Transparent proxy support initialized, version 4.1.0
NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
Поставил iptables c поддержкой tproxy (git clone git://git.balabit.hu/bazsi/iptables-tproxy.git)
Мои правила:
iptables -t mangle -N DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-ip 127.0.0.1 --on-port 3129
 
ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
 
Поставил squid с опцией --enable-linux-netfilter
squid -v
Squid Cache: Version 3.1.0.14
configure options:  '--enable-linux-netfilter' '--enable-http-violations--enable-async-io=8' '--enable-useragent-log' '--enable-cache-digests--enable-follow-x-forwarded-for' '--enable-storeio=aufs' '--enable-removal-policies=heap,lru' '--with-maxfd=16384' '--enable-poll--with-filedescriptors=16384' '--disable-ident-lookups--enable-zph-qos' '--enable-truncate' '--with-pthreads--with-large-files' '--enable-ssl--with-openssl=/usr/include/openssl/--disable-htcp' '--enable-inline' '--enable-delay-pools--enable-underscores' '--enable-icap-client--with-default-user=squid' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--disable-maintainer-mode' '--disable-dependency-tracking' '--srcdir=.' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' --with-squid=/usr/src/squid-3.1.0.14 --enable-ltdl-convenience
 
В конфиге squid
 
http_port 3128
http_port 3129 tproxy
 
Клиенты получают ошибку:
 
The following error was encountered while trying to retrieve the URL: http://www.whatismyip.com/
 
Connection to 72.233.89.199 failed.
 
The system returned: (110) Connection timed out
 
The remote host or network may be down. Please try the request again.
 
В логах squid я вижу
 
.....
2009/10/02 01:39:32.709| PconnPool::key(www.whatismyip.com,80,(no domain),xxx.xxx.xxx.xxxis {www.whatismyip.com:80-xxx.xxx.xxx.xxx}
2009/10/02 01:39:32.709| PconnPool::pop: lookup for key {www.whatismyip.com:80-xxx.xxx.xxx.xxx} failed.
2009/10/02 01:39:32.709| FilledChecklist.cc(162) ~ACLFilledChecklist: ACLFilledChecklist destroyed 0xbfaf5d38
......
 
 
В чём проблема: настройка кернела, iptables или squid виноват?
 
(если ставлю опцию transparent - то squid раьотает в прозрачном режиме без проблем)
 

Всего записей: 39 | Зарегистр. 07-02-2002 | Отправлено: 18:25 03-10-2009
vlader2004



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Поверь работы прокси для начала. Пропиши в браузере прокси и добейся, чтобы все работало. После, с рабочим прокси, тебе останется проверить работу файервола.

Всего записей: 460 | Зарегистр. 31-05-2004 | Отправлено: 19:10 03-10-2009
Snaiper



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как раз в этом и нет проблем - работает нормально.

Всего записей: 39 | Зарегистр. 07-02-2002 | Отправлено: 21:28 03-10-2009
Snaiper



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всё сам разобрался - проблема была в настройках iptables
 
можно закрыть тему

Всего записей: 39 | Зарегистр. 07-02-2002 | Отправлено: 00:52 13-10-2009
FLYAND



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А расскажи все-таки, в чем была проблема?

Всего записей: 49 | Зарегистр. 15-05-2008 | Отправлено: 12:57 04-08-2010
Snaiper



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
лучше поздно чем никогда  
 iptables -F
  iptables -X
  iptables -t nat -F
  iptables -t nat -X
  iptables -t mangle -F
  iptables -t mangle -X
  iptables -P INPUT ACCEPT
  iptables -P FORWARD ACCEPT
  iptables -P OUTPUT ACCEPT
  ip rule del fwmark 1 lookup 100
  ip route del local 0.0.0.0/0 dev lo table 100
  echo 1 > /proc/sys/net/ipv4/ip_forward
  iptables -t mangle -N DIVERT
  iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
  iptables -t mangle -A DIVERT -j MARK --set-mark 1
  iptables -t mangle -A DIVERT -j ACCEPT
  iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129
  ulimit -HSn 1000000
  ip rule add fwmark 1 lookup 100
  ip route add local 0.0.0.0/0 dev lo table 100

Всего записей: 39 | Зарегистр. 07-02-2002 | Отправлено: 00:01 20-08-2012
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Операционные системы » UNIX » Не работает Squid в режиме spoofing


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru