Добрый день.
Столкнулся с одной проблемой:
Имеется шлюз на FreeBSD, 3 сетевых адаптера: 2 провайдера и 1 в локалку.
Есть свой домен site.ru, который висит на айпи адресе первого провайдера (назовем его IP1).
Есть домен 3 уровня www.site.ru, который висит на айпи адресе второго провайдера (IP2).
Нужно сделать редирект с site.ru на www.site.ru, это сделал в конфиге apache22 без проблем.
Возникла такая ситуация, когда приходит запрос к site.ru на IP1, корректно редиректится на www.site.ru, а дальше ответ к клиенту уходит через IP2, на котором висит www.site.ru, а клиент получается ждет ответа с IP1, как следствие сессия рвется.
Вопрос: как организовать ответ с интерфейса IP1 при условии выполнения редиректа? IPFW? Setfib?
>[оверквотинг удален]
> Есть домен 3 уровня www.site.ru, который висит на айпи адресе второго провайдера
> (IP2).
> Нужно сделать редирект с site.ru на www.site.ru, это сделал в конфиге apache22
> без проблем.
> Возникла такая ситуация, когда приходит запрос к site.ru на IP1, корректно редиректится
> на www.site.ru, а дальше ответ к клиенту уходит через IP2, на
> котором висит www.site.ru, а клиент получается ждет ответа с IP1, как
> следствие сессия рвется.
> Вопрос: как организовать ответ с интерфейса IP1 при условии выполнения редиректа? IPFW?
> Setfib?по моему проще на первом сайте сделать страничку-заглушку которая бы редиректила посетителя на второй сайт. Или вам нужен именно ответ с первого интерфейса? "вам шашечки или ехать?" (с)
>>[оверквотинг удален]
> по моему проще на первом сайте сделать страничку-заглушку которая бы редиректила посетителя
> на второй сайт. Или вам нужен именно ответ с первого интерфейса?
> "вам шашечки или ехать?" (с)Страница-заглушка будет работать по такому же принципу, что и нынешний редирект, т.е. ответ к клиенту пойдет с IP2.
>>>[оверквотинг удален]
>> по моему проще на первом сайте сделать страничку-заглушку которая бы редиректила посетителя
>> на второй сайт. Или вам нужен именно ответ с первого интерфейса?
>> "вам шашечки или ехать?" (с)
> Страница-заглушка будет работать по такому же принципу, что и нынешний редирект, т.е.
> ответ к клиенту пойдет с IP2.Неутомимая у вас фантазия.
> Неутомимая у вас фантазия.Все правильно он написал, если прийдет не с маршрута по умолчанию то пойдет по маршруту по умолчанию. Во фре есть прекрасная опция fwd в ipfw, можно ей попробовать поработать, чуть позже у себя гляну как работает.
>> Неутомимая у вас фантазия.
> Все правильно он написал, если прийдет не с маршрута по умолчанию то
> пойдет по маршруту по умолчанию. Во фре есть прекрасная опция fwd
> в ipfw, можно ей попробовать поработать, чуть позже у себя гляну
> как работает.
>>> Неутомимая у вас фантазия.
>> Все правильно он написал, если прийдет не с маршрута по умолчанию то
>> пойдет по маршруту по умолчанию. Во фре есть прекрасная опция fwd
>> в ipfw, можно ей попробовать поработать, чуть позже у себя гляну
>> как работает.
> http://www.opennet.me/tips/info/158.shtmlСпасибо. Прописал форварды, разворачивающие исходящий трафик с порта :80 на тот интерфейс, с которого пришел запрос . Сейчас tcpdump показывает активность на нужном интерфейсе, но возникла проблема с NATом, но ее решу, надеюсь, сам. Всем спасибо за ответы!
> Спасибо. Прописал форварды, разворачивающие исходящий трафик с порта :80 на тот интерфейс,
> с которого пришел запрос . Сейчас tcpdump показывает активность на нужном
> интерфейсе, но возникла проблема с NATом, но ее решу, надеюсь, сам.
> Всем спасибо за ответы!Месье знает толк (с).
Зубы конечно можно вырвать и через задний проход. Но зачем так уродоваться когда через рот гораздо ближе?
> Месье знает толк (с).
> Зубы конечно можно вырвать и через задний проход. Но зачем так уродоваться
> когда через рот гораздо ближе?Все правильно он сделал, не понимаешь сути не неси чушь.
> Все правильно он сделал, не понимаешь сути не неси чушь.та суть то я понял, человек для решения своей проблемы пользуется стандартной архитектурой шлюза которая совсем для этого не предназначена. Именно по этому ему приходится воять такие костыли как форвард, редирект и не только в операционной системе но ещё и в апаче.
В своём самом первом посте я ответил как сделать то что нужно ТС проще всего и без изменения
конфигурации шлюза.Ну а дальше каждый сам себе злобный буратино.
Как то так.Да, кстати, из первого поста ТС я почему-то сделал вывод что у него нормально отдаются во внешний мир оба домена, по этому для меня было совсем не очевидно что человек использует default route. В свете этого открытия один из доменов, который висит не на дефолтной роуте, внешниму миру должен быть не виден, по этому мой совет со страницей-заглушкой ОШИБОЧЕН. Да я не телепат.
>> Неутомимая у вас фантазия.
> Все правильно он написал, если прийдет не с маршрута по умолчанию то
> пойдет по маршруту по умолчанию. Во фре есть прекрасная опция fwd
> в ipfw, можно ей попробовать поработать, чуть позже у себя гляну
> как работает.ух ты! А говорят что на сайте не осталось телепатов :-)
Ну мне как-то в голову не пришло что системный администратор в данной конкретной конфигурации
(описанной в самом первом посте)использует default route. Я бы на его месте этого не делал, а прописал бы статическую роуту для конкретной внутренней сети.
Что-то типа route add -net 192.168.0.1/24 <Ip интерфейса на одного из провайдеров>
и тогда не пришлось бы извращаться с форвардами.
> ух ты! А говорят что на сайте не осталось телепатов :-)
> Ну мне как-то в голову не пришло что системный администратор в данной
> конкретной конфигурации
> (описанной в самом первом посте)использует default route. Я бы на его месте
> этого не делал, а прописал бы статическую роуту для конкретной внутренней
> сети.
> Что-то типа route add -net 192.168.0.1/24 <Ip интерфейса на одного из провайдеров>
> и тогда не пришлось бы извращаться с форвардами.Зачем писать чушь. Пропиши и проверь. Тут телепатом быть не нужно что бы понять в чем проблема была.
> Возникла такая ситуация, когда приходит запрос к site.ru на IP1, корректно редиректится
> на www.site.ru, а дальше ответ к клиенту уходит через IP2, на
> котором висит www.site.ru, а клиент получается ждет ответа с IP1, как
> следствие сессия рвется.Так "корректно редиректится" или "сессия рвется"?
> Вопрос: как организовать ответ с интерфейса IP1 при условии выполнения редиректа? IPFW?
> Setfib?Вы полностью смешали в одну кучу HTTP и TCP.
Если у www.site.ru и site.ru разные IP-адреса, то должно быть два TCP соединения.
Вам все правильно сказали.
Еще вариант: перенастроить DNS,apache и сделать www.site.ru синонимом site.ru,
тогда IP1 не нужен, его можно использовать как резерв, балансировку ... .