LINUX.ORG.RU
ФорумAdmin

iptables, squid


0

0

Совершенно чайниковский вопрос (ну не админы мы).

Есть домашняя локальная сетка (192.168....). Есть рутер (wrt54g) с линухом. На этой точке, понятное дело, живет NAT. На одном из домашних компов крутится squid. Хочется сделать так, чтобы все запросы от браузеров на внешние порты (80, 443) с роутера направлялись на оный сквид (находящийся внутри той же сетки). Понятное дело, что запросы на эти же порты с самого сквида должны идти наружу напрямую (иначе просто будет вечный цикл, с точностью до ...). Да, при этом хочется, чтобы человек, использующий браузер на той же самой машине, что под сквидом - тоже перенаправлялся через сквид - т.е. фильтрация только по src ip не годится.

Вопрос - как бы такой скромный изврат запихать в правила iptables на wrt54g?

Идеи, ссылки и пр. - велкам.

★★★★★

Так не выйдет ибо отличить прокси от браузера на 3-м уровне OSI нельзя. Пакеты от браузера надо перенаправлять на сквид локальным iptables_ом (-t nat OUTPUT -m owner --uid-owner $USERID -j REDIRECT --to-ports 3128), где-то так.

А на раутере уже просто по src_ip and dst_port

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

Что http на третьем, а ip на втором - я представляю. Вопрос как раз в том, нельзя ли научиться на втором уровне как-то отличать пакеты от сквида? Нельзя ли сквид заставить как-то "метить" свои ip пакеты, чтобы они отличались от браузерных - и чтобы "метку" можно было проверить в iptables? Кстати, а через src port как-нибудь можно привязаться?

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

Не совсем, хотя и похоже. Там, к сожалению, не рассказано, как различать пакеты с одного и того же хоста.

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

svu, изучаю iptables второй день :), вроде если нужно отличить одно приложение от другого, то можно использовать критерий -m owner --pid-owner, а значение находить простым скриптом (pidof, парс ps). Как вариант - запускать под отдельным пользователем, тогда искать по --uid-owner. Метить, очевидно можно -j MARK --set-mark x.

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

Насколько я понимаю (CMIIW), pid/uid - работает только локально. А мне нужно различать на роутере пакеты с другой машины. Про set-mark почитаю...

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

Кстати, да. Похоже --set-mark на машине со сквидом и --mark на роутере могут помочь. Спасибо за идею...

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

> Насколько я понимаю (CMIIW), pid/uid - работает только локально

sic, я не врубился в суть :)

> А мне нужно различать на роутере пакеты с другой машины.

предлагают использовать поле tos, от себя добавлю: dscp :)

> Похоже --set-mark на машине со сквидом и --mark на роутере могут помочь

Эм, "Не забывайте, что "метка" пакета существует только в период времени пока пакет не покинул брандмауэр, т.е. метка не передается по сети." ?

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

#  TAG: tcp_outgoing_tos
#       Allows you to select a TOS/Diffserv value to mark outgoing
#       connections with, based on the username or source address
#       making the request.
#
[SKIP]
#
#       TOS/DSCP values really only have local significance - so you should
#       know what you're specifying. For more, see RFC 2474

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

Я так понял что tos не имеет смысла сейчас использовать по прямому назначению, поэтому хотя бы в пределах локальной сети его можно использовать как сетевой mark, например чтобы выделить трафик от определенного приложения. Не так?

anonymous
()

Разумный вариант:
На машинке со сквидом определяем два ИП адреса на сетевухе, сквиду говорим слать все со второго ИП (squid.conf: tcp_outgoing_address), ну а все остальные автоматом с первого. На раутере по src_ip рулим.

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

Локально есть варианты и проще (см. мой первый пост о --uid-owner)

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

Блинн. Я-то думал, что метку в сеть выпускают... Спасибо.

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

Кстати, неплохая мысль. И довольно просто. Чой-та я стормозил? Спасибо, подумаем.

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

Позор на мою седую. Я ведь 10 лет назад этому детей учил! Это у ведь ethernet на 2 втором. А http, кажется, с 5 по 7?

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

да бывает...это вы меня простите - придрался зачем-то по пустякам ))
> А http, кажется, с 5 по 7?
не совсем - только 7

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

>> Что http на третьем, а ip на втором - я представляю.

> видимо не представляете, потому как ip - это L3, а http - L7

В семействе протоколов TCP/IP - всего четыре уровня: канальный, сетевой, транспортный и прикладной. ip - сетевой (2), http - прикладной (4).

L7 и модель ОСИ можете засунуть в задницу безумным телефонистам, их придумавшим.

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

Да нет, хорошо поймали, решпект, без обид.

Так, если http у нас 7, tcp 4 (ну максимум кусок 5) - куды девался 6? Все-таки presentation/encryption в http представлен вроде как.

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

>В семействе протоколов TCP/IP - всего четыре уровня: канальный,
>сетевой, транспортный и прикладной. ip - сетевой (2), http -
>прикладной (4).

а вы в курсе, что когда говорят об уровнях, всегда подрузомевают OSI, а не TCP/IP стек ?

>L7 и модель ОСИ можете засунуть в задницу безумным телефонистам, их
придумавшим.

БУГАГА )) , какое отношение имеет телефония к http и L7?
и чем вам эти телефонисты так насолили, что вы с так ненавидите OSI ?)))

анонимусы как всегда жгут ))

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

>БУГАГА )) , какое отношение имеет телефония к http и L7?

Ассоциации с Bell Labs видимо, весна -- у анонимусов обострение.

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

> а вы в курсе, что когда говорят об уровнях, всегда подрузомевают OSI, а не TCP/IP стек ?

Кто вам такую чушь сказал? Зачем подр_а_з_у_мевать мертворождённую модель OSI при наличии вполне живого TCP/IP?

> БУГАГА )) , какое отношение имеет телефония к http и L7?

rtfm кем, как и когда создавалась эта срань ОСИ. И почему к TCP/IP она не имеет никакого отношения.

> и чем вам эти телефонисты так насолили, что вы с так ненавидите OSI ?

Тем, что ОСИ не имеет никакого отношения к реальности, но тем не менее регулярно находятся дятлы, пытающиеся ссылаться на неё и описывать в её терминах абсолютно другое, независимое семейство протоколов.

> анонимусы как всегда жгут ))

Всегда, это отличительная черта ЛОРа.

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

> весна -- у анонимусов обострение.

Хуже - полнолуние.

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

ладно, у меня сегодня выходной, так что буду вежлив :))

>Зачем подр_а_з_у_мевать мертворождённую модель OSI при наличии вполне живого TCP/IP?

а вы в курсе, что кроме TCP/IP ест ьеще другие поротколы?
куда вы засунете Ethernet,CSMA/CD и PPP? а MPLS и non-broadcast-multi-access сети с VPN вам о чем нибудь говорят? если да, ответьте, каким боком там TCP/IP стек ?

>rtfm кем, как и когда создавалась эта срань ОСИ. И почему к TCP/IP она не имеет никакого отношения.

в курсе. а вы видимо нет, инчае не пороли бы здесь всю эту чушь.

>Тем, что ОСИ не имеет никакого отношения к реальности,

мне правда очень интересно, почему OSI не имеет никакого отношения к реальности? вы придумали новыю модель и реализовали на ее основе протоколы, сети и производите активку, которая в этих сетях (и на основе принципов вашей новой модели) работает?

>и описывать в её терминах абсолютно другое, независимое семейство протоколов.

всмыле, TCP/IP независит от OSI ? т.е. не входит туда как один/два уровня?


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

> а вы в курсе, что кроме TCP/IP ест ьеще другие поротколы? куда вы засунете Ethernet,CSMA/CD и PPP?

Канальный уровень.

> мне правда очень интересно, почему OSI не имеет никакого отношения к реальности?

Вы много знаете работающих сетей на основе OSI/X.25?

> всмыле, TCP/IP независит от OSI ? т.е. не входит туда как один/два уровня?

Нет. Он и появился раньше и имеет приципиальные отличия от OSI. Подробнее см. 11-ю главу Камера.

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

Есть ощущение, что для людей, которые объявляют стек TCP/IP универсальным мерилом всего - сети начались на TCP/IP и на них же кончились. А чудесный мир NetBEUI, мощь SNA и прочие прелести жизни - это все от лукавого и к реальности отношения никогда не имело. И в будущем, разумеется, весь мир будет использовать исключительно TCP/IP (самые продвинутые, разумеется, говорят о IPv6).

OSI интересен не как конкретный стек, а как универсальная "линейка", к которой удобно "прикладывать" другие стеки для выяснения "ху из ху". На эту роль ... как-это по-ЛОРовски ... быдлостек TCP/IP не годится совершенно. Ибо груба его шкала.

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

>Канальный уровень.
ага! )) значит надо еще что-то кроме TCP/IP стека? тут-то и появляется L2 в модели OSI ))

>Вы много знаете работающих сетей на основе OSI/X.25?
...
>Нет. Он и появился раньше и имеет приципиальные отличия от OSI.

все ясно )) - вы просто что-то где-то не то прочитали ...что-то перепутали ...шагом марш гуглить что такое OSI, а что такое X.25 сети!
после этой фразы стало неинтересно коментировать вашу муть ((



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

ААА! Я понял где тут хунд беграбен! Путая OSI и X.25 человек спутал их авторов - ISO и ITU. Вот откуда взялись телефонисты!

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

>анонимус дело говорил, а ты просто безобразен в своем упертом незнании.

еще один клоун ))

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

> все ясно )) - вы просто что-то где-то не то прочитали ...что-то перепутали ...шагом марш гуглить что такое OSI, а что такое X.25 сети! после этой фразы стало неинтересно коментировать вашу муть ((

Марш бегом изучать, что такое семиуровневая модель ISO (иногда называемая моделью OSI) и созданный на на её основе протокол X.25. Нет, вы правда не читали ни Камера, ни Стивенса, ни, на худой конец, бабушку Эви Немет?

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

> ага! )) значит надо еще что-то кроме TCP/IP стека? тут-то и появляется L2 в модели OSI ))

Нифига, это первый логический уровень в семействе протоколов TCP/IP. rtfm еще раз двести.

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

БУГАГА )), ты глянь для приличия в мое инфо, чебурашка )), чтобы ртфэмами кидаться.

>Нифига, это первый логический уровень в семействе протоколов TCP/IP

да я в курсе, что он там первый, хоть десятый - главное, что в OSI -он второй. ты правда понять не можешь, что кроме твоего TCP есть другие портоколы?

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

>Нет, вы правда не читали ни Камера, ни Стивенса, ни, на худой конец, >бабушку Эви Немет?

для примера, стивенс у меня на столе лежит...

>что такое семиуровневая модель ISO (иногда называемая моделью OSI) и >созданный на на её основе протокол X.25.

ну причем тут X.25 ? то что он был создан на основе OSI еще не делает саму OSI ущербной )).

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