Настройка 1: 1 Nat с использованием Firewalld для виртуальных машин

10

Я установил 2 vm на моем сервере, и я пытаюсь настроить 1: 1 NAT для них с firewalld на CentOS 7. В настоящее время оба vm находятся за виртуальным мостом (virbr0, vnet0, vnet1), и я сделал копии NIC для каждого IP, который будет использоваться с ними. Я хотел бы настроить это так:

eth0: 0 (публичный IP) -----> vnet0 (внутренний IP); eth0: 1 (публичный IP) -----> vnet1 (внутренний IP)

Насколько я понимаю, я ищу NAT 1: 1, но я не уверен, как его настроить. Изначально я все настроил с помощью моста, но хостинг-провайдер не разрешает использовать мост в сети, воображаемые компьютеры виртуальных сетей получают все из сети.

Я попробовал несколько вещей, но мне пока не очень комфортно с firewalld.

dstana
источник
Итак, вот что я сделал до сих пор, в конечном итоге я пытаюсь заставить эти виртуальные машины иметь публичные IP-адреса. Это моя главная забота. Я установил 2 виртуальных моста (virbr1, virb2), каждый из которых имеет свою собственную виртуальную машину. И они настроены с помощью nat следующим образом: eth0: 0 -> virbr1 -> vnet0; eth0: 1 -> virbr2 -> vnet1 Все хорошо, но когда я пытаюсь подключиться по ssh к IP, назначенному eth0: 0, я все равно получаю основной сервер.
Дстана

Ответы:

10

NAT выполняется на уровне брандмауэра / маршрутизатора.

В зависимости от вашего брандмауэра / маршрутизатора вы можете настроить NAT 1: 1. Единственное, что нужно иметь в виду, это то, что вы можете настроить только один порт для одного IP.

Таким образом, если у вас есть 2 веб-сервера, для работы NAT потребуется другой порт (отличный от 80).

Энтони Форнито
источник
Есть ли способ просто сделать так, чтобы это был интерфейс к интерфейсу вместо переадресации портов? Или IP на IP?
дстана