Как работает виртуальная сеть?

Ссылка скопирована
1 ответ

1)Каким образом гипервизор создаёт виртуальный сетевой адаптер и как запрос от этого адаптера приходит в физический адаптер, и зачем если можно использовать тот же физический адаптер и просто отправить от него к роутеру запрос?
2)Если у виртуальной машины тип сетевого подключения NAT то в каком месте (кроме физического роутера) эта технология применяется?

Дополнительно:

и зачем если можно использовать тот же физический адаптер и просто отправить от него к роутеру запрос?

Так ты можешь назначить физ. адаптер виртуалкам, но они будут в сети роутера, а не в виртуальной сети, видны как физ. машины подключённые к роутеру.

Это нужно чтобы изолировать все виртуалки от основной сети и не засорять ими список клиентов роутера.

  • historydev, это я понимаю,но что с виртульным адаптером ? Я не могу как бы осознать это понятие, в том плане
    Как он создаётся?Как выглядит "путь" от виртуального адаптера до физического?И в каком месте применяться сеть NAT?
  • Andrew_2003_5003, https://www.techtarget.com/searchnetworking/defini...

    Это программа

  • и зачем если можно использовать тот же физический адаптер и просто отправить от него к роутеру запрос?

    Просто так нельзя использовать один адаптер и на хосте и на виртуалке. Хотя бы как вы отличите, кому из них адресован пришедший из сети пакет?
    Можно полностью отдать виртуалке сетевой адаптер, чтобы хостовая ОС не имела к нему доступа. Тогда вам нужен ещё один адаптер для хоста. А если поднимете так 10 вирталок, то потребуется 11 физических сетевых адаптеров - очень не экономно, когда можно обойтись одним физическим и десятью виртуальными.

  • Ответы:

    1. Можно использовать тот же физический адаптер, но как уже написали - не будет изоляции. А иногда она нужна.
    2. NAT применяется везде, где он нужен исходя из задачи. В случае с виртуалками NAT идет либо на гипервизоре, либо уже на роутере, если выбран режим "мост" для сети.

    Так же NAT используется на VPN серверах, ну и вообще везде где надо "пропустить" траффик через сервер, с подменой адресов

    Два способа:
    1. сетевой мост/bridge
    на хост машине создается tap устройство - виртуальный сетевой адаптер, пакеты с которого которого принимает и отправляет приложение - гипервизор, все пакеты, отправленные на это устройство 'снаружи', будут продублированы как исходящие внутри виртуальной машины и наоборот
    Чтобы виртуальная машина получила доступ к внешней сети, необходимо этот виртуальный адаптер и реальный сетевой интерфейс хост машины объединить в бридж (ip адрес сети уже назначается этому мосту), это действие равнозначно подключению двух проводов ethernet (в данном случае второй - виртуальный) в простой сетевой коммутатор - свитч.
    Сетевой мост можно собрать из более чем двух сетевых адаптеров, например можно объединить сетевой адаптер виртуальной машины + настоящий сетевой адаптер + устройство vpn, и получится что все они объединены в одну локальную сеть.
    2. специальный драйвер, который симулирует прием и передачу пакетов прямо на выбранное сетевое устройство (так делает к примеру virtualbox на windows), в отличии от сетевого моста, так можно сделать только с одним устройством.
    3. на самом деле способов больше, у qemu можно соединить гостевое сетевое устройство с приложением на хост системе напрямую (не нужны драйвера), так же можно ни с чем не соединять, но можно пробросить порт снаружи внутрь гостевой (или соединить только с другой виртуальной машиной, получится приватная внутренняя сеть, к которой имеют доступ только виртуалки) и прочие странные конфиги.

    Если используется NAT то внутри гипервизора поднимается виртуальный роутер, доступа к которому у пользователя обычно нет, внешний сетевой интерфейс этого виртуального роутера так же по одному из вышеописанным способов подключается к хост системе.

    • Я не могу понять только эту деталь:как виртуальный адаптер создает электронный сигнал который доходит до физического адаптера? Можно подробнее про этот процесс?
    • На уровне драйвера, программно все

    1. Адаптер создаётся средствами операционной системы, как простая болванка, которая извне подчиняется всем правилам сетевой маршрутизации, а изнутри чисто программно делает с пакетами то, что написано в коде драйвера-фильтра.
    В винде про это можно почитать на MSDN. Про линукс немного инфы есть здесь.

    В физический адаптер пакеты попадают по общим правилам маршрутизации в системе, как если бы это была реальная сеть: пакет, проходя через десятки условий, масок и цепочек фильтров, в конечном итоге куда-то направляется, либо фильтруется, либо маркируется, инкапсулируется, и т. п. Выйдя программно из виртуального интерфейса, дальше всё подчиняется политике маршрутизации сетевого стека.

    Физический адаптер можно так же использовать, просто это немного сложнее и требует поддержки определённой технологии от процессора, железки и прошивки, например IOMMU, с помощью которой можно как бы "пробросить" реальную железку внутрь гостевой системы гипервизора. Но при этом сетевой адаптер бесследно исчезнет из основной хостовой системы.

    Ещё более продвинутая технология -- SR-IOV, которая честно поделит устройство между разными системами, но нужна так же поддержка технологии процессором, платой, сетевым адаптером и гипервизором.

    2. Технология NAT это просто подмена адреса и запоминание, какой поменялся на какой, чтобы потом при ответном пакете вернуть его обратно в нужную подсеть. В виртуалках он по умолчанию используется как простейший способ изоляции подсетей. Чтобы подсеть виртуалки не поломала основную сеть. А тем, кому нужны конкретные задачи, могут переключить режим NAT в какой-то другой, более "опасный" для сети режим, при этом понимая, что он делает.

    У каждого гипервизора конечно по своему, но базово технологии две:
    1) создать виртуальный логический интерфейс внутри виртуалки и обьединить его какой-либо логической обвязкой с хостовым интерфейсом (мостом, L3, veth или более продвинутыми вещами типа openswitch, distributed switch, NSX).
    2) целиком прокинуть интерфейс от хвостовой машины в виртуалку, отобрав его у хоста, как порт usb. Как пример, usb сетевую карточку можно прокинуть на уровне usb сразу в виртуалку, там установить драйвер к сетевушке и пользоваться своим портом.

    Отвечая на вопрос, где применяется тип подключения NAT для виртуалок - ну наверно только на домашнем компьютере с виртуалбокс или на тестовом стенде. В промышленной среде всегда есть отдельная сущность (железка или же другая виртуалка) для целей NAT.

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Стас DB Ответ

    Виртуальная сеть (Virtual Private Network, VPN) - это технология, которая позволяет устанавливать защищенное соединение между вашим устройством (например, компьютером или смартфоном) и удаленным сервером через интернет. VPN создает зашифрованный туннель, через который проходит вся сетевая активность, обеспечивая конфиденциальность и безопасность передаваемых данных.

    Как работает VPN:

    1. Установление соединения: Когда вы подключаетесь к VPN-серверу, ваше устройство устанавливает зашифрованное соединение с сервером через интернет.

    2. Шифрование данных: Все данные, передаваемые между вашим устройством и VPN-сервером, зашифровываются с использованием специальных протоколов шифрования, таких как OpenVPN, L2TP/IPsec, и другие.

    3. Аутентификация: Перед тем как установить соединение, устройство и сервер проходят процесс аутентификации, чтобы удостовериться в подлинности друг друга.

    4. Маскировка IP-адреса: VPN скрывает ваш реальный IP-адрес и заменяет его IP-адресом сервера, что позволяет обходить географические блокировки и обеспечивает анонимность в интернете.

    5. Защита от перехвата данных: Благодаря шифрованию трафика, VPN защищает ваши данные от перехвата злоумышленниками или провайдером интернета.

    Использование VPN позволяет обеспечить безопасность и конфиденциальность ваших данных в интернете, обходить цензуру и географические блокировки, а также защищать свою онлайн активность от наблюдения третьих лиц.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно