
Я начал изучать сетевые технологии на Linux и ищу способ связать определенный IP с определенным MAC-адресом (т. е. способ редактировать таблицу NAT?). На самом деле я пытаюсь назначить некоторые IP-адреса своим виртуальным машинам и хочу пересылать пакеты через эти IP-адреса.
Вот мой конкретный вариант использования: у меня есть виртуальные машины, настроенные в виртуальной сети с использованием виртуализации KVM, и я хотел бы отправлять пакеты с виртуальных машин и на виртуальные машины в этой сети.
решение1
NAT
(Network Address Translation) не имеет ничего общего с целями, которые вы описали. Соответствие между IP и MAC-адресами поддерживается с помощью механизма, называемого ARP
(Address Resolution Protocol) для IP версии 4 и Neighbour Discovery для IP версии 6. В редких случаях вы можете поддерживать список соседей вручную, но это редко требуется.
Для назначения IP виртуальным машинам существует несколько способов, в зависимости от конкретного программного обеспечения виртуализации, которое вы используете. Например, для контейнеров LXC самым простым является создание моста, присоединение внешнего сетевого интерфейса к этому мосту и, при создании контейнера, присоединение его внешнего конца ссылки к этому мосту; сам уровень LXC обеспечит ограничение назначения IP. Для полного программного обеспечения виртуализации (например, VirtualBox, VMWare), пожалуйста, прочтите его документацию; обычно это либо, да, NAT (но в этом случае гость не получит выделенный IP-адрес на внешней стороне), мост или даже маршрутизация (в этом случае вам необходимо предоставить маршрутизацию подблока IP в сеть вашего сайта, либо статическую, либо динамическую).
Я думаю, этот ответ содержит достаточно ключевых слов, чтобы продолжить поиск. Если нет, вы можете переформулировать свой вопрос и повторить попытку. Но,https://serverfault.com/на мой взгляд, это более подходящее место для таких тем.