Настройка DHCP для Vlan через bridge-group BVI на CISCO

Это продолжение темы по настройке DHCP на коммутационном CISCO. В этой статье мы рассмотрим ситуацию, когда в сети присутствует два коммутатора второго уровня и один маршрутизатор (Router). В сети присутствует три Vlan и соответственно три подсети с разграничением прав доступа между ними. Но самое интересное в том, что маршрутизатор (Router) подключен к обоим коммутаторам (Swich). Тогда возникает вопрос: как же настроить порты на маршрутизатора (Router), что бы оба порта (Gi0/0, Gi0/1) отвечали на один IP адрес?


Дано:

  • Оборудование
    1. Маршрутизатор (Router) — 1 шт.
    2. Коммутатор (LVL-2) — 2 шт.
  • Сеть
    1. 192.168.10.0/24 — для клиентов сети на ПК
    2. 192.168.20.0/24 — для мобильных клиентов сети Laptop
    3. 192.168.30.0/24 — для сети с сервисами, которые предоставляет серверная инфраструктура
Задача:

1. Нужно настроить сеть таким образом, чтобы IP адреса выдавались по DHCP в зависимости от подключения клиентского оборудования к портам коммутатора (т.е. каждому типу устройства своя подсеть).

2. Если одно любое подключение от маршрутизатора (Router) к коммутатору (Swich) обрывается, то сеть должна остаться в рабочем состоянии, т.е. пункт №1 должен выполняться.

3. На маршрутизаторе три физических порта (Gi0/0, Gi0/1, Gi0/2). Порты Gi0/0 и Gi0/1 для локальной сети, но ситуация заключается в том, что эти порты обслуживают сети имея «одинаковые» IP адреса шлюза, т.е на роутере R1 для каждой подсети мы имеем по одному IP адресу, всего получается три IP на каждый физический порт. Нужно, чтобы IP адреса GW были одинаковы на портах Gi0/0, Gi0/1 маршрутизатора (Router) R1. Порт Gi0/2 для прочих сетей (например интернет, но мы его трогать не будем).

4. Требуется ограничение сетевого доступа.

  • В подсеть для сервер-сервисов должны иметь доступ все клиенты из любой подсети.
  • Подсети для PC и Laptop  не должны видеть друг друга, но должны видеть сервера из п. выше.

Давайте поэтапно рассмотрим схему сети.

На схеме в левой части отображено два сервера, которые находятся в 192.168.30.0/24 и предоставляют сервисы для остальных клиентов сети.
В центральной части находятся два коммутатора, которые предоставляют сетевые подключения для всех устройств. Также эти коммутаторы имею подключение между собой для обеспечения базовой отказоустойчивости сети в случае обрыва одного подключения между коммутатором (SW01 или SW02) и маршрутизатором R1.
В правой части отображен роутер R1 который управляет сетевым взаимодействием всех участников данной топологии сети.
В верхней и нижней частях схемы расположились клиенты сети работающие за PC и Laptop.

Итак полная схема топологии сети


Для того, чтобы правильно выдавать IP адреса нужных подсетей по DHCP всем участникам сети, разделим сеть на три VLAN. В итоге у нас получится

  • Vlan 10 — 192.168.10.0/24
  • Vlan 20 — 192.168.20.0/24
  • Vlan 30 — 192.168.30.0/24

 Укажем изменения на схему сети.

Теперь рассмотрим область сети, где расположена зона с Vlan 10. Так как устройства Vlan 20 это мобильные рабочие места, то возможно что одно или более рабочих мест может переподключиться из коммутатора SW02 в коммутатор SW01. Поэтому на коммутаторах нужно предусмотреть «гостевые» порты для устройств.

Итак итоговая топология сети в месте с Vlan и подсетями.

С топологиями сети достаточно, приступим к настройке оборудования.

Подключаемся к коммутатору помеченному на топологии сети как SW01 и выполняем следующие настройки.

Коммутатор SW01
Укажем новое имя коммутатору — SW01
vIOS-L2-01>en
vIOS-L2-01#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
vIOS-L2-01(config)#hostname SW01
SW01(config)#
Добавим VLAN на коммутационное устройство SW01
SW01#vlan data
% Warning: It is recommended to configure VLAN from config mode,
  as VLAN database mode is being deprecated. Please consult user
  documentation for configuring VTP/VLAN in config mode.

SW01(vlan)#vl 10
VLAN 10 added:
    Name: VLAN0010
SW01(vlan)#vl 20
VLAN 20 added:
    Name: VLAN0020
SW01(vlan)#vl 30
VLAN 30 added:
    Name: VLAN0030
SW01(vlan)#ex
APPLY completed.
Exiting....
Теперь настроим интерфейсы. Количество интерфейсов можно указывать любое, в зависимости от задач и кол-во портов на коммутаторе. 
Настройка сетевых интерфейсов для Vlan 10, для ПК в подсети 192.168.10.0/24 
SW01(config)#interface range gigabitEthernet0/0-1
SW01(config-if-range)#switchport access vlan 10
SW01(config-if-range)#ex
Настройка «гостевых» сетевых интерфейсов для Vlan 20, для Laptop в подсети 192.168.20.0/24. В моём случае это всего один интерфейс, но по идее можно указать любое количество.
SW01(config)#int gi0/2
SW01(config-if)#sw acc vl 20
SW01(config-if)#ex
Настройка интерфейсов для Vlan 30, для сервисов, которые предоставляет серверная инфраструктура в подсети 192.168.30.0/24
SW01(config)#int gi0/3
SW01(config-if)#sw acc vl 30
SW01(config-if)#ex
Теперь настроим порты коммутатора которые будут подключены к маршрутизатору R1 и второму коммутатору SW02. Эти порты будут работать в режиме TRUNK
SW01(config)# interface range gigabitEthernet 1/0-1
SW01(config-if-range)#switchport trunk encapsulation dot1q
SW01(config-if-range)#switchport mode trunk
SW01(config-if-range)#exit
Включим spanning-tree улучшенную версию STP — rapid-pvst
SW01(config)#spanning-tree mode rapid-pvst
SW01(config)#end
Сохраним конфигурацию
SW01#wr mem
Building configuration...
Compressed configuration from 5414 bytes to 2106 bytes[OK]
SW01#

Настройка коммутатора SW01 завершена.

Приступим к аналогичной настройке второго коммутатора — SW02.

Коммутатор SW02
Укажем новое имя коммутатору — SW02
vIOS-L2-01>en
vIOS-L2-01#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
vIOS-L2-01(config)#hostname SW02
SW02(config)#
Добавим VLAN на коммутационное устройство SW02
SW02#vlan data
% Warning: It is recommended to configure VLAN from config mode,
  as VLAN database mode is being deprecated. Please consult user
  documentation for configuring VTP/VLAN in config mode.

SW02(vlan)#vl 10
VLAN 10 added:
    Name: VLAN0010
SW02(vlan)#vl 20
VLAN 20 added:
    Name: VLAN0020
SW02(vlan)#vl 30
VLAN 30 added:
    Name: VLAN0030
SW02(vlan)#ex
APPLY completed.
Exiting....
Теперь настроим интерфейсы. Количество интерфейсов можно указывать любое, в зависимости от задач и кол-во портов на коммутаторе. Посмотрим что у нас вообще есть из портов.
SW02(config)#do sh int statu

Port      Name               Status       Vlan       Duplex  Speed Type
Gi0/0                        connected    1            auto   auto unknown
Gi0/1                        connected    1            auto   auto unknown
Gi0/2                        connected    1            auto   auto unknown
Gi0/3                        connected    1            auto   auto unknown
Gi1/0                        connected    1            auto   auto unknown
Gi1/1                        connected    1            auto   auto unknown
Gi1/2                        connected    1            auto   auto unknown
Gi1/3                        connected    1            auto   auto unknown
Настройка сетевых интерфейсов для Vlan 20, для Laptop в подсети 192.168.20.0/24 
SW02(config)#int ra gi0/0-1
SW02(config-if-range)#switchport access vlan 20
SW02(config-if-range)#ex
Настройка «гостевых» сетевых интерфейсов для Vlan 10, для ПК в подсети 192.168.10.0/24. В моём случае это всего один интерфейс, но по идее можно указать любое количество.
SW02(config)#int gi0/2
SW02(config-if)#sw acc vl 10
SW02(config-if)#ex
Настройка интерфейсов для Vlan 30, для сервисов, которые предоставляет серверная инфраструктура в подсети 192.168.30.0/24
SW02(config)#int gi0/3
SW02(config-if)#sw acc vl 30
SW02(config-if)#ex
Теперь настроим порты коммутатора которые будут подключены к маршрутизатору R1 и второму коммутатору SW01. Эти порты будут работать в режиме TRUNK. (Сокращённые команды)
SW02(config)#int ra gi1/0-1
SW02(config-if-range)#sw tr enc dot
SW02(config-if-range)#sw mo tru
SW02(config-if-range)#ex
Включим spanning-tree улучшенную версию STP — rapid-pvst
SW02(config)#spann mo rap
SW02(config)#
SW02(config)#end
Посмотрим какие VLAN назначены на порты и их состояние.
SW02(config)#do sh int statu

Port      Name               Status       Vlan       Duplex  Speed Type
Gi0/0                        connected    20           auto   auto unknown
Gi0/1                        connected    20           auto   auto unknown
Gi0/2                        connected    10           auto   auto unknown
Gi0/3                        connected    30           auto   auto unknown
Gi1/0                        connected    trunk        auto   auto unknown
Gi1/1                        connected    trunk        auto   auto unknown
Gi1/2                        connected    1            auto   auto unknown
Gi1/3                        connected    1            auto   auto unknown
Сохраним конфигурацию
SW02#wr mem
Building configuration...
Compressed configuration from 5422 bytes to 2102 bytes[OK]
SW02#

Настройка коммутатора SW02 завершена.

Приступим к настройке маршрутизатора R1.

Маршрутизатор R1
Укажем новое имя роутеру — R1
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R1
Создадим область (POOL) для выдачи IP адресов по DHCP для подсети 192.168.10.0/24 — ПК
R1(config)#ip dhcp pool PC
R1(dhcp-config)#network 192.168.10.0 255.255.255.0
R1(dhcp-config)#default-router 192.168.10.1
R1(dhcp-config)#exit
R1(config)#
Создадим область (POOL) для выдачи IP адресов по DHCP для подсети 192.168.20.0/24 — Laptop
R1(config)#ip dhcp pool LAPTOP
R1(dhcp-config)#netw 192.168.20.0 255.255.255.0
R1(dhcp-config)#def 192.168.20.1
R1(dhcp-config)#ex
Создадим область (POOL) для выдачи IP адресов по DHCP для подсети 192.168.30.0/24 — Server
R1(config)#ip dhcp pool SERVER
R1(dhcp-config)#netw 192.168.30.0 255.255.255.0
R1(dhcp-config)#def 192.168.30.1
R1(dhcp-config)#ex
R1(config)#
Укажем исключения для DHCP. Это IP адреса, которые будут статически настроены на роутере R1. Для клиентов сети это будут адреса GW — шлюз.
R1(config)#ip dhcp excluded-address 192.168.10.1
R1(config)#ip dhcp excluded-address 192.168.20.1
R1(config)#ip dhcp excluded-address 192.168.30.1
R1(config)#
Посмотрим интерфейсы на роутере CISCO (R1) 
R1(config)#do sh int des
Interface                      Status         Protocol Description
Gi0/0                          admin down     down
Gi0/1                          admin down     down
Gi0/2                          admin down     down
R1(config)#

Добавим к интерфейсу Gi0/0 и Gi0/1 по три виртуальных интерфейса для каждого Vlan.

Строка «encapsulation dot1Q 10» включает инкапсуляцию с помощью которой мы будем отлавливать пакеты сети предназначенные для подсети 192.168.10.0/24.

Строка «bridge-group 10» указывает группу для интерфейса, т.е. мы планируем сгруппировать два виртуальных интерфейса таким образом, чтобы физические интерфейсы Gi0/0 и Gi0/1 работали «одинаково» используя мостовые соединения. 

R1(config)#interface gigabitEthernet0/0.10
R1(config-subif)#encapsulation dot1Q 10
R1(config-subif)#bridge-group 10
R1(config-subif)#description ### PC ###
R1(config-subif)#exit

R1(config)#interface gigabitEthernet0/0.20
R1(config-subif)#encapsulation dot1Q 20
R1(config-subif)#bridge-group 20
R1(config-subif)#description ### LAPTOP ###
R1(config-subif)#exit

R1(config)#interface gigabitEthernet0/0.30
R1(config-subif)#encapsulation dot1Q 30
R1(config-subif)#bridge-group 30
R1(config-subif)#description ### SERVER ###
R1(config-subif)#exit

R1(config)#interface gigabitEthernet0/1.10
R1(config-subif)#encapsulation dot1Q 10
R1(config-subif)#bridge-group 10
R1(config-subif)#description ### PC ###
R1(config-subif)#exit

R1(config)#interface gigabitEthernet0/1.20
R1(config-subif)#encapsulation dot1Q 20
R1(config-subif)#bridge-group 20
R1(config-subif)#description ### LAPTOP ###
R1(config-subif)#exit

R1(config)#interface gigabitEthernet0/1.30
R1(config-subif)#encapsulation dot1Q 30
R1(config-subif)#bridge-group 30
R1(config-subif)#description ### SERVER ###
R1(config-subif)#exit
Включим мостовые соединения 
R1(config)#bridge irb

Настроим виртуальные интерфейсы для мостовых соединений, для сети

  • VLAN 10 (192.168.10.0/24) — PC
  • VLAN 20 (192.168.20.0/24) — LAPTOP
  • VLAN 30 (192.168.30.0/24) — SERVER
R1(config)#interface bvi 10
R1(config-if)#ip address 192.168.10.1 255.255.255.0
R1(config-if)#description ### PC ###
R1(config-if)#exit

R1(config)#int bvi 20
R1(config-if)#ip add 192.168.20.1 255.255.255.0
R1(config-if)#description ### LAPTOP ###
R1(config-if)#ex

R1(config)#int bvi 30
R1(config-if)#ip add 192.168.30.1 255.255.255.0
R1(config-if)#description ### SERVER ###
R1(config-if)#ex
Включаем мосты для интерфейсов
R1(config)#bridge 10 protocol ieee
R1(config)#bridge 20 protocol ieee
R1(config)#bridge 30 protocol ieee
Включаем мостовое соединение и IP маршрутизацию
R1(config)#bridge 10 route ip
R1(config)#bridge 20 route ip
R1(config)#bridge 30 route ip
Включаем порты Gi0/0 и Gi0/1 маршрутизатора R1
R1(config)#int gi0/0
R1(config-if)#no shutdown
R1(config-if)#ex

R1(config)#int gi0/1
R1(config-if)#no shutdown
R1(config-if)#ex
Теперь настроем ACL — лист сетевого доступа. Напомню, что в подсеть 192.168.30.0/24 для сервер-сервисов должны иметь доступ все клиенты из любой подсети. Подсети для PC (192.168.10.0/24) и Laptop  (192.168.20.0/24) не должны видеть друг друга, но должны видеть сервера из сети 192.168.30.0/24
R1(config)#ip access-list extended SecRoute
R1(config-ext-nacl)#deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
R1(config-ext-nacl)#deny ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255
R1(config-ext-nacl)#permit ip any any
R1(config-ext-nacl)#exit
R1(config)#
Подключаем ACL к интерфейсам
R1(config)#int bvi 10
R1(config-if)#ip access-group SecRoute in
R1(config-if)#ex
R1(config)#int bvi 20
R1(config-if)#ip access-group SecRoute in
R1(config-if)#ex
R1(config)#
Обязательно сохраним настройки
R1#wr mem
Building configuration...

Настройка маршрутизатора (Router) R1 завершена.

Подключаем согласно топологии сети и проверяем.

Подключаемся к клиентам сети и проверяем IP адреса

  • 192.168.10.0/24 — PC
  • 192.168.20.0/24 — LAPTOP
  • 192.168.30.0/24 — SERVER
Проверяем доступ к сети. Напомню что подсеть 192.168.30.0/24 видна всем и сама видит всех. Подсети 192.168.10.0/24 и 192.168.20.0/24 не видят друг друга, но видят любые другие подсети.

Листинг конфигураций устройств.

Маршрутизатор (Router) R1
R1#sh run
Building configuration...

Current configuration : 4311 bytes
!
version 15.6
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
ethernet lmi ce
!
!
!
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
!
!
!
!
!
!
!
!
ip dhcp excluded-address 192.168.10.1
ip dhcp excluded-address 192.168.20.1
ip dhcp excluded-address 192.168.30.1
!
ip dhcp pool PC
 network 192.168.10.0 255.255.255.0
 default-router 192.168.10.1
!
ip dhcp pool LAPTOP
 network 192.168.20.0 255.255.255.0
 default-router 192.168.20.1
!
ip dhcp pool SERVER
 network 192.168.30.0 255.255.255.0
 default-router 192.168.30.1
!
!
!
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
!
!
redundancy
!
!
!
!
!
!
!
!
!
!
!
bridge irb
!
!
!
!
interface GigabitEthernet0/0
 no ip address
 shutdown
 duplex auto
 speed auto
 media-type rj45
!
interface GigabitEthernet0/0.10
 description ### PC ###
 encapsulation dot1Q 10
 bridge-group 10
!
interface GigabitEthernet0/0.20
 description ### LAPTOP ###
 encapsulation dot1Q 20
 bridge-group 20
!
interface GigabitEthernet0/0.30
 description ### SERVER ###
 encapsulation dot1Q 30
 bridge-group 30
!
interface GigabitEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
 media-type rj45
!
interface GigabitEthernet0/1.10
 description ### PC ###
 encapsulation dot1Q 10
!
interface GigabitEthernet0/1.20
 description ### LAPTOP ###
 encapsulation dot1Q 20
!
interface GigabitEthernet0/1.30
 description ### SERVER ###
 encapsulation dot1Q 30
!
interface GigabitEthernet0/2
 no ip address
 shutdown
 duplex auto
 speed auto
 media-type rj45
!
interface BVI10
 description ### PC ###
 ip address 192.168.10.1 255.255.255.0
 ip access-group SecRoute in
!
interface BVI20
 description ### LAPTOP ###
 ip address 192.168.20.1 255.255.255.0
 ip access-group SecRoute in
!
interface BVI30
 description ### SERVER ###
 ip address 192.168.30.1 255.255.255.0
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
ip access-list extended SecRoute
 deny   ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
 deny   ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255
 permit ip any any
!
!
!
!
control-plane
!
bridge 10 protocol ieee
bridge 10 route ip
bridge 20 protocol ieee
bridge 20 route ip
bridge 30 protocol ieee
bridge 30 route ip
!
line con 0
line aux 0
line vty 0 4
 login
 transport input none
!
no scheduler allocate
!
end

R1#

 

Коммутатор (Swich lvl2) SW01
SW01#sh run
Building configuration...

Current configuration : 5423 bytes
!
! Last configuration change at 15:18:36 UTC Wed Nov 10 2021
!
version 15.0
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
service compress-config
!
hostname SW01
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
!
!
!
!
!
vtp domain CISCO-vIOS
vtp mode transparent
!
!
!
ip cef
no ipv6 cef
!
!
!
spanning-tree mode rapid-pvst
spanning-tree extend system-id
!
vlan internal allocation policy ascending
!
vlan 10,20,30
!
vlan 100
 name VLAN100
!
vlan 200,300
!
!
!
!
!
!
!
!
!
!
!
!
!
interface GigabitEthernet0/0
 switchport access vlan 10
 media-type rj45
 negotiation auto
!
interface GigabitEthernet0/1
 switchport access vlan 10
 media-type rj45
 negotiation auto
!
interface GigabitEthernet0/2
 switchport access vlan 20
 media-type rj45
 negotiation auto
!
interface GigabitEthernet0/3
 switchport access vlan 30
 media-type rj45
 negotiation auto
!
interface GigabitEthernet1/0
 switchport trunk encapsulation dot1q
 switchport mode trunk
 media-type rj45
 negotiation auto
!
interface GigabitEthernet1/1
 switchport trunk encapsulation dot1q
 switchport mode trunk
 media-type rj45
 negotiation auto
!
interface GigabitEthernet1/2
 media-type rj45
 negotiation auto
!
interface GigabitEthernet1/3
 media-type rj45
 negotiation auto
!
ip forward-protocol nd
!
no ip http server
no ip http secure-server
!
!
!
!
!
!
control-plane
!
!
line con 0
 logging synchronous
line aux 0
line vty 0 4
 logging synchronous
 login
line vty 5 15
 logging synchronous
 login
!
!
end

SW01#
Коммутатор (Swich lvl2) SW02
SW02#sh run
Building configuration...

Current configuration : 5423 bytes
!
! Last configuration change at 13:24:47 UTC Wed Nov 10 2021
!
version 15.0
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
service compress-config
!
hostname SW02
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
!
!
!
!
!
vtp domain CISCO-vIOS
vtp mode transparent
!
!
!
ip cef
no ipv6 cef
!
!
!
spanning-tree mode rapid-pvst
spanning-tree extend system-id
!
vlan internal allocation policy ascending
!
vlan 10,20,30
!
vlan 100
 name VLAN100
!
vlan 200,300
!
!
!
!
!
!
!
!
!
!
!
!
!
interface GigabitEthernet0/0
 switchport access vlan 20
 media-type rj45
 negotiation auto
!
interface GigabitEthernet0/1
 switchport access vlan 20
 media-type rj45
 negotiation auto
!
interface GigabitEthernet0/2
 switchport access vlan 10
 media-type rj45
 negotiation auto
!
interface GigabitEthernet0/3
 switchport access vlan 30
 media-type rj45
 negotiation auto
!
interface GigabitEthernet1/0
 switchport trunk encapsulation dot1q
 switchport mode trunk
 media-type rj45
 negotiation auto
!
interface GigabitEthernet1/1
 switchport trunk encapsulation dot1q
 switchport mode trunk
 media-type rj45
 negotiation auto
!
interface GigabitEthernet1/2
 media-type rj45
 negotiation auto
!
interface GigabitEthernet1/3
 media-type rj45
 negotiation auto
!
ip forward-protocol nd
!
no ip http server
no ip http secure-server
!
!
!
!
!
!
control-plane
!
!
line con 0
 logging synchronous
line aux 0
line vty 0 4
 logging synchronous
 login
line vty 5 15
 logging synchronous
 login
!
!
end

SW02#

На этом всё. Удачи.


Рейтинг: 5/5 - 3 голосов

Комментарии ()

    141