The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Перенаправление входящий подключений на внешний WEB сервер."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Настройка Squid и других прокси серверов (Squid)
Изначальное сообщение [ Отслеживать ]

"Перенаправление входящий подключений на внешний WEB сервер."  +/
Сообщение от alextyapin email(ok) on 16-Ноя-10, 17:41 
Добрый день!
Проблема заключается в следующем. Есть настроенный сервер, на котором вращается NAT(iptables) и proxy (Squid версии 2.7), чтоб народ в локалке в инет ходил. Заключили договор с электронной библиотекой, права доступа определяются через IP, т.е. локалка ходит в библиотеку нормально со всеми привилегиями. Нужно организовать перенаправление входящих подключений на наш сервак, на эту библиотеку, чтобы пользователи из дома могли серфить по библиотеке как будто из локалки.

только через iptables организовать не вышло. так как на IP библиотеки висят несколько сайтов.
iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 --dport 80 -j DNAT --to-destination 2.2.2.2:80
iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 80 -j SNAT --to-source 1.1.1.1

1.1.1.1 - мой IP
2.2.2.2 - IP библиотеки по whois

Пытался все входящие заворачивать на Squid и через
deny_info http://URL.com/ all
перенаправлять все на этот сайт, тоже не вышло, squid просто отбрасывает пакет на урлу не пропуская его через себя.

Помогите решить проблему, 3-ий день не получается и идеи иссякли.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Перенаправление входящий подключений на внешний WEB сервер."  +/
Сообщение от kim303 email(ok) on 19-Ноя-10, 17:15 
>[оверквотинг удален]
> DNAT --to-destination 2.2.2.2:80
> iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 80 -j
> SNAT --to-source 1.1.1.1
> 1.1.1.1 - мой IP
> 2.2.2.2 - IP библиотеки по whois
> Пытался все входящие заворачивать на Squid и через
> deny_info http://URL.com/ all
> перенаправлять все на этот сайт, тоже не вышло, squid просто отбрасывает пакет
> на урлу не пропуская его через себя.
> Помогите решить проблему, 3-ий день не получается и идеи иссякли.

пробуй в прероунтинг заворачивать не на Ip а на name Либо нужно алиас прокинуть в сквиде чтобы по одному из твоих внутренних ip открувался внешний адрес и потом роутить на него из iptables. Удаленка по схеме подключение к локалке --> прокинутый ip ---> адрес библиотеки

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Перенаправление входящий подключений на внешний WEB сервер."  +/
Сообщение от reader (ok) on 19-Ноя-10, 17:44 
>>[оверквотинг удален]
>> DNAT --to-destination 2.2.2.2:80
>> iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 80 -j
>> SNAT --to-source 1.1.1.1

как дома набрав url библиотеки они попадают к вам?

>> 1.1.1.1 - мой IP
>> 2.2.2.2 - IP библиотеки по whois
>> Пытался все входящие заворачивать на Squid и через
>> deny_info http://URL.com/ all

acl all правильно выбран? попробуйте вместо all тут указать acl с url

>> перенаправлять все на этот сайт, тоже не вышло, squid просто отбрасывает пакет
>> на урлу не пропуская его через себя.
>> Помогите решить проблему, 3-ий день не получается и идеи иссякли.
> пробуй в прероунтинг заворачивать не на Ip а на name Либо нужно

после загрузки правил в iptables имен там не будет.
> алиас прокинуть в сквиде чтобы по одному из твоих внутренних ip
> открувался внешний адрес и потом роутить на него из iptables. Удаленка
> по схеме подключение к локалке --> прокинутый ip ---> адрес библиотеки

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Перенаправление входящий подключений на внешний WEB сервер."  +/
Сообщение от reader (ok) on 19-Ноя-10, 18:03 
>>>[оверквотинг удален]
>>> DNAT --to-destination 2.2.2.2:80
>>> iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 80 -j
>>> SNAT --to-source 1.1.1.1
> как дома набрав url библиотеки они попадают к вам?
>>> 1.1.1.1 - мой IP
>>> 2.2.2.2 - IP библиотеки по whois
>>> Пытался все входящие заворачивать на Squid и через
>>> deny_info http://URL.com/ all
> acl all правильно выбран? попробуйте вместо all тут указать acl с url

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

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

>>> перенаправлять все на этот сайт, тоже не вышло, squid просто отбрасывает пакет
>>> на урлу не пропуская его через себя.
>>> Помогите решить проблему, 3-ий день не получается и идеи иссякли.
>> пробуй в прероунтинг заворачивать не на Ip а на name Либо нужно
> после загрузки правил в iptables имен там не будет.
>> алиас прокинуть в сквиде чтобы по одному из твоих внутренних ip
>> открувался внешний адрес и потом роутить на него из iptables. Удаленка
>> по схеме подключение к локалке --> прокинутый ip ---> адрес библиотеки

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Перенаправление входящий подключений на внешний WEB сервер."  +/
Сообщение от alextyapin email(ok) on 22-Ноя-10, 10:56 
> нужно чтобы они дома для хождения в библиотеку в браузере указывали использовать
> ваш прокси, ну и вам соответственно это разрешить.

Это, конечно, вариант, но хотелось бы более красивое решение, пользователи не будут постоянно перенастраивать проксю в браузере, а мне не хочется ловить весь траффик у себя на сервере. К сожалению в браузерах нет функции "Использовать прокси-сервер для следующих URL".

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "Перенаправление входящий подключений на внешний WEB сервер."  +/
Сообщение от alextyapin email(ok) on 22-Ноя-10, 10:18 
>>>[оверквотинг удален]
>>> DNAT --to-destination 2.2.2.2:80
>>> iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 80 -j
>>> SNAT --to-source 1.1.1.1
> как дома набрав url библиотеки они попадают к вам?

Они набирают мой урл (http://1.1.1.1), и должны вылетать на библиотеку с IP 1.1.1.1

>>> 1.1.1.1 - мой IP
>>> 2.2.2.2 - IP библиотеки по whois
>>> Пытался все входящие заворачивать на Squid и через
>>> deny_info http://URL.com/ all
> acl all правильно выбран? попробуйте вместо all тут указать acl с url

Не понял зачем, ведь через deny_info я определяю куда пойдет пользователь в случае отказа. Кроме всех правил есть http_access deny all, и вот этих all, если срабатывает правило, squid отправляет на указанный в deny_info URL.

>>> перенаправлять все на этот сайт, тоже не вышло, squid просто отбрасывает пакет
>>> на урлу не пропуская его через себя.
>>> Помогите решить проблему, 3-ий день не получается и идеи иссякли.
>> пробуй в прероунтинг заворачивать не на Ip а на name Либо нужно

Заворачивать на name не получиться, потому что iptables утилита сетевого уровня и понимает только IP

> после загрузки правил в iptables имен там не будет.
>> алиас прокинуть в сквиде чтобы по одному из твоих внутренних ip
>> открувался внешний адрес и потом роутить на него из iptables. Удаленка
>> по схеме подключение к локалке --> прокинутый ip ---> адрес библиотеки

Про алиас не понял, можно поподробнее, и, если можно, с примером.

Заранее спасибо.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Перенаправление входящий подключений на внешний WEB сервер."  +/
Сообщение от reader (ok) on 22-Ноя-10, 10:54 
>>>>[оверквотинг удален]
>>>> DNAT --to-destination 2.2.2.2:80
>>>> iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 80 -j
>>>> SNAT --to-source 1.1.1.1
>> как дома набрав url библиотеки они попадают к вам?
> Они набирают мой урл (http://1.1.1.1), и должны вылетать на библиотеку с IP
> 1.1.1.1

при этом в данных пакета, в заголовках http, URL библиотеки не будет, а если как вы говорите там несколько сайтов, и если все на одном порту, то вы будите поподать только на один, если менять только IP.

>>>> 1.1.1.1 - мой IP
>>>> 2.2.2.2 - IP библиотеки по whois
>>>> Пытался все входящие заворачивать на Squid и через
>>>> deny_info http://URL.com/ all
>> acl all правильно выбран? попробуйте вместо all тут указать acl с url
> Не понял зачем, ведь через deny_info я определяю куда пойдет пользователь в
> случае отказа. Кроме всех правил есть http_access deny all, и вот
> этих all, если срабатывает правило, squid отправляет на указанный в deny_info
> URL.

по моему про http_access deny all выше вы ничего не писали, а acl имеет значение.

>[оверквотинг удален]
>>>> Помогите решить проблему, 3-ий день не получается и идеи иссякли.
>>> пробуй в прероунтинг заворачивать не на Ip а на name Либо нужно
> Заворачивать на name не получиться, потому что iptables утилита сетевого уровня и
> понимает только IP
>> после загрузки правил в iptables имен там не будет.
>>> алиас прокинуть в сквиде чтобы по одному из твоих внутренних ip
>>> открувался внешний адрес и потом роутить на него из iptables. Удаленка
>>> по схеме подключение к локалке --> прокинутый ip ---> адрес библиотеки
> Про алиас не понял, можно поподробнее, и, если можно, с примером.
> Заранее спасибо.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Перенаправление входящий подключений на внешний WEB сервер."  +/
Сообщение от alextyapin email(ok) on 22-Ноя-10, 15:25 
> по моему про http_access deny all выше вы ничего не писали, а
> acl имеет значение.

Про http_access deny all я не писал, это правило которое есть по умолчанию.

да, acl имеет значение, в данном случае
acl all src all


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Перенаправление входящий подключений на внешний WEB сервер."  +/
Сообщение от alextyapin email(ok) on 23-Ноя-10, 12:55 
Проблема решается следующим образом.
1. В iptables добавляется правило
-A PREROUTING -p tcp -m tcp -i eth0 --dport 80 -j REDIRECT --to-ports 3128

где eth0 - внешний интерфейс.

2. В конфиг Squid добавляем следующее
# Определяем acl с регулярным выражением содержащим название нашей библиотеки ,
# в данном случае biblioclub
acl biblioclub dstdom_regex -i biblioclub
# Разрешаем доступ для всех на все домены содержащие слово biblioclub
http_access allow all biblioclub
# Стандартное правило запрещающее всем и все, что не оговорено в правилах выше
http_access deny all

3. Ставим Firefox, добавляем в него FoxyProxy. Добавляем в  FoxyProxy наш прокси сервер на 80 порту. Настраиваем шаблон URL на наш сайт библиотеки.

И вуаля!!!! Все работает.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру