Маршрутизация во FreeBSD в обход дефолтового гейтвея

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
Olaf
member
Сообщения: 22
Зарегистрирован: 08 дек 2006, 16:47
Откуда: Астрахань
Контактная информация:

Маршрутизация во FreeBSD в обход дефолтового гейтвея

Сообщение Olaf » 13 дек 2006, 11:43

Привет всем!
Подскажите, plz, как решить следующую проблему.
Есть сервер под фрёй. На нём имеется сетевой интерфейс с внутренним ip 192.168.0.30 и с 4 алиасами из реальных ip. Есть у сервера дефолтный гейтвей. Как мне сделать там, чтоб при запросе на один из этих алиасов, ответные пакеты уходили не через дефолт гейтвей, а через альтернативный, который я ему укажу??
Пробовал вот так:
ipfw add fwd a.b.c.d ip from a.b.c.0/24 to any
a.b.c.d - альтернативный шлюз
a.b.c.0/24 - сеть. Туда входит и шлюз и алиас.
не помогло. :(
Где грабли? У кого какие будут предположения? Заранее всем спасибо!

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: Маршрутизация во FreeBSD в обход дефолтового гейтвея

Сообщение Stranger03 » 13 дек 2006, 13:29

Есть такая команда route

Olaf
member
Сообщения: 22
Зарегистрирован: 08 дек 2006, 16:47
Откуда: Астрахань
Контактная информация:

Re: Маршрутизация во FreeBSD в обход дефолтового гейтвея

Сообщение Olaf » 13 дек 2006, 13:42

Stranger03 писал(а):Есть такая команда route
да я в курсе... проблема в том, что со всех остальных алиасов ответы должны уходить по дефолтному маршруту и только при обращении на один из них, ответы должны уходить через альтернативный.
Если это можно решить с помощью команды route - с удовольствием посмотрю на пример.
Исходные данные:
192.168.0.3 - локальный ip
213.1.1.1 - 1 алиас
213.1.1.2 - альтернативный шлюз, через который должны уходить ответы с 213.1.1.1
214.1.1.1 - 2 алиас

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: Маршрутизация во FreeBSD в обход дефолтового гейтвея

Сообщение Stranger03 » 13 дек 2006, 14:06

Понятно, посмотрите вот на эту шуковину. С ее помощью я делал резервные каналы.
http://www.zebra.org/

Olaf
member
Сообщения: 22
Зарегистрирован: 08 дек 2006, 16:47
Откуда: Астрахань
Контактная информация:

Re: Маршрутизация во FreeBSD в обход дефолтового гейтвея

Сообщение Olaf » 13 дек 2006, 14:32

Stranger03 писал(а):Понятно, посмотрите вот на эту шуковину. С ее помощью я делал резервные каналы.
http://www.zebra.org/
Ок, спасибо за совет! Обращу внимание. Может это поможет развязать этот гордиев узел.  :) А с помощью конструкции ipfw fwd никак?

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: Маршрутизация во FreeBSD в обход дефолтового гейтвея

Сообщение Stranger03 » 14 дек 2006, 12:18

Olaf писал(а):А с помощью конструкции ipfw fwd никак?
Можно попробовать как-то так:
ipfw add fwd a.b.c.d ip from a.b.c.0/24 to any via eth1_alias0
То есть смотреть и перенаправлять трафик по определенному интерфейсу.

Andrey N. Oktyabrski
Advanced member
Сообщения: 229
Зарегистрирован: 25 окт 2005, 09:30
Откуда: Краснодар

Сообщение Andrey N. Oktyabrski » 14 дек 2006, 14:13

Быть может, это пригодится?
http://www.openbsd.ru/files/etc/pf-dual.conf

Но это для pf. Для ipfw не могу сказать, давно не пользовался.

Olaf
member
Сообщения: 22
Зарегистрирован: 08 дек 2006, 16:47
Откуда: Астрахань
Контактная информация:

Сообщение Olaf » 14 дек 2006, 15:12

Ура! Всё наконец-то заработало! Огромный респект и уважуха valik'у, который мне помог решить эту проблему!
Если кому интересно:
в /etc/rc.firewall надо было добавить:

${fwcmd} add fwd 213.1.1.2 ip from 213.1.1.1 to any

в /etc/rc.conf прописать:
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_type="MY"

Ещё я перекомпилил ядро, добавив туда опцию IPFIREWALL_DEFAULT_TO_ACCEPT, так как файрволить на этом сервере ничего не надо и чтоб не заморачиваться с остальными правилами.

Ну и, собственно:
sh /etc/rc.firewall
Ура, ответы на запросы приходящие на другие алиасы уходят через дефолтовый шлюз, ответы на запросы же, приходящие на 213.1.1.1 уходят через 213.1.1.2

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей