# CYB-1_05.10.2021_Локальные сети (Local Area Network)
## Занятие 1
- [ ] Созданна топология на первом уроке

## Занятие 2
- [ ] Коммутатор настроен (Имя и другие настройки с урока) (скрин части конфига)

## Занятие 3
- [ ] Настроен DHCP для основной сети на роутере

## Занятие 4
- [ ] Подсети просчитаны

- [ ] DHCP пулы сконфигурированы

## Занятие 5
- [ ] С помощью wireshark найден STP трафик


- [ ] Проведена атака arp-spoofing



- [ ] Проведена атака CAM-table overflow

- [ ] Проведена атака Manipulating STP
- [ ] Проведена атака DHCP Starvation & Rogue
## Занятие 6
- [ ] Проведено сканирование узла с помощью nmap
- [ ] Настроен DNS сервер на cisco роутере


## Занятие 7

- [ ] Настроены Trunk & Access
- [ ] Настроены VLAN

- [ ] Настроены сабинтерфейсы











Все коммутаторы получают настройку VLAN по протоколу VTP от primary server Switch1.

- [ ] Проведена атака VLAN Hopping

## Занятие 8
- [ ] Сконфигурирован Port security
- [ ] Настроен список контроля доступа, как на уроке
## Занятие 9
- [ ] Настроена технология Port security по заданию


- [ ] Настроены списки контроля доступа по заданию







___
# Вариант создания отчёта 2. Инструкции.
Тут предлагается создать набор инструкций по выполнению основных задач модуля.
Некоторые инструкции отмечены тегом "вне зачёта". Это означает, что данную инструкцию стоит готовить только в том случае, если у вас были сложности с настройкой по этой теме на занятии. Такие инструкции понадобятся вам в будущем, если решите работать с подобным стендом и оттачивать навыки в сетевой инфраструктуре. Если тема предельно понятна и проблем не было -- инструкцию по такому пункту можно не готовить.
## Занятие 1
## Занятие 2
## Занятие 3
## Занятие 4
## Занятие 5
## Занятие 6
## Занятие 7
## Занятие 8
## Занятие 9
## Занятие 10
# Работа с Cisco
При работе с Cisco есть 3 режима работы:
- самый первый в который мы попадаем при коннекте, он именуется точно так же как и называется наше оборудование, в данном случае Switch1
- более продвинутый режим будет выглядеть так: Switch#
- и 3й режим самый продвинутый будет выглядеть, как Switch1(config)
Айпи адреса бывают белые и серые, белые - это которые имеют выход в интернет, а серые - это локальные сети или сети с определенным назначением.
Локальные серые сети описаны в стандарте RFC 1918.
Пример серых адресов:
От 10.0.0.0 до 10.255.255.255 - локальная
От 192.168.0.0 до 192.168.255.255 - локальная
От 172.16.0.0 до 172.31.255.255 - локальная
127.0.0.0/8 - локалхост
224.0.0.0/4 - мультикаст
169.254.0.0/16 -мультикаст
## **Шпоргалка**
/22 1024-2
/23 512-2
/24 256-2
/25 128-2
/26 64-2
/27 32-2
/28 16-2
/29 8-2
10.0.0.0/24
айпи адреса тут от 0 до 255, если разделить данную сеть на 2 подсети то получим пулы адресов:
0-127 и 128-255
(1-126) и (129-254)
далее если делить одну подсеть еще на две то получим:
0-63 и 64-127
(1-62) и (65-126)
## Первые Шаги по настройке Switch
В самом начал повысим свои привелегии:
> Switch> enable
После чего перейдем в режим конфигурирования:
> Switch1# configure terminal
Далее сменим имя нашего оборудования:
> Switch# hostname switch1
Установим главный пароль на вход:
> Switch1(config)# enable secret **password**
- где слово **"password"** наш пароль
Запустим сервис для шифрования пароля(сервис читает конфиг файл и ищет незашифрованные пароли, если он находит незашифрованный пароль то он его шифрует):
> Switch1(config)# service password-encryption
Добавим нового пользователя и зададим ему пароль:
> Switch1(config)# username root password eve@123 (используется для подключения по SSH, Telnet, Pytty)
После чего нам необходимо сохранить изменения в конфиг файл, чтобы после перезагрузки устройства изменения не потерялись. Для этого для начала необходимо выйти из режима конфигурирования комбинацией клавиш **ctrl+z**
> Switch1# copy running-config startup-config
**После чего нажимаем Enter**
Для просмотра конфиг файла:
> Switch1# show running-config
------------
**При кольцеобразном подключении двух коммутаторов друг к другу(например свич1 подключен к свич2, а свич2 подключен к свич1 то произойдет ПЕТЛЯ и ВЕСЬ ШИРОКОВЕЩАТЕЛЬНЫЙ ТРАФИК (DHCP, ARP итд) закольцуется), для того чтобы этого избежать необходимо включить spanning-tree, после чего коммутаторы при болучении биг фрейма поймут, что присутствует кольцо и отключат лишние интерфейсы. Для включения этой настройки используется команда:**
> spanning-tree vlan 1
на неуправляемых коммутаторах это невозможно настроить
## arpspoof проведение атаки
### Настройка Kali
Перед атакой необходимо настроить на Кали статический p адрес данной сети(можно сделать через ГУИ): 169.254.0.5 с маской 255.255.0.0. **НЕ ЗАБЫТЬ** выключить и включить интерфейс сетевой
Проверим что адрес применился командой:
> ip a
### Настройка Cisco switch (Создаем Vlan,задаем ip, разрешаем подключение по Telnet)
переходим в режим Enable и затем conf t
входим в интерфейс vlan1
> Switch(config)#interface vlan 1
**создаем и включаем виртуальный интерфейс(по умолчанию он выключен)**
> Switch(config-if)#ip address 169.254.0.10 255.255.0.0
> Switch(config-if)#no shutdown
**включает выключенный по умолчанию интерфейс**
(config-if) - означает, что мы находимся в интерфейсе, но не знаем в каком, особенность циско
для возможности подключение по telnet включаем локальную аутентификацию командой:
> Switch(config)#aaa new-model
> Switch(config)#do write (для сохранения конфигурации)
### Настройка Windows 10
По умолчанию в Windows 10 telnet отсутствует, необходимо его включить, для этого заходим в:
> панель управления > программы > включение или отключение компонентов > листаем вниз и ставим галочку telnet client
Для подключению по протоколу telnet необходимо ввести:
> telnet ip_adress_cisco
### Сама атака
атака типа Man in the middle именно поэтому в атаке мы указываем апйшник 1 машины и айпишник 2 машины.
> arpspoof -i eth0 -t ip1 -r ip2
где:
- i eth0 это наш сетевой интерфейс
- ip1 это айпи адрес 1ой машины(в данном случае коммутатор к которому мы будм подключаться)
- ip2 это айпи адрес 2ой машины(в данном случае вин10, откуда будет идти запрос на подключение)
После чего в сеть летят ARP пакеты. Далее в Wireshark на Kali мы увидим логин и пароль пользователя с помощью которого user проходит аутентификацию.
В Wireshark в фильтре вводим протокол telnet, выбираем пакет и захватываем поток данных(целую сессию) для этого жмем на любой пакет правой кнопкой мыши и выбираем графу Follow затем TCP Stream, где мы увидим всю перехваченную информацию. Справа внизу будет графа Stream где можно будет переключать потоки (0,1,2 и тд).
Данные представлены в двух цветах синий и красный:
- синий означает поток от 1го устройства ко 2му
- красный от 2го к 1му
описание атаки [тут](https://defcon.ru/network-security/3731/)
описание защиты от данной атаки [тут](https://habr.com/ru/post/231491/)
--------------
**В корпоративных сетях присутствуют системы:**
- **NTA(network traffic analyzer) - вкрывает трафик и на основе правил детектирует вредоносы(ссылки,файлы и тд)**
- **DLP(Data Leak Prevention) - вскрывает данные и смотрит кто, что и кому отправил(может палить ТГ, почту, вотс ап и тд)**
**такие системы не смогу работать если в инфраструктуре не будет корпоративной Proxy**
## Настройка DHCP пулов на Router
При первой включении при вопросе об автонастройке мы прописываем **no**
после чего приступаем к настройке самого роутера.
В самом начал повысим свои привелегии:
> Router> enable
После чего перейдем в режим конфигурирования:
> Router# configure terminal
Затем даем айпи адрес интерфейсу е0/0(торчит в локальную сеть):
> Router(config)#interface e0/0
Задаем ip и маску:
> Router(config-if)#ip address 192.168.10.254 255.255.255.0
Включает выключенный по умолчанию интерфейс:
> Router(config-if)#no shutdown
может возникнуть ошибка (not full duplex) для ее решения необходимо включить фул дуплекс командой:
> Router(config-if)duplex full
выходим из конфигурации:
> Router(config-if)exit
**ВАЖНЫЙ МОМЕНТ!!! Может возникнуть ошибка в виде
%Error opening tftp://192.168.136.254/router-confg (Timed out), она означает, что cisco хочет получить конфиг из сети и не может этого сделать, особенность реализации. Для исправления необходимо ввести команду:**
> Router(config)# no service config
Далее сохраняем конфигурацию:
> Router(config)#do write
После чего готовим пулы адресов:
> ip dhcp pool admin
> network 10.0.0.0 255.255.255.240
> domain-name hackeru.local
> default-router 10.0.0.14
> dns-server 192.168.10.254
>
> ip dhcp pool programmers
> network 10.0.1.0 255.255.255.0
> domain-name hackeru.local
> default-router 10.0.1.254
> dns-server 192.168.10.254
>
> ip dhcp pool vip
> network 10.0.0.32 255.255.255.224
> domain-name hackeru.local
> default-router 10.0.0.62
> dns-server 192.168.10.254
>
> ip dhcp pool tech
> network 10.0.0.128 255.255.255.128
> domain-name hackeru.local
> default-router 10.0.0.254
> dns-server 192.168.10.254
>
> ip dhcp pool servers
> network 10.0.2.0 255.255.255.0
> domain-name hackeru.local
> default-router 10.0.2.254
> dns-server 192.168.10.254
**НЕ ЗАБЫТЬ УКАЗАТЬ IP POOL для других устройств не входящих в заданные пулы? чтобы на нашей Kali был выход в интернет, когда она находится внутри локальной сети.**
> ip dhcp pool pool-name
> network 192.168.10.254 255.255.255.0
> domain-name hackeru.local
> default-router 192.168.10.254
> dns-server 192.168.10.254
сохраняем конфигурацию
Далее сохраняем конфигурацию:
> Router(dhcp-config)#do write
## DNS
По умолчанию ДНС сервер как служба не работает но работает трансляция имен в адреса, такая особенность именно циски при взаимодействии с евнджи.
Зададим доменное имя
> Router(config)#ip domain name hackeru.local
Добавим айпи адрес днс
> Router(config)#ip name-server 8.8.8.8
приобразование на самой циске
> Router(config)#ip domain-lookup
для принятия запросов от клиентов
> Router(config)#ip dns server
сохраним
> Router(config)#do wr
## VLAN
vlan -виртуальные сети, которые разделяют среду передачи данных на уровне л2
сеть vlan на уровне L2 работает таким образом что о том что PC подключен к влану знает только сетевое оборудование, перед тем как пакет летит от коммутатора к какому то конкретному PC то коммутатор удаляет тег вилана из пакета. Таким образом сам PC не знает о том что он подключен в Vlan
**СКОЛЬКО МОЖЕТ БЫТЬ ВСЕГО ВИЛАНОВ?**
Диапазон возможных значений VID от 0 до 4095. В разных реализациях может поддерживаться разное количество VLAN'ов, но должен поддерживаться весь диапазон значений. То есть, например, на оборудовании может быть ограничение, что VLAN'ов может быть всего 50. Но, при этом, сами номера VLAN'ов могут быть от 1 до 4094
у VLAN'ов существует два мода режима работы интерфейса access и trunk.
- access - используется только на портах к которые подключены ПК или айпи телефонии
- trunk - используется только для связи между сетевым оборудованием
### настройка switch1
В самом начал повысим свои привелегии:
> Switch>enable
После чего перейдем в режим конфигурирования:
> Switch#configure terminal
Далее сменим имя нашего оборудования:
> Switch# hostname switch1
Приступим к настройке интерфейсов:
**vlan 10 int e0/2 access PC4**
> interface e0/2
> description to-PC4
> switchport mode access
> switchport access vlan 10
> no shutdown
> exit
**vlan 24 int e0/1 access PC5**
> interface e0/1
> description to-PC5
> switchport mode access
> switchport access vlan 24
> no shutdown
> exit
**int e0/0 trunk switch2**
> interface e0/0
> description to-switch2
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
Помещаем в БД нашего switch1 записи о Vlan
> vlan 10
> int vlan 10
> exit
> vlan 24
> int vlan 24
> exit
смотрим конфигурацию
> do sh vl br
сохраняем конфиг
> switch1(config)#do wr
Для просмотра конкретного конфига интерфейса используется команда:
> do sh run int e0/0
### настройка switch2
повысим свои привелегии и переименуем наше оборудование:
> enable
> configure terminal
> hostname switch2
Приступим к настройке интерфейсов:
**vlan 24 int e0/3 access PC6**
> interface e0/3
> description to-PC6
> switchport mode access
> switchport access vlan 24
> no shutdown
> exit
**int e0/0 trunk switch1**
> interface e0/0
> description to-switch1
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
**int e0/1 trunk switch3**
> interface e0/1
> description to-switch3
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
**int e0/2 trunk switch4**
> interface e0/2
> description to-switch4
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
Помещаем в БД нашего switch2 записи о Vlan
> vlan 10
> int vlan 10
> exit
> vlan 24
> int vlan 24
> exit
> vlan 55
> int vlan 55
> exit
> vlan 17
> int vlan 17
> exit
> vlan 777
> int vlan 777
> exit
смотрим конфигурацию
> do sh vl br
сохраняем конфиг
> switch2(config)#do wr
Для просмотра конкретного конфига интерфейса используется команда:
> do sh run int e0/0
### настройка switch3
повысим свои привелегии м перемсенуем наше оборудование:
> enable
> configure terminal
> hostname switch3
Приступим к настройке интерфейсов:
**vlan 10 int e0/3 access PC7**
> interface e0/3
> description to-PC7
> switchport mode access
> switchport access vlan 10
> no shutdown
> exit
**int e0/1 trunk switch2**
> interface e0/1
> description to-switch2
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
**int e0/0 trunk router**
> interface e0/0
> description to-router
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
Помещаем в БД нашего switch3 записи о Vlan
> vlan 10
> int vlan 10
> exit
> vlan 24
> int vlan 24
> exit
> vlan 55
> int vlan 55
> exit
> vlan 17
> int vlan 17
> exit
> vlan 777
> int vlan 777
> exit
смотрим конфигурацию
> do sh vl br
сохраняем конфиг
> switch3(config)#do wr
Для просмотра конкретного конфига интерфейса используется команда:
> do sh run int e0/0
### настройка switch4
повысим свои привелегии м перемсенуем наше оборудование:
> enable
> configure terminal
> hostname switch4
Приступим к настройке интерфейсов:
**int e0/2 trunk switch2**
> interface e0/2
> description to-switch2
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
**vlan 24 int e0/3 access PC14**
> interface e0/3
> description to-PC14
> switchport mode access
> switchport access vlan 24
> no shutdown
> exit
**int e0/1 trunk switchservers**
> interface e0/1
> description to-switchservers
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
**vlan 17 int e1/0 access PC13**
> interface e1/0
> description to-PC13
> switchport mode access
> switchport access vlan 17
> no shutdown
> exit
**int e0/0 trunk switch5**
> interface e0/0
> description to-switch5
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
Помещаем в БД нашего switch3 записи о Vlan
> vlan 10
> int vlan 10
> exit
> vlan 24
> int vlan 24
> exit
> vlan 55
> int vlan 55
> exit
> vlan 17
> int vlan 17
> exit
> vlan 777
> int vlan 777
> exit
смотрим конфигурацию
> do sh vl br
сохраняем конфиг
> do wr
Для просмотра конкретного конфига интерфейса используется команда:
> do sh run int e0/0
### настройка serversswitch
повысим свои привелегии м перемсенуем наше оборудование:
> enable
> configure terminal
> hostname serversswitch
Приступим к настройке интерфейсов:
**int e0/1 trunk switch4**
> interface e0/1
> description to-switch4
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
**vlan 55 int e0/0 access ESXI**
> interface e0/0
> description to-ESXI
> switchport mode access
> switchport access vlan 55
> no shutdown
> exit
**vlan 55 int e0/2 access Winserver**
> interface e0/2
> description to-Winserver
> switchport mode access
> switchport access vlan 55
> no shutdown
> exit
Помещаем в БД нашего switch3 записи о Vlan
> vlan 10
> int vlan 10
> exit
> vlan 24
> int vlan 24
> exit
> vlan 55
> int vlan 55
> exit
> vlan 17
> int vlan 17
> exit
> vlan 777
> int vlan 777
> exit
смотрим конфигурацию
> do sh vl br
сохраняем конфиг
> do wr
Для просмотра конкретного конфига интерфейса используется команда:
> do sh run int e0/0
### настройка switch5
повысим свои привелегии и переименуем наше оборудование:
> enable
> configure terminal
> hostname switch5
Приступим к настройке интерфейсов:
**int e0/0 trunk switch4**
> interface e0/0
> description to-switch4
> switchport trunk encapsulation dot1q
> switchport mode trunk
> no shutdown
> exit
**vlan 17 int e0/1 access PC15**
> interface e0/1
> description to-PC15
> switchport mode access
> switchport access vlan 17
> no shutdown
> exit
**vlan 777 int e0/2 access PC17**
> interface e0/2
> description to-PC17
> switchport mode access
> switchport access vlan 777
> no shutdown
> exit
Помещаем в БД нашего switch3 записи о Vlan
> vlan 10
> int vlan 10
> exit
> vlan 24
> int vlan 24
> exit
> vlan 55
> int vlan 55
> exit
> vlan 17
> int vlan 17
> exit
> vlan 777
> int vlan 777
> exit
смотрим конфигурацию
> do sh vl br
сохраняем конфиг
> do wr
Для просмотра конкретного конфига интерфейса используется команда:
> do sh run int e0/0
### настройка router
Повысим привелегии и зайдем в конфигурацию:
> enable
> conf t
**Виртуальный интерфейс для Vlan 10**
> interface e0/0.10
> encapsulation dot1Q 10
> ip address 10.0.1.254 255.255.255.0
> exit
**Виртуальный интерфейс для Vlan 24**
> interface e0/0.24
> encapsulation dot1Q 24
> ip address 10.0.0.254 255.255.255.128
> exit
**Виртуальный интерфейс для Vlan 55**
> interface e0/0.55
> encapsulation dot1Q 55
> ip address 10.0.2.254 255.255.255.0
> exit
**Виртуальный интерфейс для Vlan 17**
> interface e0/0.17
> encapsulation dot1Q 17
> ip address 10.0.0.14 255.255.255.240
> exit
**Виртуальный интерфейс для Vlan 777**
> interface e0/0.777
> encapsulation dot1Q 777
> ip address 10.0.0.62 255.255.255.224
> exit
где:
- dot1Q стандарт протокола 802.1 Q
- 10 - наш vlan
Для просмотра конфигурации конкретного виртуального интерфейса используется команда:
> do sh int e0/0.17
- где 17 номер нашего виртуального интерфейса, который мы хотим увидеть
сохраняем наши изменения командой:
> do wr
### ДОПОЛНИТЕЛЬНАЯ ИИНФОРМАЦИЯ
для удаления используется команда:
> switch1(config)#int e0/2
> switch1(config-if)#no switchport access vlan 10
удалять строго по порядку строки!!!
Для того чтобы сконфигурировать сразу несколько интерфейсов
int rage e0/0-2
int rage e1/0-e2/2 - РАБОТАТЬ НЕ БУДЕТ
в коммутаторах есть отдельный файл с бд Vlan'ов (по умолчанию их всего 5) при создании в данный файл заносится запись. Если через коммутатор будет проходить трафик неизвестного ему Vlan'а то он его просто отбросит, именно поэтому мы добавили во все коммутаторы все наши Vlan'ы.
## VTP
Настраиваем 1 коммутатор как сервер
>switch1(config)#vtp domain hackeru.local
>switch1(config)#vtp version 3
>switch1(config)#vtp password Qq123456
>switch1(config)#vtp mode server vlan
>switch1#vtp primary force
Последняя команда делает VTP сервер главным (primary). Она вводится не в режиме конфигурирования терминала (conf), а из exec.
Настраиваем остальные коммутаторы как клиенты
>switch2(config)#vtp domain hackeru.local
>switch2(config)#vtp ver 3
>switch2(config)#vtp password Qq123456
>switch2(config)#vtp mode client
Настраивать VLANы теперь можно только на главном (primary) сервере, все изменения распространятся на клиентов.
Зададим имена VLANам
>switch1(config)#vlan 10
>switch1(config-vlan)#name PrgVLAN
>switch1(config)#vlan 24
>switch1(config-vlan)#name TehVLAN
и т.д.
## VLAN Hopping
Запускаем на Kali yersinia
>yersinia -G
И запускаем в yersinia атаку DTP чтобы перевести порт коммутатора в режим TRUNK.
Затем указываем Kali, что для тегирование VLANов надо использовать протокол 802.1q
>modprobe 8021q
Создаем интерфейс
>vconfig add eth0 10
>ifconfig eth0.10 up
>dhclent eth0.10
Ура! Мы в 10 VLANe!
Чтобы удалить интерфейс
>vconfig rem eth0 10
# Port Security
[**Port Security**](http://ciscomaster.ru/content/nastroyka-port-security-na-kommutatorah-cisco)
Port Security — это функция канального уровня, которая создана для предотвращения несанкционированной смены MAC адреса сетевого подключения. Также, данная функция ограждает коммутатор от атак, которые могут быть направлены на переполнение таблицы MAC адресов.
С помощью Port Security можно ограничить (на канальном уровне) количество подключений (MAC адресов) на интерфейсе, а так же, при необходимости, ввести безопасные MAC адреса вручную (статические MAC адреса).
* Shutdown
* Restrict
* Protect
* Работает на access портах
**Режимы реагирования на нарушения безопасности**
Нарушением безопасности для port security считаются ситуации:
* максимальное количество безопасных MAC-адресов было добавлено в таблицу адресов и хост, чей MAC-адрес не записан в таблице адресов пытается получить доступ через интерфейс
* адрес, выученный или настроенный как безопасный на одном интерфейсе, появился на другом безопасном интерфейсе в том же VLAN'е.
**На интерфейсе могут быть настроены такие режимы реагирования на нарушения безопасности:**
* **protect**— когда количество безопасных MAC-адресов достигает максимального ограничения настроенного на порту, пакеты с неизвестным MAC-адресом отправителя отбрасываются до тех пор, пока не будет удалено достаточное количество безопасных MAC-адресов, чтобы их количество было меньше максимального значения, или увеличено максимальное количество разрешенных адресов. Оповещения о нарушении безопасности нет.
* **restrict** — когда количество безопасных MAC-адресов достигает максимального ограничения настроенного на порту, пакеты с неизвестным MAC-адресом отправителя отбрасываются до тех пор, пока не будет удалено достаточное количество безопасных MAC-адресов, чтобы их количество было меньше максимального значения, или увеличено максимальное количество разрешенных адресов. В этом режиме при нарушении безопасности отправляется оповещение — отправляется SNMP trap, сообщение syslog и увеличивается счетчик нарушений (violation counter).
* **shutdown** — нарушение безопасности приводит к тому, что интерфейс переводится в состояние error-disabled и выключается немедленно, и выключается LED порта. Отправляется SNMP trap, сообщение syslog и увеличивается счетчик нарушений (violation counter). Когда порт в состоянии error-disabled, вывести из этого состояния его можно введя команду errdisable recovery cause psecure-violation или вручную включить интерфейс введя в режиме настройки интерфейса shutdown и no shutdown. Это режим по умолчанию.
Пример настройки
>switch1(config)#int e0/1
>switch1(config-if)#switchport mode access
>switch1(config-if)#switchport port-security mac-address sticky
>switch1(config-if)#switchport port-security maximum 2
>switch1(config-if)#switchport port-security violation restrict
>switch1(config-if)#switchport port-security
Если port-security заблокировал порт, то для снятия блокировки
>switch1(config)#int e0/1
>switch1(config-if)#shutdown
>switch1(config-if)#no shutdown
Посмотреть, что порт перешел в состояние error-disabled:
>switch# show interfaces <interface-number> status
Очистить таблицу MAC-адресов, для подключения других устройств:
>switch# clear port-security [all|configured|dynamic|sticky] [address <mac>|interface <int-id>]
Отмена настройки port security:
>switch(config-if)# no port-security
Просмотр информации о настройках port security
>switch# show port-security
>switch# show port-security vlan <vlan>
>switch# show port-security interface fa0/3
>switch# show port-security address
# **NAT для выхода в сеть**
Router(config)# access-list 101 permit ip 192.168.10.0 0.0.0.255 any
Router(Config)# ip nat inside source list 101 interface e0/1 overload
Router(config)# interface e0/0
Router(config-if)#ip nat inside
Router(config-if)#exit
Router(config)# interface e0/1 -- интерфейс, смотрящий в инет
Router(config-if)#ip nat outside
## **ACL**
[**ACL**](https://habr.com/ru/post/121806/)
* Обработка ведется строго в том порядке, в котором записаны условия
* Если пакет совпал с условием, дальше он не обрабатывается
* В конце каждого списка доступа стоит неявный deny any (запретить всё)
* Расширенные ACL нужно размещать как можно ближе к источнику, стандартные же как можно ближе к получателю
* Нельзя разместить более 1 списка доступа на интерфейс, на протокол, на направление
* ACL не действует на трафик, сгенерированный самим маршрутизатором
* Для фильтрации адресов используется WildCard маска
**Стандартный список доступа**
Router(config)#access-list <номер списка от 1 до 99> {permit | deny | remark} {address | any | host} [source-wildcard] [log]
permit: разрешить
deny: запретить
remark: комментарий о списке доступа
address: запрещаем или разрешаем сеть
any: разрешаем или запрещаем всё
host: разрешаем или запрещаем хосту
source-wildcard: WildCard маска сети
log: включаем логгирование пакеты проходящие через данную запись ACL
**Расширенный список доступа**
Router(config)#access-list <номер списка от 100 до 199> {permit | deny | remark} protocol source [source-wildcard] [operator operand] [port <порт или название протокола> [established]
protocol source: какой протокол будем разрешать или закрывать (ICMP, TCP, UDP, IP, OSPF и т.д)
deny: запретить
operator:
A.B.C.D — адрес получателя
any — любой конечный хост
eq — только пакеты на этом порте
gt — только пакеты с большим номером порта
host — единственный конечный хост
lt — только пакеты с более низким номером порта
neq — только пакеты не на данном номере порта
range — диапазон портов
port: номер порта (TCP или UDP), можно указать имя
established: разрешаем прохождение TCP-сегментов, которые являются частью уже созданной TCP-сессии
**Прикрепляем к интерфейсу**
Router(config-if)#ip access-group <номер списка или имя ACL> {in | out}
in: входящее направление
out: исходящее направление
**Именованные списки доступа**
Router(config)# ip access-list {standard | extended} {<номер ACL> | <имя ACL>}
Router(config-ext-nacl)# {default | deny | exit | no | permit | remark}
standard: стандартный ACL
extended: расширенный ACL
default: установить команду в значение по умолчанию
**C урока Ивана**
Router(config)#ip access-list extended tech-block
Router(config-ext-nacl)#permit ip 10.0.0.128 0.0.0.127 host 10.0.2.200
Router(config-ext-nacl)#int e0/0.24
Router(config-subif)#[ip access-group](https://doc.s-terra.ru/rh_output/4.1/Gate/output/mergedProjects/Console/ip_access-group_interface.htm) tech-block in
Router#show ip access-lists
Router(config)#ip access-list extended tech-block
Router(config-ext-nacl)#deny ip any any
Router(config-ext-nacl)#12 permit tcp 10.0.0.128 0.0.0.127 host 10.0.2.200 eq 445 www 443
### **Пояснение к заданию на ACL**
Если ограничиваем трафик VLAN на входящем интерфейсе, то для возможности получать адрес по DHCP разрешаем на входящем интерфейсе широковещательный udp с 68 на 67 порт
>permit udp any eq 68 host 255.255.255.255 eq 67
Выходное правило на интерфейсе e0/1 разрешает выход в Интернет ~~из сетей программистов и VIP~~ , а также запрещает 8.8.4.4
>ip access-list extended TO-INTERNET
deny ip any host 8.8.4.4
~~permit tcp 10.0.1.0 0.0.0.255 any eq www
permit tcp 10.0.0.32 0.0.0.31 any eq www~~
permit ip any any reflect BACK-INTERNET
~~deny any any~~
Входное правило на интерфейсе e0/1 разрешает только ответный ~~(established)~~ трафик из интернета ~~в сети программистов и VIP~~ и внутренний служебный трафик на е0/1.
>ip access-list extended FROM-INTERNET
~~permit tcp any eq www 10.0.1.0 0.0.0.255 established
permit tcp any eq www 10.0.0.32 0.0.0.31 established~~
evaluate BACK-INTERNET
permit ip 192.168.84.0 0.0.0.255 any
deny ip any any
>int e0/1
ip access-group TO-INTERNET out
ip access-group FROM-INTERNET in
Админы имеют неограниченный доступ в ЛВС, но к админам никто не должен иметь доступа. Так как на входящем интерфейсе e0/0.17 все разрешено, то дополнительные правила для dhcp не нужны.
>ip access-list extended ADM-TO-LAN
permit ip any any reflect BACK-ADM
ip access-list extended LAN-TO-ADM
evaluate BACK-ADM
>int e0/0.17
ip access-group ADM-TO-LAN in
ip access-group LAN-TO-ADM out
В сеть программистов надо пропустить трафик из сети админов, обратный трафик из сети серверов и обратный трафик из интернета.
>ip access-list extended LAN-TO-PRG
permit ip 10.0.0.0 0.0.0.15 10.0.1.0 0.0.0.255
permit ip 10.0.2.0 0.0.0.255 10.0.1.0 0.0.0.255
~~permit tcp any eq www 10.0.1.0 0.0.0.255 established~~
evaluate BACK-INTERNET
deny ip any any
>int e0/0.10
ip access-group LAN-TO-PRG out
Из сети программистов надо выпустить трафик в сеть серверов, в том числе на контроллер домена, в интернет и обратный трафик в сеть админов.Так как на входящем интерфейсе e0/0.10 правила не запрещают широковещательный udp (deny any any не работает чтобы обеспечить доступ в интернет), то dhcp будет работать.
>ip access-list extended PRG-TO-LAN
permit ip 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255
evaluate BACK-ADM
deny ip 10.0.1.0 0.0.0.255 10.0.0.0 0.0.3.255
permit ip any any
>int e0/0.10
ip access-group PRG-TO-LAN in
В сеть VIP надо пропустить трафик из сети админов, от контроллера домена и обратный трафик из интернета.
>ip access-list extended LAN-TO-VIP
permit ip 10.0.0.0 0.0.0.15 10.0.0.32 0.0.0.31
permit ip 10.0.2.200 0.0.0.0 10.0.0.32 0.0.0.31
~~permit tcp any eq www 10.0.0.32 0.0.0.31 established~~
evaluate BACK-INTERNET
deny ip any any
>int e0/0.777
ip access-group LAN-TO-VIP out
Из сети VIP надо выпустить трафик на контроллер домена в сеть интернет и обратный трафик в сеть админов.Так как на входящем интерфейсе e0/0.777 правила не запрещают широковещательный udp (deny any any не работает чтобы обеспечить доступ в интернет), то dhcp будет работать.
>ip access-list extended VIP-TO-LAN
permit ip 10.0.0.32 0.0.0.31 10.0.2.200 0.0.0.0
evaluate BACK-ADM
deny ip 10.0.1.0 0.0.0.255 10.0.0.0 0.0.3.255
permit ip any any
>int e0/0.777
ip access-group VIP-TO-LAN in
В сеть технологов надо пропустить трафик из сети админов, а так же от контроллера домена по определенным портам.
>ip access-list extended LAN-TO-TEH
permit ip 10.0.0.0 0.0.0.15 10.0.0.128 0.0.0.127
permit udp 10.0.2.200 0.0.0.0 10.0.0.128 0.0.0.127 eq 53 88 135 138 389 445 464
permit tcp 10.0.2.200 0.0.0.0 10.0.0.128 0.0.0.127 eq 53 135 139 445 464 3268 3269
permit icmp 10.0.2.200 0.0.0.0 10.0.0.128 0.0.0.127 echo-reply
deny ip any any
>int e0/0.24
ip access-group LAN-TO-TEH out
Из сети технологов надо выпустить трафик на контроллер домена по определенным протоколам и обратный трафик админов.
>ip access-list extended TEH-TO-LAN
permit udp any eq 68 host 255.255.255.255 eq 67
permit udp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 eq 53 88 135 138 389 445 464
permit tcp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 eq 53 135 139 445 464 3268 3269
permit icmp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 echo
evaluate BACK-ADM
deny ip any any
>int e0/0.24
ip access-group TEH-TO-LAN in
В сеть серверов надо пропустить обратный трафик из интернета, трафик из сети админов, из сети программистов, из сети VIP только на контроллер домена и из сети технологов только на контроллер домена по определенным портам.Так как на входящем интерфейсе e0/0.55 правила не включаем, то dhcp будет работать.
>ip access-list extended LAN-TO-SRV
evaluate BACK-INTERNET
permit ip 10.0.0.0 0.0.0.15 10.0.2.0 0.0.0.255
permit ip 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255
permit ip 10.0.0.32 0.0.0.31 10.0.2.200 0.0.0.0
permit udp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 eq 53 88 135 138 389 445 464
permit tcp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 eq 53 135 139 445 464 3268 3269
permit icmp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 echo
deny ip any any
>int e0/0.55
ip access-group LAN-TO-SRV out
# Лабораторная работа. Static Routing
Топология сети лабораторной работы №2

### Назначение ip адресов
Задаем IP адрес и шлюз по умолчанию на конечных точках (VPC, Linux, Win10)
В VPC вводим команды
>ip 14.1.1.21/24 14.1.1.1
Последний октет IP адреса я задавал такой же, как номер устройства на схеме, например, 21 для PC-21. Шлюз по умолчанию для каждой конечной точки в каждой сети прописал 1.
На Linux прописываем настройки в /etc/network/interfaces
См. [настройка сети в Linux.](https://hackmd.io/qn8vvJPETqaFtMBVOMCFww#%D0%97%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D0%B5-4-%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_1-%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%81%D0%B5%D1%82%D0%B8-%D0%B2-Linux-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-Ubuntu)
Задаем IP адреса на ближайших к оконечным устройствам маршрутизаторах.
Ниже приведен пример настройки адресов на маршрутизаторе C-R-3.
>Router>en
Router#conf t
Router(config)#hostname С-R-3
С-R-3(config)#int e0/1
С-R-3(config-if)#no shutdown
С-R-3(config-if)#ip addr 13.1.1.1 255.255.255.0
С-R-3(config-if)#int e0/0
С-R-3(config-if)#no shutdown
С-R-3(config-if)#ip addr 13.1.0.1 255.255.255.0
С-R-3(config-if)#exit
### Маршруты
затем прописывам маршруты и сохраняем конфигурацию
>С-R-3(config)#ip route 8.0.0.0 248.0.0.0 13.1.0.2
С-R-3(config)#do wr

Здесь сеть 8.0.0.0 248.0.0.0 объединяет все сети 11.0.0.0 - 14.0.0.0 в которые надо идти через C-R-5. Сеть 13.1.1.0/24 подсоединена к C-R-3 напрямую, поэтому такой машрут ей не повредит. Аналогично прописываем адреса и маршрут на остальных роутерах, к которым подключены оконечные устройства.
Ниже приведен пример настройки роутера на микротике M-R-14
>[admin@MikroTik] > system identity set name=M-R-14
[admin@M-R-14] > ip address
[admin@M-R-14] /ip address> add interface=ether1 address=14.2.0.1/24
[admin@M-R-14] /ip address> add interface=ether2 address=14.2.1.1/24
[admin@M-R-14] /ip address> /
[admin@M-R-14] > ip route
[admin@M-R-14] /ip route> add dst-address=8.0.0.0/5 gateway=14.2.0.2
==~~С Микротиком пока не разобрался. Настройка не работает!~~ Глюк микротика. Все починилось само собой при повторном открытии лабы.==
Переходим к роутерам, находящимся ближе к центральному маршрутизатору.
Ниже приведен пример настройки роутера C-R-5.
### IP адреса:
>Router>en
Router#conf t
Router(config)#hostname С-R-5
С-R-5(config)#int e0/0
С-R-5(config-if)#no shutdown
С-R-5(config-if)#ip addr 13.0.0.2 255.255.255.0
С-R-5(config)#int e0/1
С-R-5(config-if)#no shutdown
С-R-5(config-if)#ip addr 13.3.0.2 255.255.255.0
С-R-5(config-if)#int e0/2
С-R-5(config-if)#no shutdown
С-R-5(config-if)#ip addr 13.2.0.2 255.255.255.0
С-R-5(config)#int e0/3
С-R-5(config-if)#no shutdown
С-R-5(config-if)#ip addr 13.1.0.2 255.255.255.0
С-R-5(config-if)#exit
### Маршруты:
>С-R-5(config)#ip route 13.1.1.0 255.255.255.0 13.1.0.1
С-R-5(config)#ip route 13.2.1.0 255.255.255.0 13.2.0.1
С-R-5(config)#ip route 13.3.1.0 255.255.255.0 13.3.0.1
С-R-5(config)#ip route 11.0.0.0 255.0.0.0 13.0.0.3
С-R-5(config)#ip route 12.0.0.0 255.0.0.0 13.0.0.3
С-R-5(config)#ip route 14.0.0.0 255.0.0.0 13.0.0.3
С-R-3(config)#do wr

На этом этапе уже есть маршрутизация, не затрагивающая центральный роутер, например, между PC-19 и PC-24.

Маршруты на M-R-12

Настало время приступить к настройке центрального маршрутизатора.
В шаблоне лабы он на Debian.
~~Настроить маршрутизацию в Linux у меня не получилось~~ На скриншоте рабочая конфигурация, просто кроме /etc/network/interfaces надо отредактировать файл /etc/sysctl.conf, убрав комментарий со строки net.ipv4.ip_forward=1 После это все работает как часы :)

Поэтому я заменил центральный маршрутизатор c Debian Linux на Cisco. Его настройка выглядит следующим образом:
### IP адреса:
>Router>en
Router#conf t
Router(config)#hostname R-30
R-30(config)#int e0/0
R-30(config-if)#no shutdown
R-30(config-if)#ip addr 11.0.0.3 255.255.255.0
R-30(config)#int e0/1
R-30(config-if)#no shutdown
R-30(config-if)#ip addr 12.0.0.3 255.255.255.0
R-30(config-if)#int e0/2
R-30(config-if)#no shutdown
R-30(config-if)#ip addr 13.0.0.3 255.255.255.0
R-30(config)#int e0/3
R-30(config-if)#no shutdown
R-30(config-if)#ip addr 14.0.0.3 255.255.255.0
R-30(config-if)#exit
### Маршруты:
>R-30(config)#ip route 11.0.0.0 255.0.0.0 11.0.0.2
R-30(config)#ip route 12.0.0.0 255.0.0.0 12.0.0.2
R-30(config)#ip route 13.0.0.0 255.0.0.0 13.0.0.2
R-30(config)#ip route 14.0.0.0 255.0.0.0 14.0.0.2
R-30(config)#do wr

После этого все устройства могут взаимодействовать друг с другом.

# Лабораторная работа. Dynamic Routing
Топология сети лабораторной работы №2

Настраиваем интерфейсы (прописываем адреса)
Ниже приведен пример настройки адресов на маршрутизаторе C-R3.
>Router>en
Router#conf t
Router(config)#hostname С-R3
С-R3(config)#int range e0/0-3
С-R3(config-if-range)#no shutdown
С-R3(config)#int e0/0
С-R3(config-if)#ip addr 10.0.1.3 255.255.255.0
С-R3(config-if)#int e0/1
С-R3(config-if)#ip addr 13.3.0.3 255.255.255.0
С-R3(config-if)#int e0/2
С-R3(config-if)#ip addr 10.0.4.3 255.255.255.0
С-R3(config-if)#int e0/3
С-R3(config-if)#ip addr 10.0.5.3 255.255.255.0
С-R3(config-if)exit
С-R3(config)#router rip
С-R3(config-router)#version 2
С-R3(config-router)#network 10.0.5.0
С-R3(config-router)#network 10.0.4.0
С-R3(config-router)#network 10.0.1.0
С-R3(config-router)#redistribute connected
С-R3(config-router)#do wr
Сети прописываем только RIPовские, 13.3.0.0 не прописываем.
Посмотреть маршруты
>С-R3(config-router)#do sh ip route
Ниже скрины настройки маршрутов на C-R1 и C-R2. (настройка адресов сделана ранее)

==Вопрос к Ильдару: "Зачем делать redistribute connected на тех маршрутизаторах, где все сети явно прописаны командой network? Это же не прибавит никакой информации об известных сетях." Пожалуйста, ответь комментарием может ещё кому-нибудь будет интересно.==
Ниже приведен пример настройки роутера на микротике M-R11
>[admin@MikroTik] > system identity set name=M-R11
[admin@M-R11] > ip address
[admin@M-R11] /ip address> add interface=ether1 address=10.0.3.11/24
[admin@M-R11] /ip address> add interface=ether2 address=10.0.4.11/24
[admin@M-R11] /ip address> add interface=ether3 address=10.0.7.11/24
[admin@M-R11] /ip address>/routing rip
[admin@M-R11] /routing rip> network
[admin@M-R11] /routing rip network> add network=10.0.3.0/24
[admin@M-R11] /routing rip network> add network=10.0.4.0/24
[admin@M-R11] /routing rip network> add network=10.0.6.0/24
[admin@M-R11] /routing rip network> add network=10.0.7.0/24
[admin@M-R11] /routing rip network> ..
[admin@M-R11] /routing rip> set redistribute-connected=yes
==Вопрос к Ильдару: "Если микротики не привязываются к классовым сетям и нормально работают с любыми масками, то нельзя ли на микротиках ограничится только командой /routing rip set redistribute-connected=yes и вообще не прописывать сети вручную? На цисках же мы прописываем сети вручную потому что если ограничится только redistribute connected, то они (циски) поставят маски классовых сетей? Кажется сам понял, командами [admin@M-R11] /routing rip network> add network=10.0.4.0/24 мы указываем c маршрутизаторами в каких сетях обмениваться информацией об известных маршрутах и если эти команды не вводить, то информация об известных маршрутах рассылаться никуда не будет." Пожалуйста, ответь комментарием может ещё кому-нибудь будет интересно.==
Сети прописываем только RIPовские, например, на M-R12 сети 13.1.0.0 и 14.1.0.0 не прописываем.
Посмотреть маршруты
>[admin@M-R11] /routing rip> /ip route print
OSPF
Адреса настраиваем аналогично.



Прописываем сети на примере С-R10
>С-R10(config)#router ospf 1
С-R10(config-router)#network 11.0.1.0 255.255.255.0 area 0
С-R10(config-router)#network 11.0.2.0 255.255.255.0 area 0
С-R10(config-router)#network 11.0.3.0 255.255.255.0 area 0
С-R10(config-router)#redistribute connected
С-R10(config-router)#do wr
Прописываем сети на примере M-R13.
area=backbone это синоним area 0
Прописываем только сети в которые надо передавать OSPF. Сеть 13.3.0.0 прописываем для связи RIP и OSPF. Сеть 14.2.0.0 не прописываем.
>[admin@M-R13] interface bridge
[admin@M-R13] /interface bridge> add name=LoopBack
[admin@M-R13] /interface bridge> /ip address add interface=LoopBack address=13.13.13.13/32
[admin@M-R13] /interface bridge> /routing ospf instance
[admin@M-R13] /routing ospf instance> set number=0 router-id=13.13.13.13
[admin@M-R13] /routing ospf instance> set number=0 redistribute-connected=as-type-1
[admin@M-R13] /routing ospf instance> . .
[admin@M-R13] /routing ospf> network
[admin@M-R13] /routing ospf network> add network=11.0.5.0/24 area=backbone
[admin@M-R13] /routing ospf network> add network=11.0.4.0/24 area=backbone
[admin@M-R13] /routing ospf network> add network=11.0.1.0/24 area=backbone
[admin@M-R13] /routing ospf network> add network=13.3.0.0/24 area=backbone
Посмотреть маршруты
>[admin@M-R13] /routing ospf network> /ip route print

На M-R16 прописываем сети.
==В видео (03:16:25) Ильдар говорит, что на M-R16 надо прописать redistribute-connected=as-type-1. Зачем это нужно я не понял. На записи видно, что маршруты от M-R16 на C-R10 не прилетают. Пока я не ввел команду [admin@M-R16] /routing ospf network> add network=11.0.3.0/24 area=backbone маршруты между M-R16 и C-R10 не строились несмотря на наличие redistribute-connected=as-type-1. Других сетей, не указанных явно командами [admin@M-R16] /routing ospf network> add network=11.0.Х.0/24, на M-R16 нет, поэтому непонятно зачем надо прописывать redistribute-connected=as-type-1.==
>[admin@M-R16] /routing ospf instance> set number=0 redistribute-connected=as-type-1
[admin@M-R16] /routing ospf instance> ..
[admin@M-R16] /routing ospf> network
[admin@M-R16] /routing ospf network> add network=11.0.4.0/24
[admin@M-R16] /routing ospf network> add network=11.0.6.0/24
[admin@M-R16] /routing ospf network> add network=11.0.7.0/24
[admin@M-R16] /routing ospf network> add network=11.0.3.0/24
[admin@M-R16] /routing ospf network> /ip route print
Донастраиваем C-R4 и C-R5.

Не забываем сохранять сонфигурацию do write!
Настраиваем связь между RIP и OSPF на C-R3.
>C-R3>en
C-R3#conf t
C-R3(config)#router ospf 1
С-R3(config-router)#network 13.3.0.0 255.255.255.0 area 0
С-R3(config-router)#redistribute rip metric 1
C-R3(config-router)#router rip
C-R3(config-router)#redistribute ospf 1 metric 1
C-R3(config-router)#no auto-summary
C-R3(config-router)#do wr
C-R3(config-router)#do show ip route

Проверяем на M-R11

iBGP
Настраиваем адреса. Все как обычно.


Теперь перейдем к настройке протокола.
- network 12.0.2.0 mask 255.255.255.0 - указываем подключенные сети.
- neighbor 12.0.2.6 remote-as 400 - создаем соседей.


На микротиках

Посмотреть информацию о маршрутах можно при помощи следующих команд:
>show ip route - просмотр всех маршрутов.
show ip bgp summary - просмотр соседей.
show ip route bgp - просмотр всех маршуров полученных по протоколу BGP.

Настройка eBGP
C-R8

C-R9

M-R13

M-R12
