View on GitHub

Network Technologies Labolatories

Practical materials for learning Network Technologies

Лабораторная работа №4 — Настройка VLAN


Быстрый поиск


Цель лабораторной — познакомить изучающего с основами технологии VLAN

Задачи лабораторной:


Технология VLAN

VLAN — Virtual Local Area Network — технология, которая позволяет разделить одну физическую сеть на несколько логических подсетей независимо от их физического расположения. В данной лабораторной для огранизации VLAN-ов используется протокол IEEE_802.1Q, в котором Ethernet-фреймы снабжаются дополнительным идентификатором виртуальной сети (тегом VID).


Построение сети с VLAN

Для изучения технологии VLAN разберём топологию с из шеcти устройств:

ℹ В предлагаемой топологии между любыми двумя соседними узлами PC и com циркулируют обычные Ethernet-фреймы, а между узлами comleft и comright — любые модифицированные 802.1Q (т. н. trunk). При этом фреймы, получаемые от PC1 и PC4 помечаются одним VID, а от PC2 и PC3 — двумя другими. Таким образом PC1 и PC4 образуют единый VLAN и доступны друг для друга, а PC2 и PC3 находятся в изолированных VLAN-ах с единственным абонентом в каждом.

Для работы создайте 6 клонов согласно топологии сети. Для создания соединений между машинами необходимо в VirtualBox настроить сетевые интерфейсы (описание настройки подключения находится в разделе настройки сетевых подключений):


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

📍 1. С помощью команд управления интерфейсами и настройки IP-адресов настройте интерфейсы и установите на них IP-адреса согласно топологии

@pc1

[root@pc1 ~]# ip link set eth1 up
[root@pc1 ~]# ip addr add dev eth1 10.0.0.1/24

@pc2

[root@pc2 ~]# ip link set eth1 up
[root@pc2 ~]# ip addr add dev eth1 10.0.0.2/24

@pc3

[root@pc3 ~]# ip link set eth1 up
[root@pc3 ~]# ip addr add dev eth1 10.0.0.3/24

@pc4

[root@pc4 ~]# ip link set eth1 up
[root@pc4 ~]# ip addr add dev eth1 10.0.0.4/24

Настройка VLAN

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

Для реализации поведения сетевого моста на коммутаторах необходимо задать специальные виртуальные интерфейсы типа bridge, через которые с помощью команды связывания интерфейсов :new: ip link set <interface> master <master-interface> будут объединяться интерфейсы разных каналов. Данные сетевые интерфейсы также будут обеспечивать фильтрацию фреймов по тегам VLAN, для этого при их создании необходимо указать параметр vlan_filtering:

📍 1. С помощью команд управления интерфейсами создайте на коммутаторах интерфейсы типа bridge с указанием параметра vlan_filtering и свяжите с ними все используемые физические интерфейсы

@comleft

[root@comleft ~]# ip link add dev br0 type bridge vlan_filtering 1
[root@comleft ~]# ip link set eth1 master br0
[root@comleft ~]# ip link set eth2 master br0
[root@comleft ~]# ip link set eth3 master br0

@comright

[root@comright ~]# ip link add dev br0 type bridge vlan_filtering 1
[root@comright ~]# ip link set eth1 master br0
[root@comright ~]# ip link set eth2 master br0
[root@comright ~]# ip link set eth3 master br0

ℹ Далее необходимо настроить фильтрацию VLAN. Для этого с помощью команды настройки VLAN :new: bridge vlan add vid <vlan-id> dev <interface> необходимо указать, какой интерфейс будет обрабатывать фреймы с указаным тегом:

📍 2. С помощью команд настройки VLAN установите на коммутаторах VLAN на интерфейсы согласно топологии

@comleft

[root@comleft ~]# bridge vlan add vid 2 dev eth3 pvid untagged
[root@comleft ~]# bridge vlan add vid 4 dev eth2 pvid untagged
[root@comleft ~]# bridge vlan add vid 2 dev eth1
[root@comleft ~]# bridge vlan add vid 3 dev eth1
[root@comleft ~]# bridge vlan add vid 4 dev eth1

@comright

[root@comright ~]# bridge vlan add vid 3 dev eth3 pvid untagged
[root@comright ~]# bridge vlan add vid 4 dev eth2 pvid untagged
[root@comright ~]# bridge vlan add vid 2 dev eth1
[root@comright ~]# bridge vlan add vid 3 dev eth1
[root@comright ~]# bridge vlan add vid 4 dev eth1

📍 3. C помощью команд управления интерфейсами включите на коммутаторах все используемые интерфейсы

ℹ Для упрощения можно воспользоваться коротким shell-сценарием, автоматически включающим все интерфейсы (ВАЖНО: в том числе неиспользуемые)

@comleft

[root@comleft ~]# for I in `ls /sys/class/net`; do ip link set $I up; done

@comright

[root@comright ~]# for I in `ls /sys/class/net`; do ip link set $I up; done

ℹ Все настройки, связанные с VLAN, можно посмотреть специальной командой просмотра настроек VLAN :new: bridge vlan show

📍 4. С помощью команд настройки VLAN выведите все данные о настройке VLAN на коммутаторе comleft:

@comleft

[root@comleft ~]# bridge vlan show
port              vlan-id
eth1              1 PVID Egress Untagged
                  2
                  3
                  4
eth2              1 Egress Untagged
                  4 PVID Egress Untagged
eth3              1 Egress Untagged
                  2 PVID Egress Untagged
br0               1 PVID Egress Untagged
[root@comleft ~]#

ℹ Теперь попробуйте пропустить между абонентами трафик: между pc1 и pc4 будет проходить соединение, между любой другой парой абонентов — нет.

📍 5. С помощью команды ping -c5 <dstIP> отправьте пять ICMP-пакетов с PC3 на PC2 и пять ICMP-пакетов с PC3 на PC1

@pc3

[root@pc3 ~]# ping -c5 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
From 10.0.0.3 icmp_seq=1 Destination Host Unreachable
ping: sendmsg: No route to host
From 10.0.0.3 icmp_seq=2 Destination Host Unreachable
From 10.0.0.3 icmp_seq=3 Destination Host Unreachable
From 10.0.0.3 icmp_seq=5 Destination Host Unreachable

--- 10.0.0.2 ping statistics ---
5 packets transmitted, 0 received, +4 errors, 100% packet loss, time 4105ms
pipe 3
[root@pc3 ~]# ping -c5 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
From 10.0.0.3 icmp_seq=1 Destination Host Unreachable
From 10.0.0.3 icmp_seq=2 Destination Host Unreachable
From 10.0.0.3 icmp_seq=3 Destination Host Unreachable
From 10.0.0.3 icmp_seq=4 Destination Host Unreachable
From 10.0.0.3 icmp_seq=5 Destination Host Unreachable

--- 10.0.0.1 ping statistics ---
5 packets transmitted, 0 received, +5 errors, 100% packet loss, time 4114ms
pipe 3
[root@pc3 ~]#

📍 6. С помощью команды ping -c5 <dstIP> отправьте пять ICMP-пакетов с PC4 на PC1

@pc4

[root@pc4 ~]# ping -c5 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.948 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.792 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.663 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=1.08 ms
64 bytes from 10.0.0.1: icmp_seq=5 ttl=64 time=1.28 ms

--- 10.0.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4064ms
rtt min/avg/max/mdev = 0.663/0.953/1.282/0.217 ms
[root@pc4 ~]#

Убедимся, что данные от абонентов из других VLAN доходят до коммутаторов, но далее не проходят

Запустим на comleft команду tcpdump -xx -i eth1, которая будет отслеживать трафик на интерфейсе eth1:

📍 7. С помощью команды мониторинга сети запустите на comleft сканирование интерфейса eth1 c выводом кода пакета

@comleft

[root@comleft ~]# tcpdump -xx -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes

📍 8. С помощью команды ping -c3 <dstIP> отправьте три ICMP-пакета с PC3 на PC1

@pc3

[root@pc3 ~]# ping -c3 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
From 10.0.0.3 icmp_seq=1 Destination Host Unreachable
From 10.0.0.3 icmp_seq=2 Destination Host Unreachable
From 10.0.0.3 icmp_seq=3 Destination Host Unreachable

--- 10.0.0.1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2077ms
pipe 3
[root@pc3 ~]#

@comleft

[root@comleft ~]# tcpdump -xx -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
22:18:47.881650 ARP, Request who-has 10.0.0.1 tell 10.0.0.3, length 46
       0x0000:  ffff ffff ffff 0800 27cc 8f19 8100 0003
       0x0010:  0806 0001 0800 0604 0001 0800 27cc 8f19
       0x0020:  0a00 0003 0000 0000 0000 0a00 0001 0000
       0x0030:  0000 0000 0000 0000 0000 0000 0000 0000
22:18:48.933866 ARP, Request who-has 10.0.0.1 tell 10.0.0.3, length 46
       0x0000:  ffff ffff ffff 0800 27cc 8f19 8100 0003
       0x0010:  0806 0001 0800 0604 0001 0800 27cc 8f19
       0x0020:  0a00 0003 0000 0000 0000 0a00 0001 0000
       0x0030:  0000 0000 0000 0000 0000 0000 0000 0000
22:18:49.957684 ARP, Request who-has 10.0.0.1 tell 10.0.0.3, length 46
       0x0000:  ffff ffff ffff 0800 27cc 8f19 8100 0003
       0x0010:  0806 0001 0800 0604 0001 0800 27cc 8f19
       0x0020:  0a00 0003 0000 0000 0000 0a00 0001 0000
       0x0030:  0000 0000 0000 0000 0000 0000 0000 0000

Самостоятельная работа

📍 Запустить отчёты на каждой машине и выполнить соответствующие команды:

📍 Полученные отчёты report.04.comright, report.04.comleft, report.04.pc1, report.04.pc2, report.04.pc3, report.04.pc4 перенести из виртуальной машины и прислать преподавателю.