Назад | Перейти на главную страницу

написание правила iptables, которое пересылает пакеты OSPF с одного интерфейса на другой

В данной машине у меня есть два интерфейса eth0 и eth1. Маршрутизаторы Cisco подключены к обоим интерфейсам, eth0 и eth1, и я хочу, чтобы пакеты OSPF, поступающие на eth0, пересылались на eth1 и наоборот (см. Изображение ниже).

Я пробовал вводить следующие команды:

iptables -A FORWARD -i eth1 -o eth0
iptables -A FORWARD -i eth0 -o eth1

Но это не сработало. Более того, я хочу, чтобы это правило пересылки применялось только к пакетам OSPF, фильтруя пакеты по адресу источника и получателя и, возможно, даже по протоколу, если это возможно. Пакеты OSPF оказались

IP 100.1.3.2 > 224.0.0.5: OSPFv2

с одного направления, и

IP 100.1.3.1 > 224.0.0.5: OSPFv2

от другого.

[В вашем вопросе мне непонятно, действует ли Linux-бокс как мост / уровень 2 или как устройство уровня 3, поэтому я предполагаю, что позже.]

Пакеты приветствия OSPF, настроенные для широковещательной сети с множественным доступом (например, Ethernet) в дополнение к отправке на IP-адрес многоадресной рассылки 224.0.0.5, также отправляются на многоадресную рассылку. слой 2 MAC-адрес Ethernet 01: 00: 5e: 00: 00: 05. Таким образом, если ваш Linux-сервер не настроен для моста eth1 и eth0, пакеты приветствия OSPF не будут проходить через ваш брандмауэр, и смежности между соседями OSPF не будут созданы.

Тогда у вас есть другая проблема, заключающаяся в том, что TTL для пакета приветствия OSPF равен 1, поэтому он не может пересекать границы уровня 3 без истечения срока действия при передаче.

Если вы действительно, действительно хотите это сделать, вам нужно изучить некоторые другие альтернативы, такие как создание туннеля GRE (туннель IPSec также подойдет) между маршрутизаторами A и B и настроить OSPF для соединения точка-точка. через этот туннель, а затем, конечно, разрешите через брандмауэр трафик для протокола, который вы используете для туннеля (например, 47 для GRE).

Чтобы получить хорошее представление о том, как настроить OSPF через туннель GRE, посмотрите: Настройка туннеля GRE через IPsec с OSPF (не обращайте внимания на часть IPSec, если хотите)