понедельник, 22 ноября 2010 г.

особенности fwd в ipfw

Правило форварда на другой хост часто используются для создания policy based routing и имеют вид

fwd 1.1.1.1 all from 1.1.1.2 to any via net0
Где
1.1.1.2 адрес который нужно перенаправлять (например изменить роут по умолчанию)
1.1.1.1 - Адрес шлюза, через который он должен уходить.

Вроде бы все легко и просто...
Форвард заключается в том что в пакете который попадает под правило форвардинга модифицируется только мак адрес назначения.

Есть пара "Но":
1. Перенаправлять нужно в одном бродкастовом сегменте т.е сервер должен иметь в своей arp таблице mac ip адреса, на который идет перенаправление (в моем примере 1.1.1.1).
Если система не найдет MAC адрес, то пакет уйдет по дефолту.

2. Если дефолт адрес и адрес на который будет выполняться форвардинг имеют одинаковый MAC адресс, то пакет будет отправляться по дефолту.
Примечание: Ситуация с одинаковыми Mac адресами возможна например если на шлюзе подняты вланы на одной сетевой. При этом на один влан дефолтовый роут, а на второй нужно форвардить какой-то трафик (бывают и такие извращения).

3 комментария:

  1. Нашел данную заметку, если возможно, касательно п.2. как выйти из положения? 2 интерфейса, 2 разных мака, 2 разных ip, но шлюз 1. опцией fwd необходимо отправлять в зависимости от условий с разных ip. PBR действует ровно так как написано в вашей заметке.

    ОтветитьУдалить
  2. страница мертвая?

    ОтветитьУдалить
  3. Рад бы помочь, но к сожалению ipfw использовал активно лет 10 назад.

    ОтветитьУдалить