owned this note
owned this note
Published
Linked with GitHub
# Работа с Cisco
При работе с Cisco есть 3 режима работы:
- самый первый в который мы попадаем при коннекте, он именуется точно так же как и называется наше оборудование, в данном случае Switch1
- более продвинутый режим будет выглядеть так: Switch#
- и 3й режим самый продвинутый будет выглядеть, как Switch1(config)
## Первые Шаги
В самом начал повысим свои привелегии:
> 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
После чего нам необходимо сохранить изменения в конфиг файл, чтобы после перезагрузки устройства изменения не потерялись. Для этого для начала необходимо выйти из режима конфигурирования комбинацией клавиш **ctrl+z**
> Switch1# copy running-config startup-config
**После чего нажимаем Enter**
Для просмотра конфиг файла:
> Switch1# show running-config

Настройка VLAN Топологии
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)#ip host pc1.hackeru.local 192.168.100.100
от Иван Костомаха для Все (19:29)
# DHCP
**Настраиваем пул DHCP для других устройств не входящих в заданные пулы VLAN. Чтобы кали могла выйти в сеть, когда она находится внутри локалки**
ip dhcp pool polnam1
network 192.168.10.254 255.255.255.0
default-router 192.168.10.254
domain-name hackeru.local
dns-server 192.168.10.254
# VLAN
**Настройка VLAN switch1**
switch1(config)#interface e1/0
switch1(config-if)#description to-PC4
switch1(config-if)#switchport mode access
switch1(config-if)#int e1/1
switch1(config-if)#switchport mode access
switch1(config-if)#switchport access vlan 24
Trunk
switch1(config-if)#int e0/0
switch1(config-if)#switchport trunk encapsulation dot1q
switch1(config-if)#switchport mode trunk
switch1(config-if)#description to-Switch2
switch1(config-if)#do sh run int e0/0
#do wr
**Настройка остальных Свичей**
Отмена конфига на интерфейсе
switch1(config)#int e0/2
switch1(config-if)#no switchport access vlan 10
switch1(config-if)#no switchport mode access
switch1(config-if)#do sh run int e0/2
switch2(config)#interface range e0/0-2
switch2(config-if-range)#sw t e d
switch2(config-if-range)#sw m t
switch2(config-if-range)#int e0/0
switch2(config-if)#des
switch2(config-if)#description to-Switch1
switch2(config-if)#int e0/1
switch2(config-if)#description to-Switch3
switch2(config-if)#int e0/2
switch2(config-if)#description to-Switch4
Switch(config)#hostname switch3
switch3(config)#int ra e0/0-1
switch3(config-if-range)#sw t e d
switch3(config-if-range)#sw m t
switch3(config-if-range)#int e1/0
switch3(config-if)#sw m a
switch3(config-if)#sw a v 10
switch3(config)#vlan 10
switch3(config-vlan)#int vlan 10
switch3(config-if)#vlan 24
switch3(config-vlan)#int vlan 24
router
#int e0/0
#du fu
Router(config)#interface e0/0.10
Router(config-subif)#encapsulation dot1Q 10
Router(config-subif)#ip address 10.0.1.254 255.255.255.0
Router(config-subif)#interface e0/0.24
Router(config-subif)#encapsulation dot1Q 24
Router(config-subif)#ip address 10.0.1.254 255.255.255.128
Router(config-subif)#do sh int e0/0.10
# **Настройка Свичей**
Помощь - https://hackmd.io/@N0y8SsX2TN-aKTUtG8XT-g/S1yAXdOrt#Настройка-DHCP-пулов-на-Router
**SWITCH2**
switch2>en
switch2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
switch2(config)#int e1/0
switch2(config-if)#description to-PC6
switch2(config-if)#switchport mode access
switch2(config-if)#switchport access vlan 24
% Access VLAN does not exist. Creating vlan 24
switch2(config-if)#no shutdown
switch2(config-if)#exit
switch2(config)#int e0/0
switch2(config-if)#description to-Switch1
switch2(config-if)#switchport trunk encapsulation dot1q
switch2(config-if)#switchport mode trunk
switch2(config-if)#no shutdown
switch2(config-if)#exit
switch2(config)#int e0/1
switch2(config-if)#description to-Switch3
switch2(config-if)#switchport trunk encapsulation dot1q
switch2(config-if)#switchport mode trunk
switch2(config-if)#no shutdown
switch2(config-if)#exit
switch2(config)#int e0/2
switch2(config-if)#description to-Switch4
switch2(config-if)#switchport trunk encapsulation dot1q
switch2(config-if)#switchport mode trunk
switch2(config-if)#no shutdown
switch2(config-if)#exit
switch2(config)#do sh vl br
switch2(config)#do wr
**Переименовать VLAN**
(config)# vlan 10
(config-vlan)# name ProgrVLAN
(config-vlan)# end
**Добавляем 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 wr
**настройка 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
# VTP
[**VTP**](http://xgu.ru/wiki/VTP)
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
vlan 10
name ProgrVLAN
и тд
switch2(config)#vtp domain hackeru.local
switch2(config)#vtp ver 3
switch2(config)#vtp password Qq123456
switch2(config)#vtp mode client
# 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. Это режим по умолчанию.
***Моя топология***

**Swith1**
switch1(config)#int e0/1
switch1(config-if)#switchport mode access
switch1(config-if)#switchport port-security
switch1(config-if)#switchport port-security mac-address sticky
switch1(config-if)#switchport port-security maximum 2
switch1(config-if)#switchport port-security maximum 2
switch1(config-if)#switchport port-security violation restrict
switch1(config-if)#shutdown
switch1(config-if)#no shutdown
switch1(config-if)#do sh run int e0/1
switch1(config)#int e1/0
switch1(config-if)#switchport mode access
switch1(config-if)#switchport port-security
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)#shutdown
switch1(config-if)#no shutdown
switch1(config-if)#do sh run int e1/0
int e1/0
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e1/0
int e1/1
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e1/1
Выключаем интерфейсы Switch1
int e0/2
sh
int e0/3
sh
int e1/2
sh
int e1/3
sh
int e2/0
sh
int e2/1
sh
int e2/2
sh
int e2/3
sh
do sh int status
**Switch2**
int e1/0
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e1/0
int e0/3
sh
int e1/1
sh
int e1/2
sh
int e1/3
sh
int e2/0
sh
int e2/1
sh
int e2/2
sh
int e2/3
sh
do sh int status
**Switch3**
int e0/2
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e0/2
int e0/3
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e0/3
int e1/0
sh
int e1/1
sh
int e1/2
sh
int e1/3
sh
int e2/0
sh
int e2/1
sh
int e2/2
sh
int e2/3
sh
do sh int status
**Switch4**
int e1/0
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e1/0
int e1/1
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e1/1
int e0/3
sh
int e1/2
sh
int e1/3
sh
int e2/0
sh
int e2/1
sh
int e2/2
sh
int e2/3
sh
do sh int status
**Switch5**
int e0/1
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e0/1
int e1/1
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e1/1
int e0/2
sh
int e0/3
sh
int e1/0
sh
int e1/2
sh
int e1/3
sh
int e2/0
sh
int e2/1
sh
int e2/2
sh
int e2/3
sh
do sh int status
**Server-Switch**
int e0/1
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e0/1
int e1/1
switchport mode access
switchport port-security
switchport port-security mac-address sticky
switchport port-security maximum 2
switchport port-security violation restrict
shutdown
no shutdown
do sh run int e1/1
int e0/0
sh
int e0/2
sh
int e0/3
sh
int e1/2
sh
int e1/3
sh
int e2/0
sh
int e2/1
sh
int e2/2
sh
int e2/3
sh
do sh int status
**Router**
int e0/2
sh
int e0/3
sh
int e1/0
sh
int e1/1
sh
int e1/2
sh
int e1/3
do sh int stat
# 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
Создать следующие списки контроля доступа и применить их на роутере:
1 Программисты имеют доступ до контроллера домена (windows server 2012) (без ограничений по портам), VLAN серверов и сети интернет.
2 VIP имеют доступ до контроллера домена (без ограничений по портам) и сети интернет.
3 Админы имеют неограниченный доступ.
4 Адрес 8.8.4.4 в черном списке (недоступен для всех сетей компании)
5 Технологи имеют доступ только до домен-контроллера по необходимым портам (базовые порты для доменного взаимодействия) и с помощью icmp, а также своего шлюза по умолчанию.
6 Предусмотреть, что все ПК во всех сетях могут получать адрес по DHCP.
Проверка: приложить скрин вывода команды роутера show access-lists и команды ping у следующих ПК:
1 PC5 -> PC4
2 PC4 -> DC-winserver12
3 PC17 -> PC4
4 PC14 -> 8.8.4.4
5 PC15 -> PC6
6 DC-winserver12 -> 8.8.8.8
Пояснение к заданию на ACL
Если ограничиваем трафик VLAN на входящем интерфейсе, то для возможности получать адрес по DHCP разрешаем на входящем интерфейсе широковещательный udp с 68 на 67 порт
permit udp any eq 68 host 255.255.255.255 eq 67
Выходное правило на интерфейсе e0/1 разрешает выход в Интернет, а также запрещает 8.8.4.4
ip access-list extended TO-INTERNET
deny ip any host 8.8.4.4
permit ip any any reflect BACK-INTERNET
deny ip any any
Входное правило на интерфейсе e0/1 разрешает только ответный трафик из интернета и VIP и внутренний служебный трафик на е0/1.
ip access-list extended FROM-INTERNET
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
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
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
**Проверка**: приложить скрин вывода команды роутера show access-lists и команды ping у следующих ПК:
1 PC5 -> PC4
2 PC4 -> DC-winserver12
3 PC17 -> PC4
4 PC14 -> 8.8.4.4
5 PC15 -> PC6
6 DC-winserver12 -> 8.8.8.8
P.S. Winserver не поднялся, я заменил ip на нужный нам адрес, все равно пинга нет. Проверил все соединения, вроде сделал как надо. Наверняка есть ошибка, но я ее не вижу
**Router!**[](https://i.imgur.com/rDNuVhh.png)

1. PC5-PC4

2. PC4-DC-winserver12

3. PC17-PC4
4. PC14-8.8.8.8 
5. PC15-PC6 
6. DC-winserver-8.8.8.8 
# **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