conrad Posted November 27, 2015 · Report post Всем доброго времени суток! Необходимо запустить прозрачный прокси на отдельном сервере. Настроил схему согласно этой статье - http://habrahabr.ru/post/219435/ , но при попытке выйти в мир через прокси в логах сквида вижу следующее - 2015/11/28 03:10:15 kid1| ERROR: NAT/TPROXY lookup failed to locate original IPs on local=81.19.77.5:80 remote=x.x.x.x:4966 FD 20 flags=17 2015/11/28 03:10:20 kid1| ERROR: NAT/TPROXY lookup failed to locate original IPs on local=81.19.77.5:80 remote=x.x.x.x:4970 FD 20 flags=17 2015/11/28 03:10:29 kid1| ERROR: NAT/TPROXY lookup failed to locate original IPs on local=217.69.139.58:80 remote=x.x.x.x:4976 FD 20 flags=17 2015/11/28 03:10:29 kid1| ERROR: NAT/TPROXY lookup failed to locate original IPs on local=193.0.170.53:80 remote=x.x.x.x:4978 FD 20 flags=17 2015/11/28 03:11:29 kid1| ERROR: NAT/TPROXY lookup failed to locate original IPs on local=94.100.180.59:80 remote=x.x.x.x:4980 FD 20 flags=17 2015/11/28 03:11:29 kid1| ERROR: NAT/TPROXY lookup failed to locate original IPs on local=193.0.170.54:80 remote=x.x.x.x:4982 FD 20 flags=17 Где x.x.x.x - это ip за который делается nat. Вот некоторая дополнительная инфармация: Gateway: Linux border 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux Squid: Linux squid 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux squid -v Squid Cache: Version 3.5.11-20151120-r13955 Service Name: squid configure options: '--enable-linux-netfilter' '--prefix=/usr' '--localstatedir=/var' '--libexecdir=/lib/squid' '--datadir=/share/squid' '--sysconfdir=/etc/squid' '--with-default-user=proxy' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid.pid' '--enable-removal-policies=lru heap' --enable-ltdl-convenience Подскажите пожалуйста куда копать, заранее благодарю за помощь. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Jaguar77 Posted November 28, 2015 · Report post а разве squid у вас собран с tproxy ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
conrad Posted November 28, 2015 (edited) · Report post а разве squid у вас собран с tproxy ? Да, за это отвечает опция --enable-linux-netfilter. Вот кусок лога сквида при старте: 2015/11/28 21:08:35 kid1| Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 35 flags=9 2015/11/28 21:08:35 kid1| Accepting TPROXY intercepted HTTP Socket connections at local=[::]:3129 remote=[::] FD 36 flags=25 2015/11/28 21:08:35 kid1| Done reading /cache/hdd1/squid swaplog (0 entries) 2015/11/28 21:08:35 kid1| Store rebuilding is 0.00% complete И вывод ./configure --help --enable-linux-netfilter Enable Transparent Proxy support for Linux (Netfilter) Edited November 28, 2015 by conrad Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
[anp/hsw] Posted November 29, 2015 · Report post проверьте вот с этим: echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
conrad Posted November 29, 2015 · Report post ' timestamp='1448783040' post='1207457']проверьте вот с этим: echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind Тоже самое( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
conrad Posted November 29, 2015 · Report post Вот еще информация: Gateway: eth0 - 10.17.0.2/24 eth0.3128 - 192.168.20.1/24 iptables -t mangle -I DIVERT ! -i eth0.3128 -s x.x.x.x -p tcp --dport 80 -j MARK --set-mark 4 где x.x.x.x белый ip (что бы гнать на прокси пока только одного пользователя) iptables -t mangle -I DIVERT ! -i eth0.3128 -d x.x.x.x -p tcp --sport 80 -j MARK --set-mark 4 тот же белый ip iptables -t mangle -I PREROUTING ! -i eth0.3128 -p tcp -m set ! --match-set tas-ix dst -m tcp --dport 80 -j DIVERT iptables -t mangle -I PREROUTING ! -i eth0.3128 -p tcp -m set ! --match-set tas-ix src -m tcp --sport 80 -j DIVERT ip rule add fwmark 4 lookup cache root@border:~# ip ru list 0: from all lookup local 32763: from all fwmark 0x4 lookup cache -- гнать трафик с меткой 4 в талицу cache 32764: from all fwmark 0xa lookup cron 32765: from 10.20.0.0/24 lookup cron 32766: from all lookup main 32767: from all lookup default root@border:~# ip ro sh table cache default via 10.17.0.3 dev eth0 -- гоню трафик на сквид. SQUID: eth0 - 10.17.0.3/24 eth0.3128 - 192.168.20.2/24 *mangle :PREROUTING ACCEPT [237869:76104852] :INPUT ACCEPT [325134:79872902] :FORWARD ACCEPT [7595:7198871] :OUTPUT ACCEPT [104270:7197275] :POSTROUTING ACCEPT [111865:14396146] :DIVERT - [0:0] -A PREROUTING -p tcp -m socket -j DIVERT -A PREROUTING -p tcp -m tcp --dport 80 -j TPROXY --on-port 3129 --on-ip 0.0.0.0 --tproxy-mark 0x1/0x1 -A DIVERT -j MARK --set-xmark 0x1/0xffffffff -A DIVERT -j ACCEPT root@squid:~# ip ru list 0: from all lookup local 32765: from all fwmark 0x1 lookup border 32766: from all lookup main 32767: from all lookup default root@squid:~# ip ro sh table border local default dev eth0 scope host P.S.: Прикрепляю схемку. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
hsvt Posted November 30, 2015 · Report post Не могу вам ничем помочь к сожалению, но хотел бы спросить - а зачем вся эти пляски с ip rule, iptables divert etc, нельзя ли просто поставить squid на тот же сервер где шлюз\nat и блокировать там так же по acl regex ? Или слишком нагрузочка будет высокой и лишней для шлюза ? У нас самописное решение, но хотелось бы попробовать вариант со squid сделать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
conrad Posted December 1, 2015 · Report post Ну во первых нагрузка, во вторых основная цель прокси - это кеш(для которого выделено 5 дисков), а не блокировка сайтов. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
[anp/hsw] Posted December 1, 2015 · Report post прокси - это кеш(для которого выделено 5 дисков),э Не будет оно кэшировать, сейчас уже большинство трафика - https, оно не кэшируется, если не подменять сертификаты. А если подменять, то вы уже упадете в глазах очень многих абонентов (да и всякие клиент-банки не будут работать). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
conrad Posted December 1, 2015 · Report post Проблема решилась установкой libcap2-dev и пересборкой сквида, только теперь клиенты получают connection timed out от сквида... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
conrad Posted December 4, 2015 · Report post Работает только у белых ip, серые не пашут, то есть не пашет у тех кого натим...(( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...