LINUX.ORG.RU
ФорумAdmin

openSUSE: NAT+Squid with auth


0

0

Требуется сделать перенаправление пакетов с 80го порта на 3128

В SuSeFirevall2 #нат FW_FORWARD_MASQ="192.168.1.0/24,10.0.0.10,tcp,0,0,0.0.0.0/0" #перенаправление FW_REDIRECT="192.168.1.0/24,0/0,tcp,80,3128"

сквид настроен на auth_basic

при явном указании в браузере на порт прокси - всё ходит, аутентификаци проходит при, так сказать, "чистом нате" - не пашет, пишет "ОШИБКА Запрошенный URL не может быть доставлен.

Произошла следующая ошибка:

* Неверный запрос. "

и ещё, желательно не кешироваь трафик с самого сервера и собственно никак его не отображать в логах

Примечания: 192.168.1.0/24 - моя сеть через 1ю сетевуху 10.0.0.10 - адсл модем, воткнут в 2ю сетевуху, в режиме моста

anonymous

ты умеешь работать с iptables ?
если нет - то тебе надо сначала его освоить.

на машине делаешь (я полагаю что 192.168.1.1 - IP твоей машины):
-A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.1:3128
хочешь, делай редирект на localhost:3128
а далее задумайся над вопросом, что клиент (из сети 192.168.1.0/24) посылает пакет на твой 80 порт, и его машина ожидает получить ответ также с 80 порта.
Поэтому, либо делай iptables -t nat -nvL, либо разбирайся что там твоя SuSe колдует с командами iptables.

В конце-концов, можно сделать легче - перевести squid на 80 порт.

nial
()

Не компосируй себе моск настройками iptables в YaST

напиши скрипт настроек самостоятельно.

YaST работает с iptables неплохо, но руками сделанный скрипт это впервую очередь

и личный опыт для тебя

MikeDM ★★★★★
()

Насколько я понимаю, надо сделать нат на все, а веб трафик пустить через прозрачный Squid с аутентификацией. Но помоему, прозрачный прокси не будет работать с аутентификацией. Если это не так, поправьте плз.

Если надо перенаправить веб трафик на порт 3128, то одойдет правило:

# iptables -t nat -A PREROUTING -s SOURCE_IP_OR_NET -p tcp --dport 80 -j REDIRECT --to-port 3128

еще по iptables есть хороший док: http://www.opennet.ru/docs/RUS/iptables/

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

с iptables работать умею и скрипт Sysefirevall тож могу капать (смотрите первое сообщение)

всё дело в том, что сам сквид ругается на "нерпавильный запрос"

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

да и делаю эту лабуду из за директора, который хочет воткнуль ноут в сеть и выходить в инет но ему также нужна статистика по пользователям и аутентификация соответственно

и, все порты кроме 80го должны проходить через сам нат, без сквида т.к. редиректить только 80й порт на сквид с аутентификацией

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

и ещё забыл уточнить: он не хочит заморачиваться с настройками прокси в браузере. типа воткнул в сеть и должно пахать

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

вот думаю всёж повесить сквид на 80й порт а все обращения идёщие на 80й порт самого сервера (на лок.сайт) перенаправлять на другой порт

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

> и, все порты кроме 80го должны проходить через сам нат, без сквида т.к. редиректить только 80й порт на сквид с аутентификацией

вы уверены, что прозрачное проксирование может работать с аутентификацией? В таком случае клиент (веб-браузер) не знает, что он работает с прокси, для него это просто удаленный сервер. Поэтому, как я понимаю, аутенификация при такой схеме работать не будет.

если вам нужен учет трафика и полный нат доступ, м.б. вам лучше посмотреть в сторону какого-либо простого биллинга, например:
http://code.google.com/p/cakebilling/
http://www.opennet.ru/cgi-bin/opennet/ks.cgi?mask=vpn+billing+isp
http://www.opennet.ru/prog/sml/46.shtml

и будет у вас учет трафика, NAT, ну и прозрачный squid можете организовать, но уже без утентификации (по нему можно будет смотреть детализацию веб трафика - "кто где и когда был")

samson ★★
()

по поводу прозрачного squid-a, помоему надо прописать в конфиге:
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
мб еще что-то надо поменять в конфиге. И помоему, в новых версиях что-то поменялось немного. Поищи гуглом по запросу "transparent suqid".

а на счет авторизации/аутентификации, вроде как я прав:
http://tldp.org/HOWTO/TransparentProxy-2.html#ss2.4

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

повторяюсь, не нужен мне прозрачный проксик мне надо заворачивать трафик с 80го порта на 3128 траф то заворачивается, но сквид ругается на "Неправильный запрос"

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

для того что бы он не ругался надо его настроить в прозрачном режиме.

дело в том, что когда браузер работает через прокси и знает об этом, он формирует соответствующим образом запрос. Если в браузере прокси не прописан, он не знает о нем и нужно, что бы об этом знал squid, тк трафик перенаправлен на него. Поэтому его надо настроить соответствующим образом, те в transparent режиме.

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