Jump to content
Калькуляторы

PBR по мак-адресу надо как-то сделать

Есть компьютеры А и Б.

На обоих компьютерах по две сетевых карты: А1, А2 и Б1, Б2. Одной картой каждый компьютер смотрит в общий медленный свич 100Mbps (А1, Б1), вторые карты 1Gbps соединены кроссом (А2, Б2).

Адрес медленной подсети 10.1.8.0/21, адрес подсети кросса - 192.168.10.0/24.

ИП-адреса компьютеров: А1 - 10.1.8.27/21, А2 - 192.168.10.2/24, Б1 - 10.1.8.20/21, Б2 - 192.168.10.1/24.

На компьютере А стоит proxmox ve (debian), там запущен KVM где крутятся виртуальные винды. Винды соединены с дебианом бриджами на интерфейс А1 и получают ип-адреса из медленной подсети от DHCP-сервера. Виртуальным машинам руками задаются мак-адреса. Эмпирическим путём установлено, что ип-адреса для виртуальных машин DHCP-сервер выдаёт из диапазона 10.1.13.0/24.

На компьютере Б стоит Solaris 11 Express, работает файлопомойкой.

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

Задача - научить общаться виртуальные машины и файлопомойку через быстрый кросс.

Для этого надо сообщить компьютерам А и Б нужные маршруты.

Если в сторону файлопомойки к таблице маршрутизации компьютера А достаточно добавить всего один статичный маршрут с меньшей, чем дефолтная метрикой, то как задать маршруты в обратную сторону - от компьютера Б к виртуальным машинам я не знаю, ибо у виртуальных машин ип-адреса - динамические.

Возможно ли, например, перед отправлением пакета адресату, находящемуся в той же подсети, проверять мак-адрес назначения, и если этот адрес в списке адресов виртуальных машин - слать пакет через кросс?

 

Крайний вариант - выдать виртуальным машинам статик-адреса и добавлять статичный маршрут в компьютер Б до каждой виртуальной машины.

Ещё вариант - выдать А2 и Б2 адреса из 10.1.8.0/21, но что дебиан, что солярка крайне толково прописывают дефолтные маршруты, придётся их учить задавать маршрут на определённом интерфейсе не для всей подсети, а для конкретного ип-адреса, чего я тоже пока не умею и хочу оставить как другой крайний вариант.

Share this post


Link to post
Share on other sites

Попробую предложить еще вариант, который вы не перечислили:

Запускать виртуальные машины с двумя сетевыми картами. Первую карту каждой ВМ бриджуете в A1 вторую в А2.

 

А по тем способам решения вопроса, которые вы описали:

- Завернуть трафик от ВМ в сторону Б можно попробовать, например, с помощью iptables по dst-ip

- Завернуть трафик от Б в сторону А можно статическим маршрутом на подсеть, из которой ВМ получают адреса.

 

Чтобы не применять "эмпирические" способы определения, откуда берутся ip адреса, проще и правильнее использовать статические.

Edited by spy

Share this post


Link to post
Share on other sites
Попробую предложить еще вариант, который вы не перечислили:

Запускать виртуальные машины с двумя сетевыми картами. Первую карту каждой ВМ бриджуете в A1 вторую в А2.

дело в том, что файлопомойка резолвится из ДНС-сервера как 10.1.8.20, т.е. надо будет править локальные hosts у каждой ВМ где сообщить им, что Б имеет адрес 192.168.10.1

в общем-то тоже вариант, его даже проще реализовать - забить в шаблон ВМ в hosts нужную строчку

спасибо :)

 

А по тем способам решения вопроса, которые вы описали:

- Завернуть трафик от ВМ в сторону Б можно попробовать, например, с помощью iptables по dst-ip

на этом конце у меня солярка, там нету iptables, да и если будут статические адреса - можно будет просто добить маршруты к ним через Б2, я так думаю

 

- Завернуть трафик от Б в сторону А можно статическим маршрутом на подсеть, из которой ВМ получают адреса.
наверное я не понял, что вы хотели сказать, мне надо, чтобы Б и А общались через кросс

 

Чтобы не применять "эмпирические" способы определения, откуда берутся ip адреса, проще и правильнее использовать статические.
забыл уточнить, что DHCP-сервер мне неподвластен :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this