Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: организация прозрачного прокси в локальной сети через маршрутизатор  (Прочитано 176280 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kuld

  • Автор темы
  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
Граждане, помогите советом добрым.
Имеется доступ к интернету через http прокси сервер. Это спутниковый провайдер, работает через ускоритель globax, который в свою очередь раздает интернет в локальную сеть как простой http прокси сервер. Крутиться все это на машине с Ubuntu. Локальная сеть соединяется через маршрутизатор D-Link DIR-615. Порт WAN не задействован никак, комп с прокси-сервером сидит на фиксированном IP в локальной сети, все остальное через DHCP.
Сейчас всему оборудованию в сети нужно настраивать работу через этот самый прокси, что само по себе не удобно, так еще и не все програмы умеют это делать.
Хочется что-то сделать, что бы интернет раздавался по человечески, т.е. как это делают маршрутизаторы, если подключить их к интернету по правильному через WAN порт.
Делаю для этого примерно следующее:
1. Ставлю на машину с интернетом Squid
2. Настраиваю squid на работу через родительский прокси, тот который globax, и раздачу через порт 3128 transparent
3. Настраиваю iptables на перенаправление всех запросов на squid
Это все я вычитал тут на форуме. С этим все более-менее понятно.
Непонятное начинается с направлением всех запросов из локальной сети к интернету на эту самую машину с прокси.
Вероятно нужно что-то поднастроить в роутере. Но что и как?
Есть там настройка ROUTING, примерно такого содержания:
Name  Destination IP   Netmask   gateway  Metric   Interface

судя по описанию эти настройки позволяют переадресовать запросы к подсетям на разные шлюзы. Но как переадресовать все?
Или может воткнуть прокси-сервер в порт WAN, но тогда что настроить в разделе Internet роутера?
« Последнее редактирование: 12 Декабрь 2011, 23:13:00 от kuld »

Онлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27662
    • Просмотр профиля
Машина должна быть прописана как шлюз по умолчанию для локальной сети.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kuld

  • Автор темы
  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
Машина должна быть прописана как шлюз по умолчанию для локальной сети.

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

Онлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27662
    • Просмотр профиля
По моральным или религиозным соображениям?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kuld

  • Автор темы
  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
По моральным или религиозным соображениям?

По моральным :) Я атеист  :coolsmiley:

Онлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27662
    • Просмотр профиля
Мораль - та же религия, только исповедуется негласно.
Исправляйтесь и настраивайте свою сеть так, как вам надо, а не так, как она работает.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kuld

  • Автор темы
  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
Перевел маршрутизатор в режим моста, попробовал и dhcp3-server поднять и вручную параметры настроить - результат один: без прокси браузер не работает  :(  с прокси все нормально.

Вывод iptables-save:
# Generated by iptables-save v1.4.4 on Tue Dec 13 21:56:27 2011
*nat
:PREROUTING ACCEPT [197:21277]
:OUTPUT ACCEPT [423:57457]
:POSTROUTING ACCEPT [423:57457]
-A PREROUTING ! -d 192.168.1.0/24 -i eth0 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.1.5:3128
COMMIT
# Completed on Tue Dec 13 21:56:27 2011

вывод route -n с клиентской машины:
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
0.0.0.0         192.168.1.5     0.0.0.0         UG    0      0        0 wlan0

ну и в squid.conf
http_port 192.168.1.5:3128 transparent
Что я не так сдела? куда копать?

Онлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27662
    • Просмотр профиля
-j REDIRECT
Вы каким местом инструкцию по настройке прозрачного прокси читали?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kuld

  • Автор темы
  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
-j REDIRECT
Вы каким местом инструкцию по настройке прозрачного прокси читали?

да собственно вот местный источник сокрального знания по настройке прозрачного прокси.
там таки -j DNAT, каким местом не читай...

удалил это правило из iptables, добавил вместо него
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 3128
результат тот же  :(
« Последнее редактирование: 13 Декабрь 2011, 23:59:24 от kuld »

Онлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27662
    • Просмотр профиля
По первому - /facepalm
По "результат тот же" - что в логах?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kuld

  • Автор темы
  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
cashe.log
(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 14 Декабрь 2011, 21:52:24:
store.log
(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 14 Декабрь 2011, 21:59:19:
access.log
(Нажмите, чтобы показать/скрыть)
Это было с настройкой браузера на работу через прокси.
Кстати, что я заметил, если настроить переадресацию с порта, например, 8088 на 3128 вот так
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8088 -j REDIRECT --to-ports 3128а потом на клиентской машине настроить браузер на работу через прокси 192.168.1.5:8088, то оно таки работает, т.е. переадресацию портов я похоже делаю правильно.
Не работает, если настроить работу без прокси.

Пользователь решил продолжить мысль 14 Декабрь 2011, 22:50:03:
Ага, кажется я понял в чем проблема.
Если вместо урл яндекса набрать его ип-адрес 93.158.134.3, то запрос уходит на шлюз по умолчанию, там редиректится в порт прокси-сервера и мы видим страницу яндекса  :D
Следовательно проблема в том, что урл не резолвится в ип-адрес, т.е. проблема с DNS  :idiot2:
Остается понять как ее пофиксить  :coolsmiley:
« Последнее редактирование: 14 Декабрь 2011, 22:50:03 от kuld »

Онлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27662
    • Просмотр профиля
Как клиенты в сети настраиваются?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kuld

  • Автор темы
  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
Ну все, разобрался  :D не хватало пакета dnsmasq на серверной машине :D
установил, и все заработато.
как все-таки полезно бывает побеседовать с умными людьми  ;) это я про себя  ;D
но через маршрутизатор, по крайней мере тот, что у меня, этой задачи похоже не решить  :(

теперь надо разобраться как запретить squid'у лазить в интернет напрямую и делать это только через настроенный родительский прокси  :idiot2:

Онлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27662
    • Просмотр профиля
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kuld

  • Автор темы
  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
https://www.google.com/search?q=squid+parent+proxy

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

с вариантом статичной настройки и с dhcp сервером на той же машине оно работает. а вот что сделать, что бы DIR-615 пересылал все, что не ему адресовано на шлюз в локальной сети...  :idiot2: вот это остается проблемой

 

Страница сгенерирована за 0.083 секунд. Запросов: 26.