Лабораторная работа №5 — Маршрутизация сетей с VLAN
- Все лабораторные работы по сетевым протоколам в Linux
- Предыдущая лабораторная работа — Настройка VLAN
- Следующая лабораторная работа — Работа с протоколом STP
Быстрый поиск
Цель лабораторной — познакомить изучающего с возможностями маршрутизации в сетях с VLAN
Задачи лабораторной:
- Изучить возможности маршрутизации пакетов между VLAN;
- Реализовать тестовую топологию с применением технологии VLAN.
Построение сети с VLAN
Для изучения маршрутизации в сетях с VLAN разберём топологию с двумя VLAN-сетями и настроим трафик между ними через пограничный маршрутизатор, способный передавать пакеты в обеих сетях.

Для работы создайте 4 клона согласно топологии сети. Для создания соединений между машинами необходимо в VirtualBox настроить сетевые интерфейсы (описание настройки подключения находится в разделе настройки сетевых подключений):
R1:- Adapter2 — left4
R2:- Adapter2 — trunk
R3:- Adapter2 — right8
S1:- Adapter2 — left4
- Adapter3 — trunk
- Adapter4 — right8
Настройка абонентов
📍 1. С помощью команд управения интерфейсами и настройки IP-адресов на R1 и R3 включите интерфейсы и установите на них IP-адреса согласно топологии:
@R1
[root@R1 ~]# ip link set eth1 up
[root@R1 ~]# ip addr add dev eth1 10.0.4.1/24
[root@R1 ~]#
@R3
[root@R3 ~]# ip link set eth1 up
[root@R3 ~]# ip addr add dev eth1 10.0.8.1/24
[root@R3 ~]#
Настройка пограничного маршрутизатора
ℹ Поскольку трафик необходимо будет направлять через пограничный маршрутизатор, на нём должны быть явные интерфейсы локальных сетей с присвоенными IP-адресами. Так как физический канал связи по топологии один, необходимо создать виртуальные интерфейсы, каждый из которых будет направлен в свою VLAN-сеть.
📍 1. С помощью команды создания связанных виртуальных интерфейсов :new: на R2 создайте два виртуальных VLAN-интерфейса из VLAN-сетей согласно топологии
@R2
[root@R2 ~]# ip link add link eth1 name vlan4 type vlan id 4
[root@R2 ~]# ip link add link eth1 name vlan8 type vlan id 8
[root@R2 ~]#
📍 2. С помощью команд управения интерфейсами и настройки IP-адресов на R2 включите интерфейсы и установите на них IP-адреса согласно топологии:
@R2
[root@R2 ~]# ip addr add dev vlan4 10.0.4.254/24
[root@R2 ~]# ip addr add dev vlan8 10.0.8.254/24
[root@R2 ~]# ip link set eth1 up
[root@R2 ~]# ip link set vlan4 up
[root@R2 ~]# ip link set vlan8 up
[root@R2 ~]#
ℹ Для передачи пакетов между сетевыми интерфейсами необходимо изменить настройку net.ipv4.conf.all.forwarding:
📍 3. С помощью команды перечачи пакетов между интерфейсами :new: sysctl net.ipv4.conf.all.forwarding=1 разрешите передачу пакетов на R2
@R2
[root@R2 ~]# sysctl net.ipv4.conf.all.forwarding
net.ipv4.conf.all.forwarding = 0
[root@R2 ~]# sysctl net.ipv4.conf.all.forwarding=1
[root@R2 ~]#
Настройка коммутатора
📍 1. С помощью команд управления интерфейсами создайте на S1 интерфейс типа bridge с указанием параметра vlan_filtering и свяжите с ним все используемые физические интерфейсы
@S1
[root@S1 ~]# ip link add dev br0 type bridge vlan_filtering 1
[root@S1 ~]# ip link set eth1 master br0
[root@S1 ~]# ip link set eth2 master br0
[root@S1 ~]# ip link set eth3 master br0
📍 2. С помощью команд настройки VLAN установите на S1 VLAN на интерфейсы согласно топологии
@S1
[root@S1 ~]# bridge vlan add vid 4 dev eth1 pvid untagged
[root@S1 ~]# bridge vlan add vid 8 dev eth3 pvid untagged
[root@S1 ~]# bridge vlan add vid 4 dev eth2
[root@S1 ~]# bridge vlan add vid 8 dev eth2
📍 3. C помощью команд управления интерфейсами включите на S1 все используемые интерфейсы
@S1
[root@S1 ~]# for I in `ls /sys/class/net`; do ip link set $I up; done
Настройка статических маршрутов
📍 1. С помощью команды управления таблицами маршрутизации на R1 и R2 добавьте информацию о маршрутах по умолчанию
@R1
[root@R1 ~]# ip route add default via 10.0.4.254
@R3
[root@R3 ~]# ip route add default via 10.0.8.254
Проверка настройки сети
📍 1. С помощью команды мониторинга сети запустите на R2 сканирование интерфейса eth1 c выводом кода пакета
@R2
[root@R2 ~]# 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
📍 2. С помощью команды ping -c3 <dstIP> отправьте три ICMP-пакета с R1 на R3
@R1
[root@R1 ~]# ping -c3 10.0.8.1
PING 10.0.8.1 (10.0.8.1) 56(84) bytes of data.
64 bytes from 10.0.8.1: icmp_seq=1 ttl=63 time=3.28 ms
64 bytes from 10.0.8.1: icmp_seq=2 ttl=63 time=1.87 ms
64 bytes from 10.0.8.1: icmp_seq=3 ttl=63 time=1.97 ms
--- 10.0.8.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.868/2.371/3.282/0.644 ms
[root@R1 ~]#
ℹ Каждый ping request-reply в tcpdump сопровождается четырьмя отметками: двумя для исходящего пакета и двумя для ответного. Отметки об одном и том же пакете отличаются только в 13-16 байтах (конец первой строки каждого пакета). Это тэг VID: 0x8100 это информационные байты, сообщающие о наличии тэга в заголовке, 0x0008 и 0x0004 — сами значения идентификаторов тэга.
@R2
[root@R2 ~]# 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
20:25:49.360836 IP 10.0.4.1 > 10.0.8.1: ICMP echo request, id 2, seq 1, length 64
0x0000: 0800 2719 4dcd 0800 27f5 ce47 8100 0004
0x0010: 0800 4500 0054 0023 4000 4001 1a85 0a00
0x0020: 0401 0a00 0801 0800 c6f6 0002 0001 4d5f
0x0030: d068 0000 0000 546b 0000 0000 0000 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
20:25:49.360855 IP 10.0.4.1 > 10.0.8.1: ICMP echo request, id 2, seq 1, length 64
0x0000: 0800 27b3 98a5 0800 2719 4dcd 8100 0008
0x0010: 0800 4500 0054 0023 4000 3f01 1b85 0a00
0x0020: 0401 0a00 0801 0800 c6f6 0002 0001 4d5f
0x0030: d068 0000 0000 546b 0000 0000 0000 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
20:25:49.361696 IP 10.0.8.1 > 10.0.4.1: ICMP echo reply, id 2, seq 1, length 64
0x0000: 0800 2719 4dcd 0800 27b3 98a5 8100 0008
0x0010: 0800 4500 0054 2bb9 0000 4001 2eef 0a00
0x0020: 0801 0a00 0401 0000 cef6 0002 0001 4d5f
0x0030: d068 0000 0000 546b 0000 0000 0000 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
20:25:49.361705 IP 10.0.8.1 > 10.0.4.1: ICMP echo reply, id 2, seq 1, length 64
0x0000: 0800 27f5 ce47 0800 2719 4dcd 8100 0004
0x0010: 0800 4500 0054 2bb9 0000 3f01 2fef 0a00
0x0020: 0801 0a00 0401 0000 cef6 0002 0001 4d5f
0x0030: d068 0000 0000 546b 0000 0000 0000 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
<...>
Самостоятельная работа

📍 1. Определить свой вариант X, как свой номер по порядку в упорядоченном по алфавиту списке группы.
📍 2. Создать топологию, изображенную выше.
📍 3. PC1 и PC3 должны быть объединены в один VLAN с номером (X + 10). PC2 и PC4 должны быть объединены в другой VLAN с номером (X + 20).
📍 4. Реализовать пересылку между VLAN через маршрутизатор R1
📍 5. IP-адреса для сетевых устройств в VLAN (X + 10) брать из сети 10.0.{X+10}.0/24. IP-адреса для сетевых устройств в VLAN (X + 20) брать из сети 10.0.{X+20}.0/24.
📍 6. Запустить отчёты на каждой машине и выполнить соответствующие команды:
⚠ Важно: Поскольку для устройств не зафиксированы номера хостов, их выбор оставляется за исполнителем. При описании команд отчётов используются номера 1, 2, 3, 4 для IP-адресов абонентов и 254 для обозначения IP-адресов маршрутизатора. Необходимо на этом месте указывать выбранные IP-адреса.
report 5 pc1- ip a show
<PC1→S1 interface> - ip route
- ping -fc3 10.0.{X+10}.254
- ping -fc3 10.0.{X+20}.254
- ping -fc3 10.0.{X+20}.2
- ping -fc3 10.0.{X+10}.3
- ping -fc3 10.0.{X+20}.4
- traceroute 10.0.{X+10}.3
- ip a show
report 5 pc2- ip a show
<PC2→S1 interface> - ip route
- ping -fc3 10.0.{X+20}.254
- ping -fc3 10.0.{X+10}.254
- ping -fc3 10.0.{X+10}.1
- ping -fc3 10.0.{X+10}.3
- ping -fc3 10.0.{X+20}.4
- traceroute 10.0.{X+20}.4
- ip a show
report 5 pc3- ip a show
<PC3→S2 interface> - ip route
- ping -fc3 10.0.{X+10}.254
- ping -fc3 10.0.{X+20}.254
- ping -fc3 10.0.{X+10}.1
- ping -fc3 10.0.{X+20}.2
- ping -fc3 10.0.{X+20}.4
- traceroute 10.0.{X+10}.1
- ip a show
report 5 pc4- ip a show
<PC4→S2 interface> - ip route
- ping -fc3 10.0.{X+20}.254
- ping -fc3 10.0.{X+10}.254
- ping -fc3 10.0.{X+10}.1
- ping -fc3 10.0.{X+20}.2
- ping -fc3 10.0.{X+10}.3
- traceroute 10.0.{X+20}.2
- ip a show
report 5 r1- ip a show
<R1→S2 (vlan X+10) interface> - ip a show
<R1→S2 (vlan X+20) interface> - ip route
- sysctl net.ipv4.conf.all.forwarding
- ip a show
report 5 s1- bridge vlan show
report 5 s2- bridge vlan show
📍 Полученные отчёты report.05.pc1, report.05.pc2, report.05.pc3, report.05.pc4, report.05.r1, report.05.s1, report.05.s2 перенести из виртуальной машины и прислать преподавателю с подписью выполненного варианта.