transparent squid на localhost'е
Модераторы: SLEDopit, Модераторы разделов
-
atommix
- Сообщения: 5
- ОС: Arch
transparent squid на localhost'е
Дистрибьютив: arch
Здравствуйте.
На местной jabber конференции заявили, что использовать transparent squid на localhost'е невозможно, потому что сквид будет ползать сам через себя. Те зациклится. Так ли это? Действительно ли transparent squid на localhost'е не возможен? Или всё сводится к хитрому правилу iptables?
Не пойму что нужно сделать, чтоб заработало. Наверное вопрос сводится к правилам iptables.
пробовал это
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
не работает
http_port 3128 transparent
с указанием прокса localhost:3128 всё работает, веб через прокс серфится.
прозрачно нет.
Здравствуйте.
На местной jabber конференции заявили, что использовать transparent squid на localhost'е невозможно, потому что сквид будет ползать сам через себя. Те зациклится. Так ли это? Действительно ли transparent squid на localhost'е не возможен? Или всё сводится к хитрому правилу iptables?
Не пойму что нужно сделать, чтоб заработало. Наверное вопрос сводится к правилам iptables.
пробовал это
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
не работает
http_port 3128 transparent
с указанием прокса localhost:3128 всё работает, веб через прокс серфится.
прозрачно нет.
-
Maximus_V
- Сообщения: 432
- ОС: Gentoo, FreeBSD
Re: transparent squid на localhost'е
Попробуйте добавить исключение вашего адреса на eth0:
Код: Выделить всё
iptables -t nat -A PREROUTING -s 192.168.0.0/16 -d ! 192.168.0.8/32 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128-
atommix
- Сообщения: 5
- ОС: Arch
Re: transparent squid на localhost'е
пробовал так
и так
чет не катит, локалхост прозрачно не проксирует
на локалхосте это
Код: Выделить всё
sudo iptables -t nat -A PREROUTING -i eth0 -d ! 127.0.0.1/32 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128и так
Код: Выделить всё
sudo iptables -t nat -A PREROUTING -s 10.0.0.0/8 -d ! 10.11.3.4/32 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128чет не катит, локалхост прозрачно не проксирует
на локалхосте это
Код: Выделить всё
[atommix@atommix-desktop ~]$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:1E:8C:0E:C8:87
inet addr:10.11.3.4 Bcast:10.11.255.255 Mask:255.255.0.0
inet6 addr: fec0::4:21e:8cff:fe0e:c887/64 Scope:Site
inet6 addr: 2002:a0b:1c27:4:21e:8cff:fe0e:c887/64 Scope:Global
inet6 addr: fe80::21e:8cff:fe0e:c887/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:101210 errors:0 dropped:0 overruns:0 frame:0
TX packets:40191 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12775549 (12.1 Mb) TX bytes:169970674 (162.0 Mb)
Interrupt:253 Base address:0x6000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6875 errors:0 dropped:0 overruns:0 frame:0
TX packets:6875 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5592109 (5.3 Mb) TX bytes:5592109 (5.3 Mb)
ppp0 Link encap:Point-to-Point Protocol
inet addr:80.255.xx.xx P-t-P:85.158.xx.xx Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:6656 errors:0 dropped:0 overruns:0 frame:0
TX packets:7465 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:5147034 (4.9 Mb) TX bytes:1054445 (1.0 Mb)-
Maximus_V
- Сообщения: 432
- ОС: Gentoo, FreeBSD
Re: transparent squid на localhost'е
Надеюсь, после каждой пробы не забывали сбрасывать старые цепочки? Глянул у себя в правилах - после переброса на сквид идет еще маскарадинг на ppp0. Вам или делать что-то похожее
Код: Выделить всё
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE-
atommix
- Сообщения: 5
- ОС: Arch
Re: transparent squid на localhost'е
да удалял так
эх... кажется мне что ни я, ни вы толком не знаем что делать... буду пробовать..
ip у меня визде статические, на ифейсе ppp0, ip только выдается, но он статический.
Код: Выделить всё
sudo iptables -L -t natэх... кажется мне что ни я, ни вы толком не знаем что делать... буду пробовать..
ip у меня визде статические, на ифейсе ppp0, ip только выдается, но он статический.
-
Maximus_V
- Сообщения: 432
- ОС: Gentoo, FreeBSD
Re: transparent squid на localhost'е
iptables -t nat -F
Тогда и прописать этот айпишник
-
atommix
- Сообщения: 5
- ОС: Arch
Re: transparent squid на localhost'е
Код: Выделить всё
iptables -t nat -Fдада именно так, я просто машинально не то скопировал.
Тогда и прописать этот айпишник
Тогда при чем тут transparent squid на localhost'е ?
Мне то нужно с локал хоста прозрачно в инет ходить... инет я вообще не раздаю
в логах у меня как видите сплошником 127.0.0.1. Никаких других ip нету.
Код: Выделить всё
1230655578.567 15 127.0.0.1 TCP_HIT/200 1485 GET http://linuxforum.ru/style_images/winter/folder_team_icons/pip/04.gif - NONE/- image/gif
1230655578.567 13 127.0.0.1 TCP_HIT/200 521 GET http://linuxforum.ru/style_images/winter/post_snapback.gif - NONE/- image/gif
1230655578.580 15 127.0.0.1 TCP_HIT/200 867 GET http://linuxforum.ru/style_images/winter/css_img_quote.gif - NONE/- image/gif
1230655578.594 28 127.0.0.1 TCP_HIT/200 869 GET http://linuxforum.ru/style_images/winter/css_img_code.gif - NONE/- image/gif-
DenisGavrilov
- Сообщения: 32
- ОС: gentoo
Re: transparent squid на localhost'е
iptables -t nat -A OUTPUT -p tcp --dport http -m owner ! --uid-owner squid -j REDIRECT --to-port 3128
-
atommix
- Сообщения: 5
- ОС: Arch
Re: transparent squid на localhost'е
уже что-то интересненькое
Код: Выделить всё
1231081443.538 0 80.255.ььь.ььь TCP_DENIED/403 1347 GET http://top-kniga.ru/favicon.ico - NONE/- text/html
1231081443.695 0 80.255.ььь.ььь TCP_DENIED/403 1339 GET http://nikon.ru/favicon.ico - NONE/- text/html
1231081443.783 0 80.255.ььь.ььь TCP_DENIED/403 1339 GET http://nikon.ru/favicon.ico - NONE/- text/html
1231081474.681 0 80.255.ььь.ььь TCP_DENIED/403 1324 GET http://vkontakte.ru/ - NONE/- text/html
1231081475.042 0 80.255.ььь.ььь TCP_DENIED/403 1347 GET http://vkontakte.ru/favicon.ico - NONE/- text/html
1231081477.895 0 80.255.ььь.ььь TCP_DENIED/403 1347 GET http://vkontakte.ru/favicon.ico - NONE/- text/html
1231081478.302 0 80.255.ььь.ььь TCP_DENIED/403 1324 GET http://vkontakte.ru/ - NONE/- text/html-
ford1813
- Сообщения: 383
- ОС: Slackware
Re: transparent squid на localhost'е
Что ап ?
Конфиг сквиды военная тайна?
Откуда нам известно что ip клиента который в логе , имеет право интернетом пользоваться?
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: transparent squid на localhost'е
У меня сквид настроен, iptables тоже. Все работает. Только вот интересно стало, когда я делаю правило
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128
по-идее пакеты должны идти дальше в интернет на порт 3128, а не к локальному процессу (согласно правилам обхода цепочек) или сквид благодаря transparent сам ловит эти пакеты?
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128
по-идее пакеты должны идти дальше в интернет на порт 3128, а не к локальному процессу (согласно правилам обхода цепочек) или сквид благодаря transparent сам ловит эти пакеты?
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: transparent squid на localhost'е
REDIRECT - заворачивает на локальный адрес. Так что в интернет на порт 3128 оно никак не может идти.
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: transparent squid на localhost'е
Я понимаю, что он заворачивает на локальный адрес, просто в голове такая система:
пришел такой пакет на шлюз (src_ip, src_mac, src_port, dst_ip, dst_mac, dst_port...) где dst_mac - мак адрсе шлюза. dst_ip - адрес linuxforum.ru, dst_port = 80. После преобразования месяется только dst_port на 3128. И т.к. dst_ip != ip шлюза, то пакет дальше идет в сеть, а не_к_локальному_процессу.
пришел такой пакет на шлюз (src_ip, src_mac, src_port, dst_ip, dst_mac, dst_port...) где dst_mac - мак адрсе шлюза. dst_ip - адрес linuxforum.ru, dst_port = 80. После преобразования месяется только dst_port на 3128. И т.к. dst_ip != ip шлюза, то пакет дальше идет в сеть, а не_к_локальному_процессу.
Я правильно понимаю, что шаг №5 - как раз тема обсуждения?3.1. Общие положения
Когда пакет приходит на наш брандмауэр, то он сперва попадает на сетевое устройство, перехватывается соответствующим драйвером и далее передается в ядро. Далее пакет проходит ряд таблиц и затем передается либо локальному приложению, либо переправляется на другую машину. Порядок следования пакета приводится ниже:
Таблица 3-1. Порядок движения транзитных пакетовШаг Таблица Цепочка Примечание
1 Кабель (т.е. Интернет)
2 Сетевой интерфейс (например, eth0)
3 mangle PREROUTING Обычно эта цепочка используется для внесения изменений в заголовок пакета, например для изменения битов TOS и пр..
4 nat PREROUTING Эта цепочка используется для трансляции сетевых адресов (Destination Network Address Translation). Source Network Address Translation выполняется позднее, в другой цепочке. Любого рода фильтрация в этой цепочке может производиться только в исключительных случаях
5 Принятие решения о дальнейшей маршрутизации, т.е. в этой точке решается куда пойдет пакет -- локальному приложению или на другой узел сети.
6 mangle FORWARD Далее пакет попадает в цепочку FORWARD таблицы mangle, которая должна использоваться только в исключительных случаях, когда необходимо внести некоторые изменения в заголовок пакета между двумя точками принятия решения о маршрутизации.
7 Filter FORWARD В цепочку FORWARD попадают только те пакеты, которые идут на другой хост Вся фильтрация транзитного трафика должна выполняться здесь. Не забывайте, что через эту цепочку проходит траффик в обоих направлениях, обязательно учитывайте это обстоятельство при написании правил фильтрации.
8 mangle POSTROUTING Эта цепочка предназначена для внесения изменений в заголовок пакета уже после того как принято последнее решение о маршрутизации.
9 nat POSTROUTING Эта цепочка предназначена в первую очередь для Source Network Address Translation. Не используйте ее для фильтрации без особой на то необходимости. Здесь же выполняется и маскарадинг (Masquerading).
10 Выходной сетевой интерфейс (например, eth1).
11 Кабель (пусть будет LAN).
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: transparent squid на localhost'е
dst_ip тоже меняется
-
Swawe
- Сообщения: 2
Re: transparent squid на localhost'е
А почему перенаправляется только 80 в НАТе?
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: transparent squid на localhost'е
У меня всё прекрасно работает и ничего не зацикливается - использую модуль iptables ipt_owner, который предоставляет правило --uid-owner.atommix писал(а): ↑30.12.2008 14:44На местной jabber конференции заявили, что использовать transparent squid на localhost'е невозможно, потому что сквид будет ползать сам через себя. Те зациклится. Так ли это? Действительно ли transparent squid на localhost'е не возможен? Или всё сводится к хитрому правилу iptables?
Например: iptables -A OUTPUT --uid-owner ! squid -j REDIRECT --port 3128...
-
pelmen
- Сообщения: 1268
- ОС: debian
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: transparent squid на localhost'е
О том что запрос надо направить в сторону linuxforum.ru прокси-сервер понимает из заголовков HTTP-запроса клиента.