Хай Олл!
Воопщем дело плохо ... а проблема такова :
Есть 2 инет-канала ... 1-ый обычный (интерфейс ed0 c инетовским IP например 99.99.99.99) и второй не совсем обычный: канал от прова входит в D-Link VPN Router(тоесть этот айпишник принадлежит длинке, пускай будет 101.101.101.101), а далее в нее свич и все машины офиса... соответственно и мой сервер тоже .... Внутри ДЛинка имеет адрес 192.168.0.1 , мой FreeBSD-сервер имеет внутренний адрес 192.168.0.3 на ифейсе fxp0....
На длинке стоит перенаправление всех СМТП подключений на FreeBSD-сервер(192.168.0.3)
ситуация: Приходит пакет СМТП-шный из инета на D-Link(101.101.101.101:25) ... перенапрявляется пакет на FreeBSD-сервер(192.168.0.3:25) ... сервер смотрит что пришел запрос с инетовского IP и отправляет через ed0 и свой дефаулт роутер(99.99.99.1) ответ на этот пакет ... а нужно что бы ответ отправил назад через fxp0 на D-Link(101.101.101.101) и назад клиенту.... Вот и вопрос... КАК?
Поменять маршрут по-умолчанию
defaultrouter=IP_dlink_внтуреннийЕсли тебе нужно только пакеты с 25 порта отправлять на dlink, тогда используй форвард примерно так
ipfw add fwd IP_dlink_внтуренний tcp 99.99.99.99 25 from to any
>Поменять маршрут по-умолчанию
>defaultrouter=IP_dlink_внтуренний
Тогда весь трафик перенаправится на канал что за длинкой, а этого как раз и не надо ... Проблема то в том, что мне нужно что бы дефаултроут был на _НЕ_ДЛИНКЕ_ ... мне надо что бы просто запросы на IP длинковое тоже обрабатывались, тоесть что бы туже самую почту которая пришла на длинкоский канал обрабатывал тот же FreeBSD сервер>Если тебе нужно только пакеты с 25 порта отправлять на dlink, тогда
>используй форвард примерно так
>ipfw add fwd IP_dlink_внтуренний tcp 99.99.99.99 25 from to anyДа ... но как тогда мыло которое приходить с первого провайдера ?
прикольно ...
>>Поменять маршрут по-умолчанию
>>defaultrouter=IP_dlink_внтуренний
>Тогда весь трафик перенаправится на канал что за длинкой, а этого как
>раз и не надо ... Проблема то в том, что мне
>нужно что бы дефаултроут был на _НЕ_ДЛИНКЕ_ ... мне надо что
>бы просто запросы на IP длинковое тоже обрабатывались, тоесть что бы
>туже самую почту которая пришла на длинкоский канал обрабатывал тот же
>FreeBSD сервер
>
>>Если тебе нужно только пакеты с 25 порта отправлять на dlink, тогда
>>используй форвард примерно так
>>ipfw add fwd IP_dlink_внтуренний tcp 99.99.99.99 25 from to any
>
>Да ... но как тогда мыло которое приходить с первого провайдера ?
>
>прикольно ...
Как у тебя почта может приходить с двух провайдеров?
У тебя что у одного почтового хоста два ip из разных сетей?
Или у тебя на сервере два домена?
>Как у тебя почта может приходить с двух провайдеров?
>У тебя что у одного почтового хоста два ip из разных сетей?
>
>Или у тебя на сервере два домена?У меня около 10-ти доменов
Перевешивать из все с одного IP на другой не прикольноСоответственно у каждого свой МХ...а обслуживать должен только один сервер...
>... а нужно что бы ответ отправил назад через fxp0 на
>D-Link(101.101.101.101) и назад клиенту.... Вот и вопрос... КАК?Если это возможно, настрой на DLink'е NAT на адреса внутренней сети.
>>... а нужно что бы ответ отправил назад через fxp0 на
>>D-Link(101.101.101.101) и назад клиенту.... Вот и вопрос... КАК?
>
>Если это возможно, настрой на DLink'е NAT на адреса внутренней сети.А если невозможно ?
Как мне узнать что пакет прищол именно c DLink'а? И что такой то пакет нада туде же и отправить ?(тоесть для конкретніх случаев не использовать дефаултроутер)
Фразами в духе "настрой динамичеаский роутинг" не кидаться... что-то конкретное
>>Если это возможно, настрой на DLink'е NAT на адреса внутренней сети.
>А если невозможно ?
>Как мне узнать что пакет прищол именно c DLink'а? И что такой
>то пакет нада туде же и отправить ?(тоесть для конкретніх случаев
>не использовать дефаултроутер)Зачем вам знать от куда пришёл какой-то пакет? Вы что нанялись работать IP стеком? :)
Работает так:
Поступает соединение на SMTP через DLink, он транслирует адрес источника этого соединения в 192.168.0.1. Ваш сервер думает что это DLink к нему коннектится, соответсвенно работать он будет уже с ним, а не через default route.
Может я немного не въехал, но опишу то, что было у меня.
При переходе от одного прова к другому тачка некоторое время стояла с двумя dsl подключениями от разных провов. Так вот устанавливая def.router на первого провайдера, я не мог снаружи пинговать (и вообще взаимодействовать) с ip сервака, смотрящего в сторону второго провайдера. И это логично, т.к. сервак отправлял ответы через def.router, а не через тот интерфейс, откуда пришел запрос. Ну и соответственно наоборот - def.router на вторго прова - не могу взаимодействовать через ip первого. Решил проблему так - def.router на первого провайдера, а в ipfw строку (уже, кстати, приводилась тут повыше)
ipfw add fwd def_gateway_2_прова ip from ip_адрес_тачки_смотрящий_на_2_прова to any. Вот. Работала и почта и все. Сори, если недопонял и дал глупый совет ;)
>>>Если это возможно, настрой на DLink'е NAT на адреса внутренней сети.
>>А если невозможно ?
>>Как мне узнать что пакет прищол именно c DLink'а? И что такой
>>то пакет нада туде же и отправить ?(тоесть для конкретніх случаев
>>не использовать дефаултроутер)
>
>Зачем вам знать от куда пришёл какой-то пакет? Вы что нанялись работать
>IP стеком? :)
>Работает так:
>Поступает соединение на SMTP через DLink, он транслирует адрес источника этого соединения
>в 192.168.0.1. Ваш сервер думает что это DLink к нему коннектится,
>соответсвенно работать он будет уже с ним, а не через default
>route.Проблема в том что он не представляется как 192.168.0.1 .... он просто сквозь себя пропускает на сервер все пакети ... и проблем нету когда он же деффаулт роутер ....
>Проблема в том что он не представляется как 192.168.0.1 .... он просто
>сквозь себя пропускает на сервер все пакети ... и проблем нету
>когда он же деффаулт роутер ....А как вы думаете, для чего я посоветовал использовать NAT?
butcher прикольное решение дает, воспользуйся, сделать нат наоборот