Product SiteDocumentation Site

Глава 6. Маршрутизация сетей с VLAN

6.1. Построение сети с VLAN
6.1.1. Настройка абонентов
6.1.2. Настройка пограничного маршрутизатора
6.1.3. Настройка коммутатора
6.1.4. Настройка статических маршрутов
6.1.5. Проверка настройки сети
6.2. Самостоятельная работа
6.2.1. Задание
Цель лабораторной работы — познакомить изучающего с возможностями маршрутизации в сетях с VLAN.
Задачи лабораторной работы:

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

Для изучения маршрутизации в сетях с VLAN разберём топологию с двумя VLAN‑сетями и настроим трафик между ними через пограничный маршрутизатор, способный передавать пакеты в обеих сетях.
Топология для выполнения лабораторной
Для работы создайте 4 клона согласно топологии сети. Для создания соединений между машинами необходимо в VirtualBox настроить сетевые интерфейсы (описание настройки подключения находится в соответствующем разделе второй лабораторной):
  • R1:
    • Adapter2left4
  • R2:
    • Adapter2trunk
  • R3:
    • Adapter2right8
  • S1:
    • Adapter2left4
    • Adapter3trunk
    • Adapter4right8

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

  1. С помощью команд управления интерфейсами и настройки IP‑адресов на R1 и R3 включите интерфейсы и установите на них IP‑адреса согласно топологии:
    [root@R1 ~]# ip link set eth1 up
    [root@R1 ~]# ip addr add dev eth1 10.0.4.1/24
    [root@R1 ~]#
    
    [root@R3 ~]# ip link set eth1 up
    [root@R3 ~]# ip addr add dev eth1 10.0.8.1/24
    [root@R3 ~]#
    

6.1.2. Настройка пограничного маршрутизатора

Поскольку трафик необходимо будет направлять через пограничный маршрутизатор, на нём должны быть явные интерфейсы локальных сетей с присвоенными IP‑адресами. Так как физический канал связи по топологии один, необходимо создать виртуальные интерфейсы, каждый из которых будет направлен в свою VLAN‑сеть.
  1. команды создания связанных виртуальных интерфейсов :new: на R2 создайте два виртуальных VLAN‑интерфейса из VLAN‑сетей согласно топологии
    [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‑адреса согласно топологии:
    [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
    [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 ~]#
    

6.1.3. Настройка коммутатора

  1. С помощью команд управления интерфейсами создайте на S1 интерфейс типа bridge с указанием параметра vlan_filtering и свяжите с ним все используемые физические интерфейсы
    [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 на интерфейсы согласно топологии
    [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 все используемые интерфейсы
    [root@S1 ~]# for I in `ls /sys/class/net`; do ip link set $I up; done
    

6.1.4. Настройка статических маршрутов

  1. С помощью команды управления таблицами маршрутизации на R1 и R2 добавьте информацию о маршрутах по умолчанию
    [root@R1 ~]# ip route add default via 10.0.4.254
    
    [root@R3 ~]# ip route add default via 10.0.8.254
    

6.1.5. Проверка настройки сети

  1. С помощью команды мониторинга сети запустите на R2 сканирование интерфейса eth1 c выводом кода пакета
    [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
    [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 — сами значения идентификаторов тэга.
    [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
    <...>