URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 78491
[ Назад ]

Исходное сообщение
"Маршрутизация во FreeBSD - 2 сетевые"

Отправлено Alex , 30-Янв-08 16:53 
Ситуация: есть ЛВС, в ней почтовый сервер(m1) с 2-мя сетевыми картами. сеть через роутер подключена к другой сети, в которой тоже есть почтовый сервер (m2)тоже с 2мя картами, 1 из которых смотрит в инет, другая вовнутрь.

как настроен роутер рассказать не могу, но факт в том что для того чтобы m1 видел интернет - на одной из карт должен быть жестко заданный адрес, вторая карта (с любым адресом из этой же подсети) нужна для связи с сервером m2 -так сказать напрямую, только через роутер. как работает m2 - не интересно, там ничего не изменить, главное что если для домена, обслуживаемого сервером m1 приходит почта, то m2 шлет её напрямую на m1. Таблица маршрутов для m1 выглядит так:

0.0.0.0   0.0.0.0              10.10.2.1     10.10.2.7
10.1.2.1  255.255.255.255      10.10.2.5     10.10.2.5
10.10.2.0 255.255.255.0        10.10.2.5     10.10.2.5
10.10.2.0 255.255.255.0        10.10.2.7     10.10.2.7....

у всех маршрутов метрика=1

итак, 10.10.2.1 - роутер
10.1.2.1 - почтовый m2
10.10.2.7 - if1 почтового m1 <-NAT-> внешний адрес
10.10.2.5 - if2 почтового m1

m2 трогать нельзя

т.е. во внешний мир пакеты идут через if1, а обмен именно с сервером m2 происходит через if2. это все РАБОТАЕТ(!) но на WinNT4

возникла необходимость поднять m1 на FreeBSD
далее начались проблемы.
в rc.conf разрешаю маршрутизацию, приписываю строки для интерфейсов
ifconfig_em0="inet 10.10.2.5 netmask 255.255.255.0"
ifconfig_em1="inet 10.10.2.7 netmask 255.255.255.0"
маршрут по умолчанию не прописываю в rc.conf, т.к. дальше начинаются эксперименты

добавляю route add -host 10.1.2.1/32 (это адрес m2) 10.10.2.1 (роутер)
пингует, нормально..
добавляю route add -net 0.0.0.0/0 10.10.2.1 10.10.2.7
интернета нет

в rc.conf меняю местами адреса для em0,em1
добавляю route add -net 0.0.0.0/0 10.10.2.1
интернет есть
но при попытке пингования сервера m2 (10.1.2.1) отвечает не внутренний адрес а внешний,инетовский, что в общем-то объяснимо,но ТАК сервера дружить не будут, ошибка сокета и пр. баги вылазят, т.е. мне нужен именно ответ от внутреннего ip m2.
пишу маршрут - route add -host 10.1.2.1/32 10.10.2.5 - не работает.

ВОПРОС: как правильно настроить em0 и em1 и как прописать маршруты чтобы для 10.10.2.7 работал маршрут на 0.0.0.0, а для 10.10.2.5 маршрут до 10.1.2.1. (т.е. повторить что и в NT4)?


Содержание

Сообщения в этом обсуждении
"Маршрутизация во FreeBSD - 2 сетевые"
Отправлено INM , 30-Янв-08 17:25 
Лень вникать в то что вы понаписали....

1. Советую прочитать хэндбук на тему настройки сети(думаю сами найдете где читать).
2. man route (читать до полного понимания)
3. Ну и просто на тему маршрутизации что нибудь (не бестселлер от МС), здесь на сайте очень много такой информации.

После выполнения всех трех пунктов случиться "чудо".....)
Удачи!


"Маршрутизация во FreeBSD - 2 сетевые"
Отправлено Alex , 30-Янв-08 23:24 
>Лень вникать в то что вы понаписали....
>

2INM - не вникайте, я не просил ссылку на ликбез



"Маршрутизация во FreeBSD - 2 сетевые"
Отправлено INM , 31-Янв-08 13:42 
>>Лень вникать в то что вы понаписали....
>>
>
>2INM - не вникайте, я не просил ссылку на ликбез

И все таки поподробнее и внимательнее прочтите man route, думаю это как раз вас случай.


"Маршрутизация во FreeBSD - 2 сетевые"
Отправлено Alex , 31-Янв-08 15:56 
>>>Лень вникать в то что вы понаписали....
>>>
>>
>>2INM - не вникайте, я не просил ссылку на ликбез
>
>И все таки поподробнее и внимательнее прочтите man route, думаю это как
>раз вас случай.

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


"Маршрутизация во FreeBSD - 2 сетевые"
Отправлено INM , 31-Янв-08 16:16 
>[оверквотинг удален]
>>>
>>>2INM - не вникайте, я не просил ссылку на ликбез
>>
>>И все таки поподробнее и внимательнее прочтите man route, думаю это как
>>раз вас случай.
>
>думаю что там не только мой случай ) ну почему бы просто
>не озвучить мол "так сделать нельзя", хотя раз в винде работает
>то и тут должно как-то. чтение man не помогает выявить чего
>я делаю не так

Работать можно заставить практически все, просто большинство людей сталкивающихся с маршрутизацией в FreeBSD упускают некоторые вещи в команде route(она несколько отличается от аналогов в других системах).
Небольшая выдержка из man:

route [-dnqtv] command [[modifiers] args]

Это первая строка в мане, большинство упускают из вида modifiers.

Выдержка, далее по тексту, про эти "модификаторы".

     -cloning   RTF_CLONING    - generates a new route on use
     -xresolve  RTF_XRESOLVE   - emit mesg on use (for external lookup)
     -iface    ~RTF_GATEWAY    - destination is directly reachable
     -static    RTF_STATIC     - manually added route
     -nostatic ~RTF_STATIC     - pretend route added by kernel or daemon
     -reject    RTF_REJECT     - emit an ICMP unreachable when matched
     -blackhole RTF_BLACKHOLE  - silently discard pkts (during updates)
     -proto1    RTF_PROTO1     - set protocol specific routing flag #1
     -proto2    RTF_PROTO2     - set protocol specific routing flag #2
     -llinfo    RTF_LLINFO     - validly translates proto addr to link addr

Допустим, с помощью модификатора iface можно указать интерфейс для которого будет действовать маршрут(я в свое время долго с этим мучился...)

Остальные опциональные параметры тоже не просто так....

P.S. Не хотел вас обидеть(в первом посте). Еще раз удачи.


"Маршрутизация во FreeBSD - 2 сетевые"
Отправлено INM , 31-Янв-08 16:32 
Доп. ссылочка
http://www.opennet.me/openforum/vsluhforumID1/59035.html

"Маршрутизация во FreeBSD - 2 сетевые"
Отправлено Alex , 01-Фев-08 08:56 
>Доп. ссылочка
>http://www.opennet.me/openforum/vsluhforumID1/59035.html

вот теперь спасибо, о результате доложусь чуть позже


"Маршрутизация во FreeBSD - 2 сетевые"
Отправлено Alex , 01-Фев-08 09:22 
>>Доп. ссылочка
>>http://www.opennet.me/openforum/vsluhforumID1/59035.html
>

2INM, респект тебе и всяческая уважуха

route add default 10.10.2.1 (идет через тот if который первый, 10.10.2.7 в моем случае)
route add -host 10.1.2.1/32 10.10.2.5 -iface 10.10.2.1

10.1.2.1 - куда мне надо
10.10.2.5 - откуда мне надо
10.1.2.1 - через что мне надо



"Маршрутизация во FreeBSD - 2 сетевые"
Отправлено anonymous , 30-Янв-08 19:23 
>Ситуация: есть ЛВС, в ней почтовый сервер(m1) с 2-мя сетевыми картами. <...>
> вторая карта (с любым адресом из этой же подсети) нужна для связи с сервером m2 -так сказать напрямую.

Это очень странная конфигурация.  Два интерфейса адресами из одной подсети включены в один и тот же сегмент?


"Маршрутизация во FreeBSD - 2 сетевые"
Отправлено Alex , 30-Янв-08 23:32 

>Это очень странная конфигурация.  Два интерфейса адресами из одной подсети включены
>в один и тот же сегмент?

2anonymous
к сожалению да,обе, сеть довольно большая (за роутером), поэтому сейчас никто ничего менять уже не будет (в плане адресации), всем чем я могу рулить - настраиывать маршруты со своей стороны. Есть еще вариант изменить адреса своей сети, чтобы ip m1 лежали в разных сетях, но к этому варианту не хотелось бы прибегать, с моей стороны тоже сетка приличная.