====== Могут ли использовать чужой IP адрес в сети, как это обнаружить и предотвратить ======
===== Реклама =====
* Казалось бы, что ответ очевидный, кто-то видел сообщения о конфликте IP адресов, кто-то даже знает про стандарт RFC 5227 (Address Conflict Detection) но, он НЕ верный. Даже ИИ (LLM на весну 2026 года) не верит, что это возможно. Тем важнее будет убедиться, что "защита по IP" это иллюзия и не нужно использовать такие решения
===== Техническое задание =====
* Развернуть авторизованный доступ в интернет с использованием технологии Captive portal
* Убедиться, что есть способ обойти авторизацию и научиться фиксировать этот факт
* Настроить авторизованный доступ с использованием технологии EAP 802.1x
===== Запись вебинара =====
* Ютуб:
* Тэги: ACD, IP, MAC, ARP, RFC5227, Captive portal, 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. Подготовка к новому сценарию =====
* Убираем маршрут в LAN на gate.isp.un или можно его выключить и подключить cisco router через "мост" с ip адресом через домашний dhcp/static адрес
* Добавляем NAT на Cisco Router
===== Шаг 3. Настраиваем авторизованный доступ в Интернет через 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]] (понадобится после "перевоспитания" для настроек PPPoE и EAP подключений)
* [[Сервис FreeRADIUS]] на server
* Заменяем Cisco Router на [[Сервис Captive Portal#pfSense]] c Captive Portal, [[Пакет OpenSSL#Создание самоподписанного сертификата]] wild сертификата, импортируем на windows (на linux не обязательно он будет "подделывать" адрес), открываем доступ в инет для server
* Подключемся к Internet через win win clientN
* Разворачиваем [[Сервис arpwatch]] на server
* На client1, используя [[Настройка сети в Linux#Команды для диагностики]], выясняем IP/MAC clientN
* С помощью [[Настройка сети в Linux#Настройка параметров с использованием утилиты ip]] подменяем IP (dhcpcd остановится автоматически, можно не отключать [[Настройка сети в Linux#Динамическая настройка 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
* [[Сервис PPPoE]]
* Пробуем подделать IP на lin client1, можно попробовать взять адрес из сети 192.168.100+X/24
* Нстраисаем PPPoE подключение lin client1
===== Шаг 4. Настраиваем авторизованный доступ в LAN через 802.1х =====
* Выключаем 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]]