====== Могут ли использовать чужой IP адрес в сети, как это обнаружить и предотвратить ======
===== Реклама =====
* Казалось бы, что ответ очевидный, кто-то видел сообщения о конфликте IP адресов, кто-то даже знает про стандарт RFC 5227 (Address Conflict Detection) но, он НЕ верный. Даже ИИ (LLM на весну 2026 года) не верит, что это возможно. Тем важнее будет убедиться, что "защита по IP" это иллюзия и не нужно использовать такие решения
===== Техническое задание =====
* Развернуть авторизованный доступ в интернет с использованием технологии Captive portal
* Убедиться, что есть способ обойти авторизацию и научиться фиксировать этот факт
* Настроить авторизованный доступ с использованием технологии EAP 802.1x
===== Запись вебинара =====
* Ютуб: https://youtu.be/Fsev_5-ZlMU
* Вк: https://vkvideo.ru/video-2190892_456239501
* Рутуб: https://rutube.ru/video/private/10471ceadda188e86c047f6fdd1e7dec/
* Тэги: Linux, pfSense, Cisco, ACD, TCP, IP, MAC, ARP, RFC5227, Captive portal, NetworkManager, PPPoE, 802.1x, EAP
===== Шаг 1. Что у нас есть, для начала =====
* [[Сети Cisco и Linux у Вас дома]] (cisco router, cisco switch, [[https://val.bmstu.ru/unix/img/My%20Documents/ubuntu_26.04_01.ova|Ubuntu 26]] server, win10 clientN + [[Chrome]])
===== Шаг 2. Настраиваем авторизованный доступ в Интернет через Captive Portal =====
* Добавляем "злоумышленника" - [[https://val.bmstu.ru/unix/img/My%20Documents/lin%20client1%20deb13.ova|lin client1 deb13.ova]]
* подключаемся к его [[Оборудование уровня 3 Cisco Router#Настройка DHCP сервиса|ip]], устанавливаем [[Настройка сети в Linux#Команды для диагностики|arp-scan]]
* добавляем [[Настройка сети в Linux#Использование NetworkManager]] вместо ifupdown (понадобится после "перевоспитания" для настроек PPPoE и EAP подключений)
* Разворачиваем [[Сервис FreeRADIUS]] на server (пока только установить)
* Заменяем Cisco Router на [[Сервис Captive Portal#pfSense]] c Captive Portal
* импортируем сертификат на windows (на linux не обязательно, он будет "подделывать" адрес), открываем доступ в инет для server
* Подключемся к Internet через win win clientN
* Разворачиваем [[Сервис arpwatch]] на server
* На client1, используя [[Настройка сети в Linux#Команды для диагностики]], выясняем IP/MAC clientN
* С помощью [[Настройка сети в Linux#Настройка параметров с использованием утилиты ip]] подменяем IP
* Смотрим журналы [[Сервис arpwatch]] и [[Сервис Captive Portal#pfSense]]
* С помощью [[Настройка сети в Linux#Настройка параметров с использованием утилиты ip]] подменяем MAC (добавляем dns в resolv.conf)
* Наблюдаем прекращение появления сообщений в журналах [[Сервис arpwatch]] и [[Сервис Captive Portal#pfSense]] но видим изменения [[Оборудование уровня 2 Cisco Catalyst#Просмотр таблицы mac адресов]] Cisco Catalyst (записать вебинар про анализ журналов в zabbix)
Apr 29 08:17:54 192.168.32.91 118: Apr 29 08:17:53: %SW_MATM-4-MACFLAP_NOTIF: Host 00e0.fc09.bcf9 in vlan 456 is flapping between port Gi1/0/4 and port Gi1/0/3
* "Ужасаемся", скачивая [[Утилита Wireshark]] на win clientN (может прерываться, см [[Утилиты для тестирования сети#tcpdump]] tcpflags rst) и, "серфя" интернет или добавляя [[Настройка сети в Linux#Использование NetworkManager]] (пока не настраиваем) на lin client1
* Хорошая новость для сетей WiFi, заменяем switch на hub, подмена IP/MAC работает значительно хуже, причина - [[Утилиты для тестирования сети#tcpdump]] tcpflags rst "долетают" гораздо чаще.
* Плохая новость - Windows10 "видит" чужой трафик, но, в отличии от linux, не отправляет rst пакеты, что позволяет продолжать использовать ее IP/MAC, а так же параллельно работать с одним MAC/IP нескольким windows компьютерам, можно проверить, добавить win client2, у клона будет тот же MAC, получит тот же IP
===== Шаг 3. Настраиваем авторизованный доступ в Интернет через PPPoE =====
* Выключаем pfSense и все client
* Возвращаем "проводную сеть" (удалаем hub, включаем cisco switch)
* Заменяем pfSense на linux gate ([[https://val.bmstu.ru/unix/img/My%20Documents/debian_13.1_64_02.ova|Debian 13]])
* Настраиваем DHCP и [[Сервис NAT]] для server (убираем маршрут в LAN на gate.isp.un)
* Настраиваем [[Сервис PPPoE]]
* Пробуем подделать IP на lin client1, можно попробовать взять адрес из сети 192.168.100+X/24
* Нстраиваем PPPoE подключение lin client1
===== Шаг 4. Настраиваем авторизованный доступ в LAN через 802.1х =====
* [[https://youtu.be/b57UNjEQ7fA|Использование Microsoft AD для 802.1x]] ([[https://rutube.ru/video/3a22617aedc09ee23d2f216bef79d64a/|RuTube]])
* Выключаем gate и все client
* Возвращаем "wifi", [[Оборудование уровня 3 Cisco Router]] с NAT
* добавляем switch в DNS
* Добавляем switch в клиенты [[Сервис FreeRADIUS]],
* Настраиваем [[Оборудование уровня 2 Cisco Catalyst]] и [[AAA]], тестируем через telnet
root@server:~# scp wild.crt student@192.168.15.1NN:
* Настраиваем поддержку [[Сервис FreeRADIUS#EAP]] в FreeRADIUS
* [[Оборудование уровня 2 Cisco Catalyst#Настройка 802.1x]] на switch портах клиентов
* Показать необходимость импорта сертификата на win client2 (заодно, можно добавить пользователя student в radius)
===== Вопросы? =====
===== Возврат к началу вебинара =====
* Восстановить снимки
??? root@server:~# sh conf/dns.sh 15
??? root@server:~# vim /etc/bind/named.conf
* Удалить конфигурацию switch
* Удалить lincilent1, winclient2, pfSense, gate из VBox и GNS
===== Черновик =====
* не попало в сценарий DHCP [[Сервис DHCP#Сообщение от клиента, что кто-то уже занял IP]]
===== Шаблоны конфигураций =====
==== Router ====
hostname router
interface FastEthernet1/0
description connection to LAN
ip address 192.168.15.1 255.255.255.0
no shutdown
!
interface FastEthernet1/1
description connection to ISP
ip address 172.16.1.15 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.254
ip dhcp excluded-address 192.168.15.1 192.168.15.100
ip dhcp excluded-address 192.168.15.110 192.168.15.254
ip dhcp pool LAN
network 192.168.15.0 255.255.255.0
default-router 192.168.15.1
dns-server 192.168.15.10
domain-name corp15.un
lease 0 10 0
ip access-list standard ACL_NAT
permit 192.168.15.0 0.0.0.255
deny any
ip nat inside source list ACL_NAT interface FastEthernet1/1 overload
interface FastEthernet1/0
ip nat inside
interface FastEthernet1/1
ip nat outside
==== Switch ====
hostname switch
interface VLAN1
ip address 192.168.15.3 255.255.255.0
no ip domain lookup
ip host server 192.168.15.10
aaa new-model
aaa authentication login CONSOLE none
aaa authorization exec CONSOLE none
enable secret cisco
aaa authorization console
line con 0
login authentication CONSOLE
authorization exec CONSOLE
privilege level 15
radius-server host server auth-port 1812 acct-port 1813
radius-server key testing123
aaa authentication login default group radius enable
!---
aaa authentication dot1x default group radius
* [[Оборудование уровня 2 Cisco Catalyst#Настройка 802.1x]]