MAC-адрес NAT с ebtables для IPv4 и IPv6?

У меня есть виртуальная машина, работающая в VMware. Это имеет Ubuntu 14.04 на нем. Я хочу установить контейнеры LXC на нем и сделать, чтобы они использовали то же адресное пространство в качестве виртуальной машины.

Так, я создал интерфейс моста и поместил порт Ethernet в него. У меня затем есть свои контейнеры LXC, добавляет их интерфейс к мосту.

В теории это должно просто работать. И на реальных машинах это имеет. Я могу проверить с помощью ping-запросов контейнерами LXC от хоста LXC (виртуальную) машину. Но я ниоткуда еще не могу проверить с помощью ping-запросов их, включая другие виртуальные машины VMware.

Я провел некоторое исследование, и кажется, что виртуализированный "переключатель" VMware для VLAN, входя в хост-машину VMware не работает как нормальный переключатель. Это уже знает MAC-адреса машин, присоединенных к нему, и отбрасывает трафик, прибывающий из любого другого MAC-адреса. В сущности это не изучает MAC-адресов, потому что это уже знает их. Существует опция VMware выключить это, но вместо того, чтобы заставить виртуальный коммутатор изучить MAC-адреса, она просто превращает его в эквивалент концентратора с каждой машиной на виртуальном коммутаторе, получая весь трафик, пересекающий переключатель. (Который является чем-то, что я не хочу делать - и для производительности и для проблем безопасности).

Так, меня оставляют, думая, что я должен сделать эквивалент NAT кроме на уровне Ethernet для исходящих пакетов на мосту для создания их, что VMware думает, что это должно быть. И затем перепишите входящие пакеты, которые являются на самом деле для контейнеров назад к правильному MAC-адресу. С этой целью я нашел https://wiki.debian.org/BridgeNetworkConnections#Setting_up_the_rules, Который кажется, что должен работать. Но у меня есть одна проблема: Я должен также сделать IPv6. В то время как я думаю, что могу, вероятно, выяснить, как переписать материал к адресу IPv6, я также должен переписать IPv6, эквивалентный из ARP так, чтобы хосты знали, где найти его во-первых также.

Так, какие правила я должен в ebtables сделать уровень Ethernet, MAC-адрес "NAT" (переписывающий исходящий MAC-адреса) для IPv6?

0
задан 11 October 2014 в 11:05

1 ответ

Нет такого способа сделать mac-NAT.

На самом деле, исходящий MAC всегда rewrited, потому что MAC используется между машинами, связанными НЕПОСРЕДСТВЕННО. Источником MAC должен быть MAC прямого отправителя и целевой MAC, должен быть MAC следующего транзитного участка. В земельном участке IP используется и между связанными прямым образом машинами и между косвенно связанными машинами для маршрутизации. Исходный IP является IP исходного отправителя, и целевой IP для финала.

, Но к счастью, NAT для ipv6 является avalible действительно только через некоторые изменения в таблице NAT.

0
ответ дан 6 October 2019 в 23:47

Другие вопросы по тегам:

Похожие вопросы: