Виртуальные локальные сети в Windows
Использование виртуальных локальных сетей (VLAN) обычно неразрывно связано в нашем сознании с управляемыми коммутаторами и подынтерфейсами маршрутизаторов. Однако это не совсем так. Проброс тегированных кадров непосредственно до серверов может оказаться приемлемым решением в некоторых специфичных ситуациях. Что это за ситуации, а также когда допустим транк до сервера, - читатель, мы уверены, решит для себя сам, - в этой же статье даётся краткое описание того, как этот механизм можно реализовать.
Итак, для реализации задуманного требуется наличие двух вещей: управляемый коммутатор с поддержкой 802.1q и сетевая карта, драйвера которой поддерживают аналогичную технологию. Сразу хотелось бы отметить, что коммутаторы, поддерживающие только ISL, нам не подходят в данном случае, так как рассматриваемый пример работает исключительно с метками 802.1p/802.1q. Конфигурировать сервер будем с операционной системой Microsoft Windows.
Современные драйверы для сетевых плат компании Marvell позволяют обеспечить поддержку VLAN и агрегации. На персональный компьютер была установлена операционная система Windows XP x64 Professional SP2 Eng для демонстрации простоты рассматриваемого решения, на которую были установлены последние доступные на сайте производителя драйверы вместе с утилитой управления (Network Control Utility for Aggregation and VLANs in x86 & x64 XP, Server 2003, Vista, Server 2008) для сетевой карты Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet Controller. Именно этот компьютер мы будем далее называть тестовым сервером.
В настройках сетевого адаптера появляется несколько новых вкладок, из которых нас будет интересовать VLAN. В область Existing VLANs необходимо добавить номера тех виртуальных сетей, работа с которыми планируется. Мы добавили две виртуальных сети (2 и 3).
После такого действия в «Сетевых подключениях» появляются две дополнительных сетевых карты (по штуке на VLAN). В той, что является основной, необходимо оставить лишь один работающий протокол Marvell VLAN Protocol.
В свойствах сетевых адаптеров остальных подключений нужно перейти на вкладку Advanced и лишний раз удостовериться, что им соответствует конкретный номер виртуальной сети.
Теперь осталось раздать IP-адреса обоим виртуальным сетевым картам вручную или же с помощью DHCP (на данном этапе конфигурирования адрес ещё не будет получаться, так как ещё не поднялся транк), а также сконфигурировать остальные сетевые параметры. В нашем случае все настройки были произведены вручную.
C:\>ipconfig /all Windows IP Configuration Host Name . . . . . . . . . . . . : FOX Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Unknown IP Routing Enabled. . . . . . . . : Yes WINS Proxy Enabled. . . . . . . . : No Ethernet adapter Local: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : VLAN 3: Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet Controller Physical Address. . . . . . . . . : 00-1B-FC-E1-E2-FF DHCP Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : 192.168.0.1 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : Ethernet adapter Inet: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : VLAN 2: Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet Controller Physical Address. . . . . . . . . : 00-1B-FC-E1-E2-FF DHCP Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : 192.168.1.2 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.1 DNS Servers . . . . . . . . . . . : 192.168.1.1Одним из применений такой схемы может являться сервер, доступный напрямую из нескольких VLAN, то есть только через устройства второго уровня модели OSI. Не менее интересным применением рассматриваемой схемы может являться такая настройка сервера, чтобы он занимался маршрутизацией и трансляциями (NAT/PAT). Сконфигурируем тестовый стенд, позволяющий ноутбуку выходить в глобальную сеть через стационарный компьютер с использованием ICS (Internet Connection Sharing). Как конфигурируется ICS на Windows XP можно прочитать здесь. Аналогичная конфигурация была проведена на рассматриваемом сервере.
Теперь требуется произвести некоторые настройки на коммутаторе, к которому подключены все устройства. В нашем распоряжении был Cisco Catalyst WS-C2960G-24TC-L, информация об IOS которого представлена ниже. Некоторая несущественная информация была опущена.
WS-C2960G-24TC-L#sho ver Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(46)SE, RELEASE SOFTWARE (fc2) Copyright (c) 1986-2008 by Cisco Systems, Inc. Compiled Thu 21-Aug-08 15:59 by nachen Image text-base: 0x00003000, data-base: 0x01200000 ROM: Bootstrap program is C2960 boot loader BOOTLDR: C2960 Boot Loader (C2960-HBOOT-M) Version 12.2(25r)SEE1, RELEASE SOFTWARE (fc1) WS-C2960G-24TC-L uptime is 32 minutes System returned to ROM by power-on System image file is "flash:c2960-lanbasek9-mz.122-46.SE.bin" cisco WS-C2960G-24TC-L (PowerPC405) processor (revision D0) with 61440K/4088K bytes of memory. Processor board ID FOC1209U0D2 Last reset from power-on 1 Virtual Ethernet interface 24 Gigabit Ethernet interfaces The password-recovery mechanism is enabled. 64K bytes of flash-simulated non-volatile configuration memory. Base ethernet MAC Address : 00:1F:C9:24:13:00 Motherboard assembly number : 73-10015-06 Power supply part number : 341-0098-01 Motherboard serial number : FOC12090HR4 Power supply serial number : AZS120515AU Model revision number : D0 Motherboard revision number : A0 Model number : WS-C2960G-24TC-L System serial number : FOC1209U0D2 Top Assembly Part Number : 800-26673-03 Top Assembly Revision Number : B0 Version ID : V03 CLEI Code Number : 453091 Hardware Board Revision Number : 0x01 Switch Ports Model SW Version SW Image ------ ----- ----- ---------- ---------- * 1 24 WS-C2960G-24TC-L 12.2(46)SE C2960-LANBASEK9-M Configuration register is 0xFПосле загрузки коммутатора мы удалили всю имеющуюся конфигурацию и перешли к настройкам с чистого листа. Прежде всего был выбран VTP-режим Transparent, хотя в большой корпоративной сети данный раздел конфигурации может существенно отличаться.
WS-C2960G-24TC-L#sho vtp sta VTP Version : running VTP1 (VTP2 capable) Configuration Revision : 0 Maximum VLANs supported locally : 255 Number of existing VLANs : 7 VTP Operating Mode : Transparent VTP Domain Name : VTP Pruning Mode : Disabled VTP V2 Mode : Disabled VTP Traps Generation : Disabled MD5 digest : 0x74 0xAD 0xAC 0x6F 0xD1 0x5C 0xBB 0x8B Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00После этого были добавлены новые виртуальные сети, в которые перенесли физические порты коммутатора: для выхода в глобальную сеть служит порт Gi0/20, а для обращений к локальной сети выбран Gi0/19. Описание правил конфигурирования коммутаторов Cisco выходит за рамки данной статьи.
WS-C2960G-24TC-L#sho vla bri VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Gi0/2, Gi0/3, Gi0/4, Gi0/5 Gi0/6, Gi0/7, Gi0/8, Gi0/9 Gi0/10, Gi0/11, Gi0/12, Gi0/13 Gi0/14, Gi0/15, Gi0/16, Gi0/17 Gi0/18, Gi0/21, Gi0/22, Gi0/23 Gi0/24 2 2Inet active Gi0/20 3 2Local active Gi0/19 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-defaultact/unsupК порту Gi0/1 подключается транком маршрутизирующий сервер. Итоговая конфигурация задействованных портов представлена ниже.
interface GigabitEthernet0/1 description 2TaggedCompRouter switchport trunk allowed vlan 2,3 switchport mode trunk ! interface GigabitEthernet0/2 ! interface GigabitEthernet0/18 ! interface GigabitEthernet0/19 description 2Local switchport access vlan 3 switchport mode access ! interface GigabitEthernet0/20 description 2Inet switchport access vlan 2 switchport mode accessАналогично конфигурируется и другое L2 оборудование. Пример настройки коммутатора в Linksys RVS4000 представлен ниже.
Вернёмся к нашему тестовому стенду с WS-C2960G-24TC-L и проверим его мостовую таблицу, чтобы убедиться в том, что оба устройства по концам транка понимают сигнализацию друг друга. MAC-адрес 001b.fce1.e2ff виден в обоих VLAN'ах.
WS-C2960G-24TC-L#sho mac add dy Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- 2 001b.fce1.e2ff DYNAMIC Gi0/1 2 001c.10f4.c166 DYNAMIC Gi0/20 3 001b.fce1.e2ff DYNAMIC Gi0/1 3 0022.1516.3cbe DYNAMIC Gi0/19 Total Mac Addresses for this criterion: 4 WS-C2960G-24TC-L#Настроим теперь сеть на тестовом ноутбуке ASUS Eee PC 900 так, как показано ниже, а также подключим его прямым патч-кордом к порту Gi0/19 коммутатора.
Windows IP Configuration Host Name . . . . . . . . . . . . : fox Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Unknown IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Atheros L2 Fast Ethernet 10/100 Base-T Controller Physical Address. . . . . . . . . : 00-22-15-16-3C-BE DHCP Enabled. . . . . . . . . . . : No IPv4 Address. . . . . . . . . . . : 192.168.0.2 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.0.1 DNS Servers . . . . . . . . . . . : 192.168.100.1Теперь осталось убедиться, что есть выход в интернет с самого сервера, а также проверить, чтобы тестовый ноутбук корректно выходил в глобальную сеть через маршрутизирующий сервер. Часть узлов, через которые проходят данные, скрыты умышленно, читателя не должно это смущать.
Tracing route to www.ru [194.87.0.50] over a maximum of 30 hops: 1 1 ms 1 ms 1 ms 192.168.1.1 2 * * * Request timed out. 3 * * * Request timed out. 4 * * * Request timed out. 5 * * * Request timed out. 6 19 ms 12 ms 12 ms 83.217.192.169 7 10 ms 11 ms 13 ms 193.232.244.35 8 22 ms 32 ms 15 ms 194.87.0.111 9 10 ms 18 ms 19 ms 194.87.0.50 Trace complete.Видим, что с сервера доступ к сети интернет есть, запустим трассировку с ноутбука.
Tracing route to www.ru [194.87.0.50] over a maximum of 30 hops: 1 1 ms <1 мс <1 мс 192.168.0.1 2 1 ms 1 ms 1 ms 192.168.1.1 3 * * * Request timed out. 4 * * * Request timed out. 5 * * * Request timed out. 6 * * * Request timed out. 7 22 ms 17 ms 22 ms 83.217.192.169 8 10 ms 19 ms 20 ms 193.232.244.35 9 19 ms 13 ms 16 ms 194.87.0.111 10 18 ms 13 ms 13 ms 194.87.0.50 Trace complete.Полученные результаты показывают, что на пути IP-пакетов от ноутбука в глобальную сеть встречается тестовый сервер на первом шаге, что и требовалось получить. Схема прохождения трафика через тестовый стенд представлена ниже. Теперь желающие могут установить на этот программный маршрутизатор, например, программу для учёта пользовательского трафика и сбора статистики, антивирусное программное обеспечение и так далее.
Необходимо обратить внимание, что через транковое соединение в такой схеме будет передаваться вдвое больше данных, так как один и тот же пакет следует сначала к маршрутизирующему серверу, а затем в обратном направлении по одному и тому же физическому линку.
Продемонстрированный метод даёт возможность довести транк непосредственно до серверов, что позволяет сэкономить на ресурсах аппаратных маршрутизаторов, а также портах коммутатора, которые могли бы потребоваться для подключения такого узла.