Виртуальные сетевые интерфейсы windows

В этой статье мы покажем, как настроить тегированный сетевой интерфейс с VLAN в Windows 10/11 и Windows Server 2019 (2022/2016/2012R2). Стандарт VLAN (Virtual LAN) описан в 802.1Q и предполагает маркировку трафика с помощью тегов (vlanid), необходимую для отнесения сетевого пакета к той или иной виртуальной сети. VLAN используются для разделения и сегментирования сетей, ограничения широковещательных доменов и изоляции сегментов сети для повышения безопасности. В Windows вы можете настроить несколько логических сетевых интерфейсов с разными номерами VLAN на одном физическом интерфейсе несколькими способами.

Содержание:

  • Настройка VLAN интерфейсов в Windows 10 и 11
  • Добавить несколько VLAN ID в Windows Server 2019/2016
  • Как создать несколько VLAN в Windows Hyper-V?

Для использования VLAN необходимо соответствующим образом перенастроить порт коммутатора, куда подключен ваш компьютер/сервер. Порт должен быть переведен из режима access в режим транк. По умолчанию на транк порту разрешены все VLAN, но вы можете указать список номеров разрешенных VLAN(от 1до 4094), которые доступны на данном порту коммутатора Ethernet.

Настройка VLAN интерфейсов в Windows 10 и 11

В десктопных версиях Windows нет встроенный поддержки VLAN. По умолчанию драйвера большинства сетевых адаптеров обрезают в пакетах все VLAN-тэги и внешние VLAN становиться недоступными.

Для некоторых сетевых адаптеров вы можете задать номер VLAN в настройках драйвера:

  1. Запустите консоль диспетчера устройств (
    devmgmt.msc
    );
  2. Разверните секцию Network adapters и откройте свойства вашего сетевого адаптера;
  3. Перейдите на вкладку Advanced и найдите опцию VLAN ID;
  4. Здесь вы можете задать номер VLAN;
  5. У некоторых сетевых карт сначала нужно включить опцию Packet Priority and VLAN.

В современных версиях Windows 10 и 11 вы можете задать один тег VLAN для вашего сетевого интерфейса. Для этого используется командлет PowerShell для управления сетевыми настройками. Например, вы хотите задать VLAN 50 для вашего сетевого интерфейса с именем Ethernet1:

Set-NetAdapter –Name "Ethernet1" -VlanID 50

Для некоторых сетевых карт (Intel, Broadcom, HP, Realtek) доступны специальные утилиты, позволяющие создать в Windows виртуальный сетевой интерфейс с VLAN ID. Для этого на компьютере нужно установить специальный драйвер с поддержкой тегированного трафика 802.1Q и официальную утилиту от вендора.

Создаем VLAN интерфейсы в Windows 10/11 на сетевой карте Realtek

Для сетевых карт Realtek вы можете настроить несколько виртуальных сетевых адаптеров с различными VLAN с помощью утилиты Realtek Ethernet Diagnostic Utility. Найдите описание вашего сетевого контролера Realtek на сайте вендора, и проверьте что эта модель поддерживает VLAN. Например, в спецификации сетевого контроллера RTL8169SC(L) присутствует строка:

Supports IEEE 802.1Q VLAN tagging

проверка поддержки vlan 802.1q сетевой картой realtek

Скачайте и установите последнюю версию сетевого драйвера для вашего адаптера Realtek и запустите утилиту Realtec Ethernet Diagnostic Utility (Diagnostic Program for Win7/Win8/Win10/Win11).

Перейдите в раздел VLAN, нажмите кнопку Add и добавьте нужный VLAN ID. После этого в Windows появится новый сетевой интерфейс.

Realtek Ethernet Diagnostic Utility настройка vlan

После того, как вы создали сетевые интерфейсы для ваших VLAN, вы можете задать на них нужный IP из соответствующей подсети.

Добавляем VLAN интерфейсы на сетевом адаптере Intel Ethernet

У Intel для настройки VLAN есть собственная утилита Intel Advanced Network Services (Intel® ANS) VLAN. Ваша модель сетевого адаптера, естественно, должна поддерживать технологию VLAN (например, VLAN не поддерживаются для карт Intel PRO/100 и PRO/1000). При установке драйвера выбейте опции Intel PROSet for Windows Device Manager и Advanced Network Services.

После этого в свойствах физического сетевого адаптера Intel появляется отдельная вкладка VLANs, где вы можете добавить несколько VLAN интерфейсов.

Однако этот способ работает во всех предыдущих версиях Windows (до Windows 10 1809). В последних версиях Windows на этой вкладке присутствует надпись:

Intel(R) Advanced Network (Intel(R) ANS) Teams and VLANs are not supported on Microsoft Windows 10.

Intel недавно выпустила обновленные драйвера сетевых адаптеров и утилиту Intel PROSet Adapter Configuration Utility для последних версий Windows 10 и 11. Скачайте и установите последнюю версию драйвера Intel и утилиту Intel PROset.

Запустите утилиту, перейдите на вкладку Teaming/VLANs, нажмите кнопку New, и укажите имя сетевого интерфейса и его VLANID.

Intel PROSet Adapter Configuration Utility

Кроме того, вы можете добавить/удалить/просмотреть список VLAN на сетевых картах Intel с помощью специальных PowerShell командлетов из модуля IntelNetCmdlets. Импортируйте модуль в свою PowerShell сессию:

Import-Module -Name "C:\Program Files\Intel\Wired Networking\IntelNetCmdlets\IntelNetCmdlets" -Scope Local

Вы можете создать нетегированный виртуальный сетевой адаптер (обычно используется с native-vlan-id):

Add-IntelNetVLAN -ParentName "Intel(R) Ethernet Connection I219-LM" -VLANID 0

Чтобы создать сетевой адаптер Intel с конкретным номером VLAN:

Add-IntelNetVLAN -ParentName "Intel(R) Ethernet Connection I219-LM" -VLANID 11

Чтобы вывести список всех виртуальных сетевых адаптеров Intel:

Get-NetAdapter

Удалить VLAN адаптер:

Remove-IntelNetVLAN -ParentName "Intel(R) Ethernet Connection I219-LM" -VLANID 11

командлеты Get-IntelNetVLAN, Add-IntelNetVLAN

Для сетевых карт Broadcom вы можете создавать группы виртуальных сетевых интерфейсов и назначать им VLAN ID с помощью утилиты Broadcom Advanced Control Suite.

Добавить несколько VLAN ID в Windows Server 2019/2016

В Windows Server 2022/2019/2016/2012R2 вы можете настроить несколько VLAN на одном сетевом интерфейсе с помощью встроенных средств (без установки специальных драйверов или утилит). Попробуем настроить несколько разных VLAN на одной физической сетевой карте в Windows Server 2019 с помощью NIC Teaming.

Обязательно убедитесь, что в настройках параметров дополнительных свойств сетевого адаптера не задана VLAN (значение VLAN ID = 0).

настройка vlanid в свойствах драйвера

  1. Запустите Server Manager -> Local и нажмите на ссылку «NIC Teaming«;
  2. В секции Teams нажмите Task -> New Team. Укажите имя группы и выберите сетевые адаптеры, которые нужно в нее добавить;
    создать nic teaming интерфейс в windows server 2016

    Можно создать группу NIC Teaming с помощью PowerShell:
    New-NetLbfoTeam -Name vTeam -TeamMembers "Ethernet1","Ethernet2" -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic

  3. Теперь в секции «Adapter and Interfaces» можно добавить виртуальные сетевые интерфейсы. Нажмите Tasks -> Add Interface;
  4. Укажите имя создаваемого интерфейса и номер VLAN;
    nic teaming добавить vlan в Windows server 2016

    Из PowerShell добавить сетевой интерфейс и задать ему VLAN можно так:
    Add-NetLbfoTeamNic -Team vTeam -VlanID 50 -Name VLAN50

  5. Аналогичным образом можно добавить столько сетевых интерфейсов VLAN, сколько нужно;

    Обратите внимание, что в Windows Server 2022/2019/2016 поддерживает не более 32 сетевых адаптеров (и соответственно уникальных VLAN) для одной группы NIC Teaming.

  6. Для каждого сетевого интерфейса в панели управления сетевыми адаптерами (ncpa.cpl) появится отдельная виртуальная сетевая карта;
    виртуальные vlan интерфейсы nic teaming в windows server

  7. Теперь вы можете настроить IP параметры всех созданных виртуальных VALN сетевых интерфейсов вручную в свойствах адаптера или с помощью PowerShell командлетов New-NetIPAddress и Set-DnsClientServerAddress:
    New-NetIPAddress -InterfaceAlias my_VLAN_interface -IPAddress 192.168.30.30 -PrefixLength 24 -DefaultGateway 192.168.30.1
    Set-DnsClientServerAddress -InterfaceAlias my_VLAN_interface -ServerAddresses 192.168.1.10

Как создать несколько VLAN в Windows Hyper-V?

Вы можете программно обрабатывать VLANы в Windows через через подсистему Hyper-V (доступно как в Windows Server, так и десктопных Windows 10/11 Pro и Enterprise редакциях). Вы можете создать виртуальный свитч с сетевым адаптером в определённом VLAN.

Для этого нужно установить компоненты Hyper-V:

Enable-WindowsOptionalFeature -Online -FeatureName:Microsoft-Hyper-V -All

Создайте новый виртуальный коммутатор через Hyper-V Manager или с помощью команд PowerShell (см. пример в статье о настройке Hyper-V Server).

Затем для каждого VLAN, который нужно создать, выполнить команды:

Add-VMNetworkAdapter -ManagementOS -Name VLAN50 -StaticMacAddress "11-22-33-44-55-AA" -SwitchName VLAN50Switch
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName VLAN50 -Access -VlanId 50

В результате у вас в системе появится сетевой адаптер с нужным тегом VLAN.

Если на вашем Hyper-V сервере запущены ВМ, вы можете поместить их в разные VALN. Чтобы переключить виртуальны сетевой адаптер ВМ на Hyper-V в режим Access и разрешить получать трафик только с определенным VLAN ID, используется команда:

Set-VMNetworkAdapterVlan -VMName Test1 -Access -VlanId 21

Вывести список ВМ и назначенных им VLAN:

Get-VMNetworkAdapterVLAN

В Windows Server 2022 с ролью Hyper-V вы не сможете привязать виртуальный свитч к такому тиминг-интерфейсу. Дело в том, что что LBFO NIC Teaming устарел (https://aka.ms/lbfodeprecation) и в Windows Server 2022 предлагается использовать Switch Embedded Teaming (SET).

Рассмотрим, как создать виртуальный адаптер и назначить ему VLAN в Windows Server 2022 Hyper-V с помощью SET.

Создайте виртуальный свитч, подключённый к сетевым адаптерам хоста:

New-VMSwitch -Name "HVSwitch1" -NetAdapterName "Ethernet3","Ethernet4" -EnableEmbeddedTeaming $true

Теперь создайте виртуальны адаптер, подключенный к виртуальному свитчу:

Add-VMNetworkAdapter -ManagementOS -Name "VLAN11" -StaticMacAddress "XX-XX-XX-XX-XX-XX" -SwitchName "HVSwitch1"

Назначьте тег VLAN для вашего виртуального адаптера:

Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "VLAN11" -Access -VlanId 11

Если нужно, чтобы виртуальный адаптер Hyper-V мог принимать пакеты из нескольких VLAN, можно использовать такую команду:

Get-VMNetworkAdapter -Name youradaptername | Set-VMNetworkAdapterVlan -Trunk -AllowedVlanIdList 50-59 -NativeVlanId 0

Параметр -NativeVlanId 0 обязателен. В этом случае мы указываем Hyper-V, что VLAN:0 используется в качестве нативного для нетегированного трафика.

Virtual network adapters are a crucial component of virtualization technology. They allow virtual machines to communicate with other devices on a network, enabling seamless integration and connectivity. Whether you’re a seasoned IT professional or a curious tech enthusiast, understanding how to create a virtual network adapter on Windows 7 can greatly enhance your virtualization skills.

In this blog post, we will explore the reasons why you need to create a virtual network adapter on Windows 7 and provide step-by-step instructions for four different methods to accomplish this task. Additionally, we will discuss what to do if you encounter any issues during the process, share three bonus tips to optimize your virtual network adapter experience, answer some frequently asked questions, and conclude with our final thoughts.

Video Tutorial:

There are several compelling reasons why you might need to create a virtual network adapter on Windows 7. Firstly, virtual network adapters enable seamless integration between virtual machines and the physical network, allowing for efficient communication and data transfer. This is especially important in scenarios where multiple virtual machines need to interact with each other or access resources on the host machine or other devices on the network.

Secondly, virtual network adapters provide enhanced security by isolating virtual machines from the host machine and the rest of the network. This ensures that any potential vulnerabilities or compromises in a virtual machine cannot directly affect the host or other machines on the network. By creating a virtual network adapter, you can define and control the network connections of each virtual machine, thus reducing the risk of unauthorized access or data breaches.

Lastly, virtual network adapters offer flexibility and convenience by allowing virtual machines to connect to different types of networks, including local area networks (LANs), wide area networks (WANs), and virtual LANs (VLANs). This versatility enables IT professionals to build complex network infrastructures within virtual environments, test various network configurations, and simulate real-world scenarios without impacting the production network.

Method 1: Creating a Virtual Network Adapter via Hyper-V Manager

Creating a virtual network adapter via Hyper-V Manager is a straightforward process that requires a few simple steps. Before we delve into the steps, let’s first understand the method in detail.

Hyper-V Manager is a built-in administrative tool for managing virtual machines and network connections on Windows 7. By utilizing this tool, you can create and configure virtual network adapters with ease. Follow the steps below to create a virtual network adapter via Hyper-V Manager:

1. Open Hyper-V Manager by clicking on the «Start» button, searching for «Hyper-V Manager,» and clicking on the matching result.
2. In Hyper-V Manager, select the host machine from the list of available servers.
3. Right-click on the host machine and choose «Virtual Switch Manager» from the context menu.
4. In the Virtual Switch Manager window, click on «New virtual network switch» on the left side.
5. Select the appropriate virtual switch type for your network requirements and click on «Create Virtual Switch.«
6. Give the virtual switch a name, specify the connection type, and click on «Apply» or «OK.«

Pros:
1. Easy and intuitive user interface in Hyper-V Manager.
2. Provides various virtual switch types to accommodate different network configurations.
3. Allows granular control over network connections and settings for virtual machines.

Cons:
1. Limited to Windows 7 Professional, Enterprise, or Ultimate editions.
2. Requires compatible hardware and BIOS settings to enable Hyper-V functionality.

Method 2: Creating a Virtual Network Adapter via VirtualBox

VirtualBox is a popular virtualization platform that allows you to create and manage virtual machines on Windows 7. It also provides the capability to create virtual network adapters for seamless network integration. Here’s how you can create a virtual network adapter via VirtualBox:

1. Open VirtualBox and select the desired virtual machine from the list.
2. Click on the «Settings» button in the toolbar to open the virtual machine settings.
3. In the settings window, select the «Network» tab.
4. Click on the «Adapter 2» tab to configure the additional network adapter.
5. Check the «Enable Network Adapter» checkbox.
6. Choose the desired network attachment type, such as NAT, Bridged Adapter, or Host-Only Adapter.
7. Configure any additional settings, such as MAC address, promiscuous mode, or advanced features.

Pros:
1. VirtualBox is a free and open-source virtualization platform.
2. Provides a wide range of networking options and configurations.
3. Suitable for both personal and professional use.

Cons:
1. May require additional configuration and troubleshooting due to the complexity of network settings.
2. Limited to virtual machines managed by VirtualBox.

Method 3: Creating a Virtual Network Adapter via VMware Workstation

VMware Workstation is a robust virtualization solution that offers advanced features and capabilities for creating and managing virtual machines. It also enables the creation of virtual network adapters to establish network connectivity within virtualized environments. Follow the steps below to create a virtual network adapter via VMware Workstation:

1. Open VMware Workstation and select the desired virtual machine from the library.
2. Click on the «Edit virtual machine settings» button in the toolbar.
3. In the Virtual Machine Settings window, select the «Network Adapter» option from the list.
4. Click on the «Add» button to add a new virtual network adapter.
5. Choose the appropriate network type, such as bridged, NAT, or host-only.
6. Configure any additional settings, such as network connection, MAC address, or advanced options.
7. Click on «OK» to save the settings.

Pros:
1. VMware Workstation provides robust virtualization features and performance.
2. Offers a comprehensive range of networking options for virtual machines.
3. Suitable for both individual users and enterprise environments.

Cons:
1. Requires a license for VMware Workstation, which may be an additional cost.
2. May require advanced knowledge and understanding of virtualization concepts.

Method 4: Creating a Virtual Network Adapter via PowerShell

PowerShell, the command-line shell and scripting language developed by Microsoft, offers a powerful approach to creating a virtual network adapter on Windows 7. Although this method requires some familiarity with PowerShell commands, it provides flexibility and automation capabilities. Follow the steps below to create a virtual network adapter via PowerShell:

1. Open PowerShell with administrative privileges.
2. Run the following command to list the available virtual switches: `Get-VMSwitch`
3. Identify the desired virtual switch from the list.
4. Run the following command to create a virtual network adapter: `New-NetAdapter -Name «VirtualAdapterName» -SwitchName «VirtualSwitchName«`
5. Replace «VirtualAdapterName» with the desired name for the virtual network adapter.
6. Replace «VirtualSwitchName» with the name of the virtual switch identified in step 3.

Pros:
1. PowerShell provides a command-line approach for automation and scripting.
2. Enables advanced customization and configuration options.
3. Can be integrated into larger scripts and workflows for efficient management.

Cons:
1. The PowerShell method may not be suitable for users unfamiliar with command-line interfaces.
2. Requires administrative privileges to execute PowerShell commands.

What to Do If You Can’t Create a Virtual Network Adapter

If you encounter any issues while creating a virtual network adapter on Windows 7, here are some potential fixes:

1. Check system requirements: Ensure that your system meets the hardware and software requirements for virtualization, including virtual network adapters. Verify that your processor supports virtualization technology and that virtualization features are enabled in the BIOS settings.

2. Update virtualization software: If you’re using virtualization platforms like Hyper-V, VirtualBox, or VMware Workstation, ensure that you’re running the latest version of the software. Check for updates and apply any available patches or bug fixes that might resolve compatibility issues.

3. Troubleshoot network connections: If the virtual network adapter is not functioning correctly, perform basic troubleshooting steps. Check network cables, router configurations, and ensure that the host machine has an active network connection. Restarting the host machine, virtual machine, or virtualization software may also help resolve networking issues.

4. Seek technical support: If you have exhausted all troubleshooting options and are still unable to create a virtual network adapter, consider reaching out to the virtualization software vendor’s technical support team for assistance. They can provide personalized guidance and help troubleshoot any specific issues you may be facing.

Now, let’s move on to some bonus tips to optimize your virtual network adapter experience.

Bonus Tips

1. Assign meaningful names to virtual network adapters: When creating virtual network adapters, it’s good practice to assign descriptive names that reflect their purpose or the virtual machine they are associated with. This makes it easier to manage and identify adapters in complex virtualized environments.

2. Regularly update virtualization software: Stay up to date with the latest versions of your chosen virtualization software, as updates often bring bug fixes, security enhancements, and new features. Regular updates ensure that you have access to the latest networking capabilities and improvements.

3. Optimize network settings for performance: Depending on your network requirements, there are various settings you can adjust to optimize the performance of virtual network adapters. Experiment with features like jumbo frames, VLAN tagging, or bandwidth management to enhance network throughput and reduce latency.

5 FAQs

Q1: Can I create multiple virtual network adapters for a single virtual machine?

A: Yes, you can create multiple virtual network adapters for a single virtual machine. This allows for more complex network configurations, such as connecting to different networks simultaneously or implementing advanced networking features like network bonding or load balancing.

Q2: Can I share my physical network adapter with a virtual machine?

A: Yes, it is possible to share a physical network adapter with a virtual machine. This is achieved by assigning the physical network adapter to the virtual machine as a bridged or passthrough network adapter. However, keep in mind that the physical network adapter can only be used by either the host machine or the virtual machine at a given time.

Q3: Can I create virtual network adapters on Windows 7 Home edition?

A: No, the ability to create virtual network adapters is limited to Windows 7 Professional, Enterprise, and Ultimate editions. The home editions of Windows 7 do not include the necessary virtualization features and tools required for managing virtual machines and network connections.

Q4: Is it possible to change the network type of a virtual network adapter after creation?

A: Yes, it is typically possible to change the network type of a virtual network adapter after creation. However, the specific steps and options available depend on the virtualization software being used. In most cases, you can modify the network adapter settings within the virtualization software’s management interface or settings.

Q5: Can I create a virtual network adapter without using virtualization software?

A: No, creating a virtual network adapter requires the use of virtualization software. Virtualization software allows you to create and manage virtual machines, including configuring virtual network adapters. Without virtualization software, you cannot create and utilize virtual network adapters.

Final Thoughts

Creating a virtual network adapter on Windows 7 is an essential skill for anyone working with virtual machines or interested in exploring the world of virtualization. Whether you choose to use Hyper-V Manager, VirtualBox, VMware Workstation, or PowerShell, each method offers its advantages and allows you to establish seamless network connectivity within virtualized environments.

By following the step-by-step instructions outlined in this blog post, you can confidently set up virtual network adapters on Windows 7. Remember to consider the pros and cons of each method, and troubleshoot any issues you encounter along the way. With a well-configured virtual network adapter, you can enhance your virtualization experience and explore a wide range of possibilities within virtualized environments.

Сетевой интерфейс (сетевой адаптер) — это часть аппаратного устройства, которая позволяет операционным системам и программам передавать данные через компьютерную сеть. Другими словами, сетевой интерфейс является частью сетевой карты, маршрутизатора, коммутатора и других устройств.

Для обычного пользователя интерфейс выглядит как физическая сетевая плата (network interface controller, NIC), однако есть и виртуальные адаптеры. 

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

Кроме того, он может передавать данные через физические адаптеры и используется в облачной инфраструктуре для подключения виртуальных устройств. Виртуальные интерфейсы можно использовать для объединения нескольких аппаратных интерфейсов или организации VPN-туннелей.

Один из самых популярных виртуальных сетевых интерфейсов — loopback. Его используют для подключения приложений и процессов на одном компьютере к другим приложениям и процессам. Во многих операционных системах он обозначается как адаптер lo с IP-адресом 127.0.0.1.

Идентификаторы и свойства сетевых интерфейсов

В операционных системах есть много идентификаторов, некоторые из которых позволяют различать сетевые интерфейсы. Среди них — глобальный уникальный идентификатор GUID и MAC-адрес.

Однако есть идентификаторы, по которым нельзя однозначно определить интерфейс. Как правило, сетевые адаптеры идентифицируют по IP-адресу, реже — по MAC. Также можно идентифицировать интерфейс по расположению PnP (номеру слота PCI) или его номеру. На практике самыми распространенными идентификаторами считаются имена адаптеров (lo, eth0, eth1 и другие).

Как работает сетевой интерфейс

Во время работы приложение отправляет данные на сетевой интерфейс, где данные делятся на части и инкапсулируются в необходимые блоки, а позже — в пакеты, если их нужно передать по TCP/IP. Далее они отправляются на нужный сетевой интерфейс с IP-получателя. 

Например, на устройстве может быть подключено несколько проводных интерфейсов, каждому из которых присваивается свой сетевой адрес в зависимости от того, к какой подсети он подключен. При первой установке Ethernet в операционной системе запускается автоматическая настройка — интерфейсу присваивается имя ent0. А также добавляются адаптеры Ethernet 2 и IEEE 802.3 с именами en0 и et0 соответственно.

Физическое соединение

При физическом Ethernet-соединении используются MAC-адреса — уникальные идентификаторы, которые присвоены всем устройствам внутри компьютерной сети. Администратор сети может назначать их самостоятельно — например, если нужно организовать подключение по технологии Token Ring.

Есть несколько типов MAC-адресов: 

  • индивидуальный (unicast), когда данные получает только один компьютер в сети;
  • групповой (multicast), когда данные поступают на все устройства с этим адресом (например, 01:00:0C:CC:CC:CC);
  • широковещательный (broadcast), когда данные получают все устройства в сети (FF:FF:FF:FF:FF:FF).

Если в одной сети есть два устройства с одинаковыми MAC-адресами, они будут работать нестабильно или начнутся проблемы в таблице коммутации (mac-flapping).

MAC-адреса лежат в основе сетей на канальном уровне, которую используют протоколы более высокого (сетевого) уровня. Для преобразования MAC-адресов в адреса сетевого уровня и обратно необходимо использовать специальные протоколы — например, ARP и RARP.

Протоколы и адресация

Для обмена данными в сети необходимо использовать сетевые протоколы. Это набор правил, который определяет, каким образом передавать информацию между физическими устройствами или логическими объектами (процессами). 

К семейству  протоколов TCP/IP обычно относят весь набор реализаций стандартов RFC. Приведем основные из них: 

  • Internet Protocol, IP;
  • Address Resolution Protocol, ARP;
  • Internet Control Message Protocol, ICMP;
  • User Datagram Protocol, UDP;
  • Transport Control Protocol, TCP;
  • Routing Information Protocol, RIP;
  • Telnet;
  • Simple Mail Transfer Protocol, SMTP;
  • Domain Name System, DNS.

Во время конфигурирования устройств администратор назначает для них IP-адреса поколения IPv4 или IPv6. Первый — в 32-битном или 4-байтном формате, второй — в 128-битном.

Отличия ipv4 и ipv6

Основная разница между IPv4 и IPv6. Источник.

Каждый адрес — это совокупностью двух идентификаторов: номера сети (NetID) и хоста (HostID). Устройства с одинаковыми номерами сети могут взаимодействовать друг с другом. Если же они разные, для соединения нужен маршрутизатор.

Чтобы определить, какие части IP-адреса отвечают за номера сети и узла, нужно использовать маску. В отличие от IP, в двоичном виде маски не могут чередоваться единицы и нули: сначала идут единицы (номер сети), а затем нули (номер узла).

Для IPv6 маски подсети работают схожим образом, но вместо единицы используется f. Кроме того, разрядов в такой маске будет больше, чем в маске IPv4. Если в четвертой версии их 32, то в шестой уже 128, что равно количеству бит в соответствующих IPv4- и IPv6-адресах.

Обработка ошибок и контроль потока

При передаче данных могут возникать ошибки, связанные с доставкой и целостностью пакетов. Они зависят от скорости передачи данных. Например, при очень большой скорости пакеты просто не успевают обрабатываться и теряются. 

Поэтому в разных протоколах сетевого уровня предусмотрен функционал по обработке ошибок и управлению потоком. Один из популярных алгоритмов — проверка четности.

Кроме того, в стеке TCP/IP предусмотрена функция управления потоком, которая ограничивает скорость передачи данных.

Управление соединениями

Чтобы установить соединение, протокол TCP использует «тройное рукопожатие». Приложение на хосте отправляет серверу запрос на подключение. Машина подтверждает запрос, после чего клиент определяет параметры соединения. Далее начинается обмен данными на прикладном уровне. Прервать процесс может как клиент, так и сервер. 

Посмотреть созданные подключения можно с помощью команды netstat с флагом -a. Чтобы посмотреть подключения конкретно по протоколу TCP, необходимо использовать параметр -p tcp.

параметр -p tcp

Пример работы с параметром -p tcp.

Прием и передача данных

Уровень сетевого интерфейса отвечает за добавление и удаление заголовков протоколов передачи, необходимых для доставки сообщений. Программа передает данные на сетевой интерфейс, информация спускается «вниз» по модели TCP/IP. Далее на каждом уровне соответствующий сетевой протокол инкапсулирует исходные данные. В адаптере сообщение из цифрового сигнала преобразуется в аналоговый и отправляется до пункта назначения.

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

Если сумма совпадает, данные помещаются в оперативную память устройства. При несовпадении — отбрасываются, а на сервер отправляется сигнал об ошибке. Для обработки такой информации адаптер и сервер затрачивают ресурсы, поэтому иногда пользователи посылают много «мусорных» пакетов, чтобы нагрузить системы и сделать их недоступными. Это обычно называют DOS-атаками.

Настройка сетевых интерфейсов

Debian и Ubuntu

Перед настройкой сетевого интерфейса необходимо узнать его имя. Это можно сделать через список интерфейсов.

    $ ip addr
Пример интерфейсов

Из примера выше видим, что к устройству подключены интерфейсы localhoct (lo) и Ethernet (ens33). Теперь мы можем, например, настроить динамический или статический IP.

настройка динамического ip

Настройка динамического IP.
настройка статического ip

Настройка статического IP.

В этих примерах мы используем следующие параметры:

  • iface ens33 inet static/dhcp — указывает, что интерфейс (ens33) находится в диапазоне адресов IPv4 (inet) со статическим (static) / динамическим (dhcp) IP;
  • address 192.168.0.1 — указывает IP-адрес нашей сетевой карты;
  • netmask 255.255.255.0 — указывает значение маски подсети;
  • gateway — адрес шлюза;
  • dns-nameservers 192.168.0.254 8.8.8.8 — адреса DNS-серверов;
  • auto ens33 — указывает системе, что интерфейс ens33 необходимо автоматически включать при загрузке системы с вышеуказанными параметрами.

Redhat, Fedora, CentOS

Настройка сети в CentOS хоть и отличается от алгоритма действий для Ubuntu, но основные принципы сохраняются. Подробнее можно узнать по ссылке.

Утилиты для работы с интерфейсами сети

ifconfig: просмотр информации об интерфейсах

ifconfig (Interface Configuration) — это командная утилита (драйвер) в UNIX и UNIX-подобных системах, таких как Linux. Она позволяет просматривать и изменять конфигурации сетевых интерфейсов.

С помощью ifconfig можно получить информацию о сетевых интерфейсах на компьютере, включая IP-адреса, маски подсети, MAC-адреса и другие параметры. Эта информация полезна при настройке сетевого подключения, отладке сетевых проблем.

вывод ifconfig -a

Вывод команды ifconfig -a.

route: настройка таблицы маршрутизации

Команду route используют для просмотра и настройки таблицы маршрутизации в операционных системах UNIX и UNIX-подобных системах, включая Linux.

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

вывод route

Вывод команды route.

ip: настройка и управление сетевыми интерфейсами

Утилита ip — это мощный инструмент для настройки и управления сетевыми интерфейсами в операционных системах Linux. Она предоставляет более современный и гибкий подход к работе с сетевыми настройками, если сравнивать с устаревшей утилитой ifconfig.

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

вывод ip link show

Вывод команды ip link show.

Межсетевые экраны в разных ОС

Для контроля соединений и безопасности также используют встроенные межсетевые экраны. Среди них — Microsoft Defender (Windows) и Netfilter (Linux). С помощью них можно проверять пакеты, состояния соединений, программы и протоколы.

Пример настройки в Windows

Важно: настройка может повлечь обрыв соединений. Рекомендуем выполнять инструкции только на тестовых машинах с прямым доступом.

1. Открываем Windows Defender Firewall, переходим в Inbound rules и удаляем все правила по умолчанию.

Win Defender Firewall

2. Добавим новое правило. Для этого нажимаем new rule, переходим в менеджер создания правила и выбираем por. А после — определяемся с протоколом и прописываем порт.

новое правило

3. Далее разрешаем подключение. Для этого нужно выбрать пункт Allow the connection и применить его к типу инфрейсов Public. И в завершение прописываем имя правила — оно может быть любым. То же самое выполняем для всех правил из списка. Только для исходящего трафика нужно создавать правила в разделе Outbound Rules.

Пример настройки в Debian и Ubuntu 

Воспользуемся стандартной утилитой iptables и попробуем настроить разрешение для подключения по SSH.

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

    sudo iptables -A INPUT -p tcp --syn -m conntrack --ctstate NEW --dport 22 -j ACCEPT

Если необходимо закрыть доступ к целой группе серверов, можно использовать базовый файрвол Selectel. Он работает, как стандартный ACL (access control list), iptables или Microsoft Defender.

Базовый файрвол — бесплатный stateless-файрвол (файрвол без сохранения состояния). Анализирует и фильтрует весь входящий и исходящий IPv4-трафик по добавленным правилам фильтрации. Поддерживает протоколы: TCP, UDP, ICMP, IPIP, GRE.
файрвол Selectel

С помощью него можно ограничить доступ к подсети или подсетям, разрешив только необходимые порты, а сканер eye поможет следить за актуальностью ваших списков защиты сети.

Заключение

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

Окно диспетчера устройств можно открыть любым из следующих способов:

  • С использованием интерфейса Windows
  • С помощью командной строки
  • В окне «Управление компьютером»
  • С удаленного компьютера

addadap1.png

addadap2.png

addadap3.png

addadap4.png

addadap5.png

addadap6.png

addadap7.png

Продолжая цикл статей посвященный виртуализации, сегодня мы поговорим о настройке сети в Hyper-V. Основное внимание мы уделим теории, а именно разберем как устроены виртуальные сети и как они взаимодействуют с реальными. Потому что, как показывает практика, многие администраторы, в отсутствие простых и понятных материалов по данному вопросу, вынуждены осваивать настройку сети в Hyper-V методом «научного тыка».

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

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

За настройку сетей в Hyper-V отвечает Диспетчер виртуальных коммутаторов, если мы откроем его, то увидим следующую картину:

hyper-v-network-001.jpg

Как видим, нам доступно создание трех типов сетей: внешней, внутренней и частной. Разберемся подробнее, для чего нужны эти сети и в чем разница между ними.

Внешняя сеть

Самый распространенный тип сети, который позволяет виртуальным машинам взаимодействовать с внешними сетями и хостом. При ее создании необходимо выбрать один из физических сетевых адаптеров, через который данная виртуальная сеть будет соединяться с внешними сетями.

hyper-v-network-002.jpg

Как мы уже писали, основу виртуальной сети составляет виртуальный коммутатор. При создании внешней сети, Hyper-V создает виртуальный коммутатор, к которому через виртуальные сетевые адаптеры (vNIC) подключаются как виртуальные машины, так и хост. Физический адаптер отключается от хоста и по сути становится физическим портом виртуального коммутатора, через который он подключается к внешней сети.

В этом нетрудно убедиться, после создания внешней сети на хосте появляется Адаптер Ethernet для виртуальной сети Hyper-V, на который переносятся все настройки с физического адаптера.

hyper-v-network-003.jpg

А в свойствах физического адаптера остался только Расширяемый виртуальный сетевой коммутатор в Hyper-V.

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

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

hyper-v-network-008.jpg

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

Внутренняя сеть

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

hyper-v-network-005.jpg

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

Внутренняя сеть c NAT

Данная возможность появилась начиная с Windows Server 2016, Hyper-V Server 2016 и Windows 10. Подробнее читайте в нашей статье: Настраиваем сеть NAT в Hyper-V

Частная сеть

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

hyper-v-network-006.jpg

Данный вид сетей может быть использован также в учебных и исследовательских целей, а также для создания изолированных участков сети, например DMZ.

hyper-v-network-007.jpg

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

Как видим, Hyper-V дает в руки администратора весьма гибкий и мощный инструмент, позволяющий создавать весьма сложные сетевые конфигурации и управлять ими.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Стоит ли переходить с windows 10 home на windows 10 pro
  • Как скрыть вирус от windows defender
  • Пропал поиск в папках windows 7
  • Создать образ системы windows server 2012
  • Windows home server на русском