Я не совсем понимаю разницу между NAT и мостовым подключением через виртуальную машину. Насколько я понял, машины, которые находятся в одной сети с нашей хост-машиной, могут получить доступ к нашей виртуальной машине, если мы сделаем мостовое соединение.
Что ж, в Интернете люди пишут, что виртуальные машины с NAT и мостом могут иметь IP-адрес, как хост-машина, но если это NAT, машины, которые находятся в одной сети, НЕ могут получить доступ к нашей виртуальной машине, но если она подключена через мост, они могут .
Если и NAT, и мостовые соединения могут иметь разные IP-адреса, то почему я не могу получить доступ к NAT-адресу, в то время как я могу получить доступ к мостовому адресу?
Примечание. Заявления о том, что соединения NAT защищены, недостаточно; Я хочу знать, как это бывает.
Внешний адрес, обычно маршрутизируемый, находится "вне" NAT. У машин за NAT есть «внутренний» адрес, который обычно немаршрутизируемый. Когда устанавливается соединение между внутренним адресом и внешним адресом, система NAT в середине создает запись таблицы пересылки, состоящую из (external_ip, external_port, nat_host_ip, nat_host_port, inside_ip, inside_port). Любой пакет, совпадающий с первыми четырьмя частями, переписывает свое место назначения в последние две части.
Если получен пакет, который не соответствует записи в таблице NAT, то блок NAT не может знать, куда его пересылать, если правило пересылки не было определено вручную. Вот почему по умолчанию компьютер за устройством NAT является «защищенным».
Мостовой режим действует так же, как интерфейс, с которым вы соединяетесь, теперь является коммутатором, и виртуальная машина подключена к порту на нем. Все работает так же, как если бы это была другая обычная машина, подключенная к этой сети.
При использовании NAT IP-адреса виртуальных машин и сеть, к которой подключается ваш хост, разделены. Это означает, что ваши виртуальные машины находятся в другой подсети. Вы можете получить доступ к сети, потому что ваш хост выполняет трансляцию сетевых адресов (если вы не знаете, что это такое Что такое строгий, умеренный и открытый NAT? ). IP назначается DHCP, запущенным на хосте.
С помощью мостового интерфейса ваши виртуальные машины напрямую подключаются к сети, к которой подключен используемый ими сетевой интерфейс. В вашем случае это означает, что они будут напрямую подключены к сети, к которой подключается ваш хост, получая IP-адреса от DHCP-сервера, работающего в сети (который, вероятно, также дает вашему хосту свой IP).
Теперь почему вы не можете получить доступ к этим машинам:
Потому что вам нужно будет включить переадресацию портов в сегменте NAT. NAT преобразует IP-адреса ваших виртуальных машин в один IP-адрес. Входящие соединения должны маршрутизироваться с переадресацией портов, поскольку хост не может знать, для какой виртуальной машины имеется в виду соединение.
Хотя NAT может обеспечить некоторую защиту, это не брандмауэр по той же причине, что и выше (при использовании NAT входящие узлы не могут подключаться, если не включена переадресация портов). Однако NAT НЕ ЯВЛЯЕТСЯ БЕЗОПАСНОСТЬЮ (http://blog.ioshints.info/2011/12/is-nat-security-feature.html).
NAT имеет некоторые побочные эффекты, которые напоминают механизмы безопасности, обычно используемые на границе сети. Это НЕ делает его функцией безопасности, тем более, что существует так много вариантов NAT.
Мостовые соединения - это просто виртуальный переключатель подключен между виртуальной машиной и вашим физическим сетевым подключением.
Подключения NAT - это тоже просто, вместо переключателя NAT-маршрутизатор находится между виртуальной машиной и вашим физическим сетевым подключением.
При подключении через NAT главный компьютер (ваш основной физический компьютер) действует как маршрутизатор / брандмауэр. Виртуальная машина подключается к сетевому интерфейсу хоста, и все пакеты в / из виртуальной машины маршрутизируются через него. Поскольку хост-компьютер фактически видит IP-пакеты и датаграммы TCP, он может фильтровать или иным образом влиять на трафик.
Когда виртуальная машина использует мостовой режим, она подключается к сети через хост на более низком уровне (уровень 2 модели OSI). Хост-машина по-прежнему видит трафик, но только на уровне кадра Ethernet. Таким образом, он не может видеть, откуда / идет трафик или какие данные содержатся в этом трафике.