Настраиваем Ubiquiti Wi-Fi и Cisco (Гостевой DHCP и VLANs)

  • Tutorial
image

В этой статье описан один из способов настройки гостевых и корпоративных беспроводных сетей используя решения Enterprise Wi-Fi Ubiquiti UniFi и Cisco Integrated Services Routers


Рецепт


Создать корпоративную SSID сеть
Создать гостевую SSID сеть
Создать VLAN сети на одном физическом порте
Настроить проброс DHCP
Изолировать гостевой VLAN
Выпускать клиентов под разными статическими IP

Ингредиенты


Роутер: Router Cisco 2901
ОС для контроллера: Ubuntu server 12.04
ПО: Ubiquiti UniFi Controller 4.6.6
Свитч: Ubiquiti TOUGHSwitch PoE Pro
Точки: Ubiquiti UniFi AP LR

Топология


image

Готовим Cisco


Создадим базу VLANов
VLAN id вы можете использовать на свое усмотрение

cisco#vlan database
cisco(vlan)#vlan 1
VLAN 1 added:
    Name: VLAN0001
cisco(vlan)#vlan 2
VLAN 2 added:
    Name: VLAN0002
cisco(vlan)#vlan 3
VLAN 3 added:
    Name: VLAN0003
cisco(vlan)#apply
APPLY completed.
cisco(vlan)#exit
cisco#wr


Настраиваем и создаем VLAN-ы
Здесь мы сразу прибиваем NAT для наших клиентов коммандой ip nat inside.

cisco#conf t
cisco(config)#interface vlan 1
cisco(config-if)#ip address 172.16.1.1 255.255.255.0
cisco(config-if)#ip nat inside
cisco(config-if)#ip virtual-reassembly in
cisco(config-if)#ip tcp adjust-mss 1452
cisco(config-if)#exit
cisco(config)#interface vlan 2
cisco(config-if)#ip address 172.15.1.1 255.255.255.0
cisco(config-if)#ip nat inside
cisco(config-if)#ip virtual-reassembly in
cisco(config-if)#ip tcp adjust-mss 1452
cisco(config-if)#exit
cisco(config)#interface vlan 3
cisco(config-if)#ip address 172.17.1.1 255.255.255.0
cisco(config-if)#ip nat inside
cisco(config-if)#ip virtual-reassembly in
cisco(config-if)#ip tcp adjust-mss 1452
cisco(config-if)#exit
cisco(config)#exit
cisco#wr


Настраиваем и создаем DHCP
172.16.1.1/24 Мы будем использовать для менеджмент сети, а именно — там наши точки будут получать IP и стучаться к контроллеру. 172.15.1.1/24 Мы будет раздавать гостям, а сеть 172.17.1.1/24 отдадим корпоративным устройствам. В примере используются DNS сервера Yandex: 77.88.8.8 Google: 8.8.4.4. Параметр lease указывает на сколько дней мы выдаем IP клиенту.

cisco#conf t
cisco(config)#ip dhcp pool Vlan1
cisco(dhcp-config)#import all
cisco(dhcp-config)#network 172.16.1.0 255.255.255.0
cisco(dhcp-config)#default-router 172.16.1.1
cisco(dhcp-config)#dns-server 77.88.8.8 8.8.4.4
cisco(dhcp-config)#lease 8
cisco(dhcp-config)#exit
cisco(config)#ip dhcp pool Vlan2
cisco(dhcp-config)#import all
cisco(dhcp-config)#network 172.15.1.0 255.255.255.0
cisco(dhcp-config)#default-router 172.15.1.1
cisco(dhcp-config)#dns-server 77.88.8.8 8.8.4.4
cisco(dhcp-config)#lease 1
cisco(dhcp-config)#exit
cisco(config)#ip dhcp pool Vlan3
cisco(dhcp-config)#import all
cisco(dhcp-config)#network 172.17.1.0 255.255.255.0
cisco(dhcp-config)#default-router 172.17.1.1
cisco(dhcp-config)#dns-server 77.88.8.8 8.8.4.4
cisco(dhcp-config)#lease 1
cisco(dhcp-config)#exit
cisco(config)#exit
cisco#wr


Помогаем DHCP серверу
Для корректной раздачи IP адресов желательно явно указать ip helper-address — DHCP сервер на всех VLANах.

cisco#conf t
cisco(config)#interface vlan 1
cisco(config-if)#ip helper-address 172.16.1.1
cisco(config-if)#exit
cisco(config)#interface vlan 2
cisco(config-if)#ip helper-address 172.15.1.1
cisco(config-if)#exit
cisco(config)#interface vlan 3
cisco(config-if)#ip helper-address 172.17.1.1
cisco(config-if)#exit
cisco(config)#exit
cisco#wr


Исключим выдачу служебных IP адресов
cisco#conf t
cisco(config)#ip dhcp excluded-address 172.15.1.1 172.15.1.3
cisco(config)#ip dhcp excluded-address 172.16.1.1 172.16.1.3
cisco(config)#ip dhcp excluded-address 172.17.1.1 172.17.1.3
cisco(config)#exit
cisco#wr


Настраиваем интерфейсы
После создания VLAN и настройки DHCP, нам необходимо настроить порт на маршрутизаторе который будет раздавать эти сети особым образом. В нашем примере мы зададим порту GigabitEthernet 0/0 основной VLAN 1 и разрешим дергать VLAN 2 и VLAN 3.

В примере используется интерфейс GigabitEthernet 0/0, предполагается что у вас имеется еще как минимум 2 порта — один для доступа в интернет GigabitEthernet 0/1 и один порт для вашей корпоративной проводной сети, например GigabitEthernet 0/2.

cisco#conf t
cisco(config)#GigabitEthernet 0/0
cisco(config-if)#switchport trunk encapsulation dot1q
cisco(config-if)#switchport mode trunk
cisco(config-if)#switchport trunk allowed vlan 1,2,3
cisco(config-if)#switchport trunk native vlan 1
cisco(config-if)#no shutdown
cisco(config-if)#exit
cisco(config)#exit
cisco#wr


Теперь, при подключении порту GigabitEthernet 0/0 наш контроллер и точки будут получать сеть 172.16.1.0/24, а VLAN2 и VLAN3 будут использоваться по требованию.

Закручиваем гайки
Теперь, когда мы настроили основной порт для всех сетей, пора бы запретить доступ гостевой сети (VLAN2) ходить в наши в соседние сети.
В данном примере на GigabitEthernet 0/2 висит проводная корпоративная сеть 192.168.0.0 255.255.255.0

cisco#conf t
cisco(config)#access-list 110 deny ip 172.15.1.0 0.0.0.255 192.168.0.0 0.0.0.255
cisco(config)#access-list 110 deny ip 172.15.1.0 0.0.0.255 172.16.1.0 0.0.0.255
cisco(config)#access-list 110 deny ip 172.15.1.0 0.0.0.255 172.17.1.0 0.0.0.255
cisco(config)#access-list 110 permit ip any any
cisco(config)#exit
cisco#wr

Прибиваем этот access-list 110 к нашему VLAN2

cisco#conf t
cisco(config)#interface vlan 2
cisco(config-if)#ip access-group 110 in
cisco(config-if)#exit
cisco(config)#
cisco#wr


Маршрутизируем наших клиентов разными внешними IP
Для того что бы указать каким клиентам ходить через какой внешний IP я использую пулы
Представим что у нас есть 3 внешних IP адреса выданные нашим ISP: 100.100.100.101, 100.100.100.102, 100.100.100.103 с одним шлюзом 100.100.100.1

Пример конфигурации
interface GigabitEthernet0/0
 switchport trunk native vlan 2
 switchport mode trunk
 no ip address
!
interface GigabitEthernet0/1
 ip address 100.100.100.101 255.255.255.0
 ip nbar protocol-discovery
 ip nat outside
 ip virtual-reassembly in
 duplex auto
 speed auto
!
interface GigabitEthernet0/2
 ip address 192.168.0.0 255.255.255.0
 ip access-group 109 in
 ip nat inside
 ip virtual-reassembly in
 ip tcp adjust-mss 1452
 duplex auto
 speed auto
!
ip route 0.0.0.0 0.0.0.0 100.100.100.1
!
access-list 109 permit ip 192.168.0.0 0.0.0.255 any
access-list 110 deny ip 172.15.1.0 0.0.0.255 192.168.0.0 0.0.0.255
access-list 110 deny ip 172.15.1.0 0.0.0.255 172.16.1.0 0.0.0.255
access-list 110 deny ip 172.15.1.0 0.0.0.255 172.17.1.0 0.0.0.25
access-list 110 permit ip any any


Итак, мы хотим что бы клиенты из сети 192.168.0.0 ходили в мир через IP 100.100.100.101, клиенты из гостевой беспроводной сети 172.15.1.0 ходили в мир через IP 100.100.100.102, а клиенты из корпоративной беспроводной сети через IP 100.100.100.103

Давайте создадим дополнительный access-list 108 для клиентов из корпоративной беспроводной сети
cisco#conf t
cisco(config)#access-list 108 permit ip 172.17.1.0 0.0.0.255 any
cisco(config)#exit
cisco#wr


Прикрутим access-list 108 к VLAN3
cisco#conf t
cisco(config)#interface vlan 3
cisco(config-if)#ip access-group 108 in
cisco(config-if)#exit
cisco(config)#
cisco#wr


Предполагается, что вы уже самостоятельно создали access-list 109 когда настраивали проводную сеть
Итак, у нас есть 3 access-list, поехали.

Создаем пулы (netmask должна строго соответствовать той — которую выдал ISP)
cisco#conf t
ip nat pool OFFICELAN 100.100.100.101 100.100.100.101 netmask 255.255.255.0
ip nat pool WIFIGUEST 100.100.100.102 100.100.100.102 netmask 255.255.255.0
ip nat pool WIFICORP 100.100.100.103 100.100.100.103 netmask 255.255.255.0


Прибиваем access-list к pool
cisco#conf t
cisco(config)#ip nat inside source list 109 pool OFFICELAN overload
cisco(config)#ip nat inside source list 110 pool WIFIGUEST overload
cisco(config)#ip nat inside source list 108 pool WIFICORP overload
cisco(config)#ip nat inside source route-map nonat interface GigabitEthernet0/1 overload
cisco(config)#exit
cisco#wr


На этом этапе настройка роутера Cisco окончена.

Готовим контроллер


Итак, теперь мы берем сервер под контроллер, устанавливаем туда ПО Ubiquiti UniFi Controller 4.6.6, процесс установки я описывать не буду, ОС по вашему выбору, я установил Ubuntu server 12.04 и присвоил контроллеру IP 172.16.1.3

Базовая настройка
Открываем веб-интерфейс контроллера 172.16.1.3:8443

1. Проходим в Settings -> Site
Ставим галку — Automatically upgrade AP firmware, а остальное по вкусу:
image

2. Проходим в Settings -> Controller
Прописываем контроллеру его IP адрес (это так называемый inform ip)
Ставим галку — Make controller discoverable on L2 Network
image

3. Проходим в Settings -> Networks
Выбираем дефолтную сеть, редактируем, указываем например нашу корпоративную — 192.168.0.1/24
image

3.1 Создаем VLAN2
Create New Network -> VLAN ONLY
Ставим галку Enable DHCP Guarding и указываем наш DHCP сервер 172.15.1.1 для VLAN2
image

3.2 Создаем VLAN3 — (все тоже самое)
Create New Network -> VLAN ONLY
Ставим галку Enable DHCP Guarding и указываем наш DHCP сервер 172.17.1.1 для VLAN3
image

Прикручиваем VLANы к SSID
Мы подошли к финальному моменту хитрости — теперь мы прикрутим наши VLAN2, VLAN3 к гостевой и корпоративной сети

Проходим в Settings -> Wireless Networks
Создадим гостевую сеть c параметрами:
Name/SSID: Guest
Security: WPA-PERSONAL
Security Key: пароль
Advanced Options ->
VLAN — Use VLAN ID 2
WPA Mode: WPA2 Only
Encryption: AES/CCMP Only
Usergroup: Default

image

Создадим корпоративную сеть c параметрами:
Name/SSID: Corp
Security: WPA-PERSONAL
Security Key: пароль
Advanced Options ->
VLAN — Use VLAN ID 3
WPA Mode: WPA2 Only
Encryption: AES/CCMP Only
Usergroup: Default

Итоги
На этом базовая настройка Ubiquiti UniFi Controller закончена, ваши точки доступа теперь получают IP адреса из сети 172.16.1.1/24, теперь клиенты которые подключаются к беспроводной сети Guest получают IP адреса 172.15.1.1/24 и выходят в интернет под внешним IP 100.100.100.102, а клиенты которые подключаются к сети Corp, выходят в интернет под внешним IP 100.100.100.103 и забирают 172.17.1.1/24. Ваши офисные сотрудники выходят в интернет под внешним IP 100.100.100.101. Мы так же запретили доступ гостям во все приватные сети кроме своей. Вы так же можете использовать гостевую сеть без пароля — это необязательное условие. Данная топология может варьироваться в зависимости от ваших потребностей, например можно убрать избыточную сеть 172.16.1.1/24… Всем хороших выходных!

P.S Если вы найдете орфографические ошибки — пожалуйста напишите мне в ЛС
  • +7
  • 47,8k
  • 8
Поделиться публикацией

Похожие публикации

Комментарии 8

    0
    А никаких допнастроек на Ubiquiti TOUGHSwitch PoE Pro не проводились?
    Он работает как PoE для точек доступа?
      0
      Все верно, в нашем примере он работает как PoE свитч
      0
      Про nonat забыли написать.
        0
        Ограничение доступа для гостевого вайфай, можно было сделать на базе самого UniFi контроллера, также там можно и любую подсеть назначить для гостевой сети. Единственное, что не получилось бы без vlan сделать это разные внешние IP.
          0
          Можно конечно, но лучше фильтрацию траффика доверить маршрутизатору. К тому же не очень понятно что будет в случае падения этого контроллера. Можно и DHCP на нем поднять, но это уже другая история.
            0
            Фильтрация работает на самих точках.
          0
          Если время продления адреса несколько дней, то в вашей гостевой сети очень быстро кончатся адреса.
            0
            Вы можете указать время выдачи в часах, например так lease 0 1

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое