LinuxForum.Fans
Тема

linux proxy_arp_pvlan маршрутизация устройство в режиме роутера

Автор: tnega 1 сообщений 951 просмотров
26.08.2018 22:57 · отредактировано #429533

Всем привет.

Столкнулся со следующей проблемой, может кто подскажет куда ковырять.

Есть сегмент сети, один VLAN, на всех коммутаторах включена изоляция портов, клиенты видят только аплинк (линукс маршрутизатор).
Хотим иногда в своих целях открывать доступ между клиентами функцией - echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp_pvlan , при этом трафик гоняется через маршрутизатор а не напрямую.

Клиенты:
Устройства Микротик и Юбикьюти, некоторые устройства настроены в режиме Бриджа, некоторые в режиме роутера.
Шлюз по умолчанию у всех один и тот же.

Собственно проблема:
Доступ на устройства работающими в режиме бриджа - появляется.
Те, что работают в режиме роутера - по прежнему не видны.

(правил запрещающих попадание извне нет на этих проблемных устройствах, если снять физически изоляцию портов на коммутаторах - естественно доступ есть)

Где-то как мы понимаем проблема программная или что-то где-то нужно прописать! :-)

Прошу о помощи!
Добавлено: 26.08.2018 22:39:40

Всем спасибо!
Разобрался сам! :-) не думал, что так быстро.

Оказалось:
Те устройства которые работали в режиме бриджа - абоненты получали ип адреса средствами PPPoE сервера.

А те, что были настроены в режиме роутера - тут работала маршрутизация с виртуального интерфейса.

То есть, мы поднимали интерфейс с IP адресом, и маршрутизировали трафик на устройство работавшее в режиме роутера, правилами в itables, ip rule и ip route.

Как только удаляли правило из ip rule - все приходит в норму, связь появляется.

Добавлено: 26.08.2018 22:57:08

Но, теперь другие мысли, проблему нашли, но как все же реализовать задуманное :-)
если мы удалим правило IP RULE - то данный абонент слетает со своего внешнего ип адреса и попадает на ип адрес по умолчанию.

Хорошо бы конечно, все это переделать, перенастроить всех в бриджи и выдать каждому логин и пароль от PPPoE, но много работы, абонентов не мало :-)
А так, привыкли по старинке.
Куда-то надо копать в сторону маршрутизации наверное! но куда? может кто уловил мысль и схему работы нашей сети.

Как мы выдаём IP адреса на данные устройства работающие уже в режиме роутера:

eth0 - интерфейс вышестоящего провайдера, выдающий нам пул ип адресов
eth1 - наша локалка

ip link add link eth0 name ip1 address 00:00:00:00:00:01 type macvlan - поднимаем виртуальный интерфейс
ifconfig ip1 1.1.62.1/24 - устанавливаем ему ип адрес
ip route add default via 1.1.62.254 dev ip1 table ip1 - устанавливаем маршрут по умолчанию для данного интерфейса, в заранее подготовленную новую таблицу. 1.1.62.254 - это шлюз вышестоящего.

и

ip rule add from 10.10.1.1/32 table ip1 - и создаем правило для добавления локального адреса (10.10.1.1 - устройство настроенное в режиме роутера)

iptables (абонентское):

iptables -I FORWARD 1 -s 10.10.1.1 -j ACCEPT
iptables -t nat -A POSTROUTING -o ip1 -s 10.10.1.1/16 -j SNAT --to-source 1.1.62.1

Войдите или зарегистрируйтесь, чтобы ответить.