LINUX.ORG.RU
ФорумAdmin

Proxy ARP или маршрутизация?

 , , ,


0

2

Всех приветствую. Имеем следующее

Хост А

  • туннель gre1 172.20.128.1/30
  • бридж vmbr0 11.11.11.1/26
  • бридж vmbr1 172.21.1.0/24
  • dummy0 172.20.252.1/32

Хост Б

  • туннель gre1 172.20.128.2/30
  • бридж vmbr0 22.22.22.2/24
  • бридж vmbr1 172.21.2.0/24
  • dummy0 172.20.252.2/32

Связь между ними через туннель gre1, маршрутизация с использованием OSPF все интерфейсы пингуются в обе стороны. Общая сеть которая покрывает весь диапазон 172.20.0.0/15. Хостов будет больше поэтому общая сеть выделенная под бриджи vmbr1 172.21.0.0/16 и на каждом хосте от нее берется /24 подсеть. Бридж vmbr0 «смотрит» в интернет и через него ВМ могут получать публичные IP. В бридже vmbr1 «живут» виртуалки, которым нужно «видеть» соседние ВМ и ВМ на другом хосте. Адреса на vmbr1 раздаются по DHCP и регистрируются в DNS.

  • Сценарий 1 В ВМ один сетевой интерфейс прикрепленный к vmbr0 - все хорошо, весь трафик идет в интернет через маршрут по-умолчанию.
  • Сценарий 2 В ВМ один сетевой интерфейс прикрепленный к vmbr1 - все хорошо, весь трафик идет в через основной хост по маршруту по-умолчанию.
  • Сценарий 3 В ВМ два интерфейса, одни на vmbr0 второй на vmbr1, т.е. хотим ходить в интернет прямиком, но при этом еще видеть все другие ВМ в локальнйо сети на 2-м интерфейсе и вот тут начинаются сложности. Маршрут по-умолчанию смотрит в интернет понятное дело, а далее варианты:
    • На втором интерфейсе настроим IP 172.21.1.2 маска /24 в таком случае виртуалка будет «видеть» лишь свой хост и своих соседей. Для того чтоб виртуалка «видела» машины на других хостах, надо настроить на ней маршруты, как вариант видится передача маршрутов через DHCP опцию 129/249 (linux/win) или используя динамическую маршрутизацию (минус - настраивать quagga на каждом хосте с 2-мя интерфейсами) этот вариант я еще не опробовал толком.
    • На втором интерфейсе настраиваем 172.21.1.2 и маску /15 таким образом охватываем всю сеть, на хосте включаем proxy_arp на интерфейсе vmbr1, после этого с виртуалки пингуются все доступные хосту адреса, т.е. все что надо, этот вариант уже проверил все работает.
    • Какой-то еще вариант настройки о котором я не подумал / не знаю

С proxy arp выходит нужно меньшее количество телодвижений, и все уже работает «автомагически», но с другой стороны proxy arp такая штука которая потенциально может скрывать ошибки в настройке сети, с маршрутизацией еще надо повозиться будет, наверное есть и другие варианты.

Посоветуйте на каком варианте остановиться и почему. Любая информация как это лучше сделать очень приветствуется. Спасибо всем кто дочитал )

Для того чтоб виртуалка «видела» машины на других хостах, надо настроить на ней маршруты,

Почему маршруты? Достаточно же одного маршрута до 172.20.0.0/15 через хост A (или Б). Ну, а на самом хосте, наверное unreachable маршрут до 172.20.0.0/15, чтобы пакеты в не распределённые подсети не уходили по default-маршруту.

mky ★★★★★
()
Ответ на: комментарий от mky

Думал точно так же, что достаточно одного маршрута 172.20.0.0/15 через хост A/Б, но вчера при тестировании работало только маршрут с более узкой маской. Видимо где-то была ошибка (я даже наверное знаю где, при тестировании Proxy ARP-а для ВМ выдавал маску /15 и соответственно вышеописанный маршрут с широкой маской не работал). Сегодня проверил еще раз, все работает как надо с маршрутом /15, маршрут при этом успешно передается через DHCP. Учитывая что вариант с маршрутизацией упростился и может быть признан рабочим, другие варианты наверное можно уже и не искать.

Hatifnatt
() автор топика

Конечно маршрутизация. Во первых, proxy-arp не умеет ipv6, во вторых нужена как минимум /29 подсеть.
Если нужен фаервол или DPI, то лучьше использовать бридженг. Я вот сейчас собираю dpi на базе suricata для блокировки запрещённых сайтов из реестра, и не только. Сейчас подгоняю всё по Ф139-ФЗ

ne-vlezay ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.