Для целей лабораторного тестирования контроллера бывает необходимо настроить DHCP сервер непосредственно на нем самом, не полагаясь на имеющиеся сетевые сервисы.

Рассмотрим пример. Контроллер установлен на виртуальной машине, к которой дополнительно подключен логический интерфейс с VLAN 10 и адресацией 10.0.0.0/24. В системе виртуализации на виртуальном коммутаторе, который обслуживает VLAN 10, включены режимы Promisc mode, MAC address change:

На коммутаторе ЛВС, куда подключена Wi-Fi точка доступа, также портах настроен тип подключения Trunk, в котором присутствует VLAN 10 :

interface GigabitEthernet1/0/33
switchport trunk allowed vlan 1,10
switchport mode trunk

Мы включим на контроллере DHCP сервис и настроим беспроводную сеть так, чтобы клиенты подключались в VLAN 10, получали IP адрес с контроллера, и попадали в Интернет через него. 

На контроллере исходно настроена следующая адресация:

root@test:~# ip a
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:c9:73:28 brd ff:ff:ff:ff:ff:ff
altname enp11s0
inet 172.16.137.10/24 brd 172.16.137.255 scope global ens192 # основной интерфейс контроллера
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fec9:7328/64 scope link
valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:c9:73:32 brd ff:ff:ff:ff:ff:ff
altname enp19s0
inet 10.0.0.1/24 brd 10.0.0.255 scope global ens224 # интерфейс для DHCP и маршрутизации в VLAN 10, типа access
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fec9:7332/64 scope link
valid_lft forever preferred_lft forever

Включим NAT 

echo 1 > /proc/sys/net/ipv4/ip_forward
echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE

Проверяем работу интерфейса и трансляции адресов:

root@test:~# ping -I 10.0.0.1 1.1.1.1
PING 1.1.1.1 (1.1.1.1) from 10.0.0.1 : 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=59 time=2.98 ms

На контролере в разделе Конфигурация-DHCP начинаем с пустой настройки:

Включаем сервер DHCP, добавляем интерфейс, и настраиваем пул адресов:

Сохраняем. На контроллере должен появиться процесс dnsmasq:

root@test:/opt/controller# ps ax | grep dnsmasq
1435563 ? S 0:00 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service --trust-anchor=.,20326,8,2,e0..
1441834 pts/1 S+ 0:00 grep --color=auto dnsmasq

На контроллере создаем и настраиваем профиль беспроводной сети, указывая направление терминации беспроводного трафика - в VLAN 10:

Затем привязываем профиль сети к группе, в которой находятся наши точки доступа:

Проверяем настройку точки доступа, убеждаемся, что она вещает нашу новую сеть:

Можно подключиться к точке доступа по ssh, и проверить VLAN-интерфейс:

root@40-10:~# ip l
...
6570: br-vlan10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 44:d1:fa:e0:9d:28 brd ff:ff:ff:ff:ff:ff
6571: eth1.10@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-vlan10 state UP mode DEFAULT group default qlen 1000
link/ether 44:d1:fa:e0:9d:28 brd ff:ff:ff:ff:ff:ff
6572: wlan1_2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-vlan10 state UP mode DEFAULT group default qlen 4096
link/ether 44:d1:fa:e0:9d:2c brd ff:ff:ff:ff:ff:ff
6573: wlan0_2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-vlan10 state UP mode DEFAULT group default qlen 4096
link/ether 44:d1:fa:e0:9d:2b brd ff:ff:ff:ff:ff:ff

Теперь пробуем подключиться к сети беспроводным клиентом. Он подключается, и получает IP адрес:

Subnet-Mask (1), length 4: 255.255.255.0
20:17:10.885772 IP (tos 0x0, ttl 255, id 57401, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 92:06:71:c0:d3:64, length 300, xid 0xfad79549, secs 1, Flags [none]
Client-Ethernet-Address 92:06:71:c0:d3:64
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Request
Parameter-Request (55), length 9:
Subnet-Mask (1), Classless-Static-Route (121), Default-Gateway (3), Domain-Name-Server (6)
Domain-Name (15), Unknown (108), URL (114), Unknown (119)
Unknown (252)
MSZ (57), length 2: 1500
Client-ID (61), length 7: ether 92:06:71:c0:d3:64
Requested-IP (50), length 4: 10.0.0.52
Server-ID (54), length 4: 10.0.0.1
20:17:10.887033 IP (tos 0xc0, ttl 64, id 3901, offset 0, flags [none], proto UDP (17), length 334)
10.0.0.1.67 > 10.0.0.52.68: BOOTP/DHCP, Reply, length 306, xid 0xfad79549, secs 1, Flags [none]
Your-IP 10.0.0.52
Server-IP 10.0.0.1
Client-Ethernet-Address 92:06:71:c0:d3:64
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: ACK
Server-ID (54), length 4: 10.0.0.1
Lease-Time (51), length 4: 43200
RN (58), length 4: 21600
RB (59), length 4: 37800
BR (28), length 4: 10.0.0.255
Domain-Name (15), length 12: "d20.wico.pro"
Domain-Name-Server (6), length 4: 8.8.4.4
Default-Gateway (3), length 4: 10.0.0.1
Subnet-Mask (1), length 4: 255.255.255.0

В списке клиентов Wi-Fi контроллера появляется запись, клиент подключен и работает:

  • No labels