Перейти к содержимому
Калькуляторы

proxy_arp linux - странно, но не работает

Не работает прокси_арп.

 

Включаю на бридже, в бридже много влановю, вижу запросу но серв молчит.

00:29:46.133195 00:1d:60:21:91:a1 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: arp who-has 178.0.0.29 tell 178.0.0.67

 

Что то не могу сообразить, вроде ж тут вариант всего один - включить или выключить ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

если в бридже много вланов вида brX.Y и нужно прокинуть траф между ними - включайте на вланах

если же у вас в один brX собираются разные вланы - зачем бриджу proxy arp?

Изменено пользователем Alex/AT

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Коллеги, давайте отвлечемся от вопроса "зачем" и вернемся к вопросу КАК.

 

Я попробовал просто на одном влане - и тоже не работает как ожидал.

 

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

 

PS

Пробую сгородить SuperVlan.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ядро должно быть >=2.6.34, фича называется proxy_arp_pvlan

 

Basically allow proxy arp replies back to the same interface

(from which the ARP request/solicitation was received).

 

This is done to support (ethernet) switch features, like RFC

3069, where the individual ports are NOT allowed to

communicate with each other, but they are allowed to talk to

the upstream router.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

s.lobanov

Спасибо за подсказку, погуглю. Ядро у меня старее, обновлю.

 

 

Но я хочу заставить роутер отвечать на ВСЕ арп-запросы на своем интерфейсе, разве это не "просто" прокси-арп?

Или проксировать можно только МЕЖДУ интерфейсами?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это очень тонкий вопрос терминологии. У разных вендоров и на разных железках команда proxy-arp(или подобная) может означать различные манипуляции с арпом. То, что Вам нужно в линуксе называется proxy_arp_pvlan.

 

Обычный proxy_arp в линуксе это спуфинг арпа между L3, например

eth0.2 10.0.0.1/24

eth0.3 10.0.0.13/30

 

когда 10.0.0.2 запрашивает who-has 10.0.0.14 во 2ом влане, то при включенном proxy_arp ему отправиться arp-reply, при выключенном же, связности между 10.0.0.2 и 10.0.0.14 не будет.

 

Вообще arp это весёлая тема, но обсуждать мелкие нюансы конкретных вендоров, думаю, мало кому интересно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

s.lobanov

Спасибо за подсказку, погуглю. Ядро у меня старее, обновлю.

 

 

Но я хочу заставить роутер отвечать на ВСЕ арп-запросы на своем интерфейсе, разве это не "просто" прокси-арп?

Или проксировать можно только МЕЖДУ интерфейсами?

 

То что вы хотите иногда называют local proxy arp,

когда рутер отвечает своим MAC на ARP запрос в тоже самый сегмент откуда этот запрос пришел, поэтому и local.

Должно работать вместе с private vlan или иной технологией

ограничивающей обмен между абонентскими портами/vlan похожим образом.

 

На Linux можно сделать с помощю ebtables, видел гдето примеры здесь или на сайте ebtables.

Изменено пользователем packetizer

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sirmax

Получилось сделать через proxy_arp_pvlan или всё-таки остановились на костылях через ebtables?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sirmax

Получилось сделать через proxy_arp_pvlan или всё-таки остановились на костылях через ebtables?

 

Да.

На новых ядрах работают оба решения.

Но у меня старое и обновлять его я не могу (что бы не сломать то что уже работает)

Потому остановился на варинте с ebtables.

 

НО в ядре 2.6.23 (то что на роутере у меня) - не работает конструкция "! --arp-gratuitous" (пока нашел испортил кучу нервов)

Пришлось явно прописать для всех (67 - пример)

ebtables -t nat -A spoof_ir_nets_SVL0 -p arp --arp-ptype IPv4 --arp-ip-dst 192.255.255.67 --arp-ip-src 192.255.255.67 -j ACCEPT

 

В остальном - работает как ожидалось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sirmax

Получилось сделать через proxy_arp_pvlan или всё-таки остановились на костылях через ebtables?

 

ebtables костыли уже :(

 

я тут только собрался на него перетащить пару шлюзов, на чем L2 фаервол сейчас удобно и производительно сделать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sirmax

Получилось сделать через proxy_arp_pvlan или всё-таки остановились на костылях через ebtables?

 

ebtables костыли уже :(

 

я тут только собрался на него перетащить пару шлюзов, на чем L2 фаервол сейчас удобно и производительно сделать ?

 

L2 фаервол надо делать на L2+ - оборудовании, сейчас и недорогих полно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sirmax

Получилось сделать через proxy_arp_pvlan или всё-таки остановились на костылях через ebtables?

 

ebtables костыли уже :(

 

я тут только собрался на него перетащить пару шлюзов, на чем L2 фаервол сейчас удобно и производительно сделать ?

 

а чем ebtables плох то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас