Rose debug info
---------------

Exchange, esx, AD, GPO, veeam, adaptec,lsi megaraid

Позднее Ctrl + ↑

Proxmox 4.0: Корневой раздел на ZFS RAID1 или как увеличить отказоустойчивость если в сервере всего 2 диска

Подвернулась мне задача — запустить Proxmox и несколько виртуалок на сервере всего с 2 дисками. При этом требовалось обеспечить ну хоть какую-то надежность и простоту исправления проблем связанных с выходом из строя одного из дисков. Далее в заметке подробное описание тестирования решения на стенде.

Вводная


Я считаю что читатель данной заметки может самостоятельно установить Proxmox на ноду и не буду рассматривать установку и настройку самого гипервизора. Рассмотрим только настройки касающиеся ZFS RAID1 и тестирование ситуации сбоя одного из дисков.
Железо на котором предстояло развернуть проект представляло из себя ноду Supermicro, видимо в исполнении 2 node in 1U с псевдо-рейдом интегрированном в чипсет от Intel который не поддерживается в Proxmox. В связи с этим попробуем испытать решение предлагаемое «из коробки» в версии 4.0. Хоть убейте — я не помню был-ли такой вариант установки в Proxmox 3.6, может и был, но не отложилось в памяти из-за невостребованности такой конфигурации. В тестовой стойке у нас отыскался аналогичный сервер и я принялся за проверку решения, предоставляемого ребятами из Proxmox Server Solutions.

Установка


Как и предупреждал — не буду показывать установку полностью, заострю внимание только на важных моментах.

Выбираем zfs RAID1:

image

Сервер тестовый и нет подписки на коммерческий репозиторий. В /etc/apt/sources.list подключаем бесплатный:

deb http://download.proxmox.com/debian jessie pve-no-subscription

В /etc/apt/sources.list.d/pve-enterprise.list закомментируем коммерческий.

Ну и вдруг забудете:

root@pve1:~# apt-get update && apt-get upgrade

Смотрим что нам нарезал инсталлятор на дисках (привожу только часть вывода):

root@pve1:~# fdisk -l /dev/sd*

Disk /dev/sda: 149.1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 758FA29C-4F49-4315-BA0C-F3CCC921FA01

Device         Start       End   Sectors  Size Type
/dev/sda1         34      2047      2014 1007K BIOS boot
/dev/sda2       2048 312565389 312563342  149G Solaris /usr & Apple ZFS
/dev/sda9  312565390 312581774     16385    8M Solaris reserved 1

Disk /dev/sdb: 149.1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3CD4B489-A51D-4354-8018-B1391F52B08D

Device         Start       End   Sectors  Size Type
/dev/sdb1         34      2047      2014 1007K BIOS boot
/dev/sdb2       2048 312565389 312563342  149G Solaris /usr & Apple ZFS
/dev/sdb9  312565390 312581774     16385    8M Solaris reserved 1

Глянем на наш массив:

root@pve1:~# zpool status rpool
  pool: rpool
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rpool       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            sda2    ONLINE       0     0     0
            sdb2    ONLINE       0     0     0

errors: No known data errors

По умолчанию инсталлятор Proxmox установил загрузчик на оба раздела — отлично!

Тестирование


Имитируем отказ жесткого диска следующим образом:
— выключаем сервер;
— выдергиваем одну из корзин;
— включаем сервер.

Сервер прекрасно грузится на любом из двух оставшихся дисков, массив работает в режиме DEGRADED и любезно подсказывает какой диск нам надо сменить и как это сделать:

root@pve1:~# zpool status rpool
  pool: rpool
 state: DEGRADED
status: One or more devices could not be used because the label is missing or
        invalid.  Sufficient replicas exist for the pool to continue
        functioning in a degraded state.
action: Replace the device using 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-4J
  scan: none requested
config:

        NAME                      STATE     READ WRITE CKSUM
        rpool                     DEGRADED     0     0     0
          mirror-0                DEGRADED     0     0     0
            14981255989033513363  FAULTED      0     0     0  was /dev/sda2
            sda2                  ONLINE       0     0     0

errors: No known data errors

Если вернуть извлеченный диск на место — он прекрасно «встает» обратно в зеркало:

root@pve1:~# zpool status rpool
  pool: rpool
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-9P
  scan: resilvered 1.29M in 0h0m with 0 errors on Wed Dec  2 08:37:46 2015
config:

        NAME        STATE     READ WRITE CKSUM
        rpool       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            sda2    ONLINE       0     0     3
            sdb2    ONLINE       0     0     0

errors: No known data errors

Инсценируем замену диска на новый. Я просто взял другую корзину с таким-же диском из старого сервера. Ставим корзину на горячую для большей правдоподобности:

root@pve1:~# fdisk -l /dev/sdb

Disk /dev/sdb: 149.1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 38BE38AC-00D9-4680-88FC-0876378526BC

Device      Start       End   Sectors   Size Type
/dev/sdb1      40    409639    409600   200M EFI System
/dev/sdb2  411648 312580095 312168448 148.9G Microsoft basic data

Условно неисправный диск у нас /dev/sdb и учитывая одинаковую емкость и геометрию копируем таблицу разделов 1:1 с исправного диска /dev/sda

root@pve1:~# sgdisk -R /dev/sdb /dev/sda
The operation has completed successfully.

Генерируем уникальные UUID для /dev/sdb

root@pve1:~# sgdisk -G /dev/sdb
The operation has completed successfully.

Ставим загрузчик на замененный диск и обновляем GRUB:

root@pve1:~# grub-install --recheck /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.
root@pve1:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.2.3-2-pve
Found initrd image: /boot/initrd.img-4.2.3-2-pve
Found linux image: /boot/vmlinuz-4.2.2-1-pve
Found initrd image: /boot/initrd.img-4.2.2-1-pve
Found memtest86+ image: /ROOT/pve-1@/boot/memtest86+.bin
Found memtest86+ multiboot image: /ROOT/pve-1@/boot/memtest86+_multiboot.bin
done
root@pve1:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.2.3-2-pve

Осталось только заменить сбойный диск в массиве на свежеустановленный, но тут всплывает одна проблема, порожденная методом адресации дисков в массиве примененной в инсталляторе. А именно — диски включены в массив по физическому адресу и команда zpool replace rpool /dev/sdb2 покажет нам вот такую фигу:

root@pve1:~# zpool replace rpool /dev/sdb2
cannot replace /dev/sdb2 with /dev/sdb2: /dev/sdb2 is busy

Что совершенно логично, нельзя сменить сбойный диск на /dev/sdb2 так как сбойный диск и есть /dev/sdb2, а зачем нам повторять недоработку инсталлятора? Привяжем диск по UUID, я вообще уже забыл то время когда диски прибивались гвоздями вида /dev/sdХХ — UUID наше все:

root@pve1:~# zpool replace rpool /dev/disk/by-partuuid/cf590df4-72b7-4cfc-a965-001ffe56d0c9
Make sure to wait until resilver is done before rebooting.

Нас предупредили о необходимости дождаться окончания синхронизации прежде чем перезагружаться. Проверим статус массива:

root@pve1:~# zpool status rpool
  pool: rpool
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Wed Dec  2 18:07:01 2015
        92.8M scanned out of 920M at 8.44M/s, 0h1m to go
        92.5M resilvered, 10.09% done
config:

        NAME                                      STATE     READ WRITE CKSUM
        rpool                                     ONLINE       0     0     0
          mirror-0                                ONLINE       0     0     0
            sda2                                  ONLINE       0     0     0
            cf590df4-72b7-4cfc-a965-001ffe56d0c9  ONLINE       0     0     0  (resilvering)

errors: No known data errors

Для общего порядку включим и sda2 в массив используя UUID:

root@pve1:~# zpool detach rpool /dev/sda2
root@pve1:~# zpool attach rpool /dev/disk/by-partuuid/cf590df4-72b7-4cfc-a965-001ffe56d0c9 /dev/disk/by-partuuid/8263d908-e9a8-4ace-b01e-0044fa519037
Make sure to wait until resilver is done before rebooting.

Пока я копипастил предыдущие 2 команды из консоли в редактор массив уже синхронизировался:

root@pve1:~# zpool status rpool
  pool: rpool
 state: ONLINE
  scan: resilvered 920M in 0h1m with 0 errors on Wed Dec  2 18:36:37 2015
config:

        NAME                                      STATE     READ WRITE CKSUM
        rpool                                     ONLINE       0     0     0
          mirror-0                                ONLINE       0     0     0
            cf590df4-72b7-4cfc-a965-001ffe56d0c9  ONLINE       0     0     0
            8263d908-e9a8-4ace-b01e-0044fa519037  ONLINE       0     0     0

errors: No known data errors

 

Вывод


Когда нет аппаратного Raid-контроллера вполне удобно применить размещение корневого раздела на доступном в Proxmox 4.0 «из коробки» zfs RAID1. Конечно-же всегда остается вариант переноса /boot и корня на зеркала созданные средствами mdadm, что тоже неоднократно было использовано мной и до сих пор работает не нескольких серверах, но рассмотренный вариант проще и предлагается разработчиками продукта «из коробки».

 101   2021   proxmox

L2TP IpSEC для IPHONE IPAD

Порты которые необходимо открыть на шлюзе:

L2TP traffic — UDP 1701
Internet Key Exchange (IKE) — UDP 500
IPSec Network Address Translation (NAT-T) — UDP 4500
Allows IPsec Encapsulating Security Payload (ESP) traffic to the VPN server — UDP 50

Установим необходимые приложения:

apt-get install openswan xl2tpd ppp

При установке инсталлятор задаст вопрос о генерации ключей. Откажемся от автоматической генерации ключей (выберем “No” в диалоге).

С помощью любимого текстового редактора (vi или nano) отредактируем файл /etc/ipsec.conf:

Обратите внимание на параметр left=, в нем нужно указать IP-адрес VDS.

Следующим шагом — добавим ключ шифрования. Для этого в укажем в файле /etc/ipsec.secrets желаемый ключ (смените его значение на какое-то более секретное):

Перейдем к настройке L2TP. Откроем в редакторе файл /etc/xl2tpd/xl2tpd.conf и приведем его содержимое к следующему виду:

Теперь займемся настройкой PPP. Наша следующая цель — файл конфигурации /etc/ppp/options.xl2tpd:

Наше соединение использует авторизацию по паролю, поэтому укажем его в соответствующем файле —/etc/ppp/chap-secrets:

С настройками VPN мы закончили, но нам нужно включить NAT (трансляцию адресов) в сетевых настройках операционной системы. Откроем файл /etc/rc.local и в его самом начале укажем следующие команды:

На этом настройка нашего VPN-сервера окончена. Перезагрузим VDS командой reboot и через минуту можно начинать пользоваться нашим шифрованным каналом доступа в Интернет. А пока давайте произведем настройку нашего iPhone. Перейдем в “Настройки” — “VPN”, затем выберем “Добавить конфигурацию VPN…”. Заполним поля:

Настройки L2TP/IPSec VPN в iPhone

  • Тип VPN — L2TP
  • Описание — выберите любое удобное название, например My VPN или ITLDC VPN
  • Сервер — указываем IP-адрес нашей VDS
  • Учетная запись — любое имя
  • RSA SecurID — выключен
  • Пароль — выбранный пароль (в нашем примере — TestPassword)
  • Общий ключ — ключ шифрования (TestSecret)

На этом настройка клиентской части окончена, выбираем “Сохранить”. Чтобы подключиться к VPN, необходимо в “Настройках” нашего iPhone или iPad включить слайдером соответствующий режим. Подключение производится достаточно быстро и через несколько секунд можно пользоваться всеми благами Интернет — без каких либо ограничений.

 261   2021   iphone   ipsec   l2tp   linux   ubuntu

Reverting Thin-LVM to «old» Behavior storage on Proxmox

Optional: Reverting Thin-LVM to «old» Behavior of

/var/lib/vz

(Proxmox 4.2 and later)


If you installed Proxmox 4.2 (or later), you see yourself confronted with a changed layout of your data. There is no mounted

/var/lib/vz

LVM volume anymore, instead you find a thin-provisioned volume. This is technically the right choice, but one sometimes want to get the old behavior back, which is described here. This section describes the steps to revert to the «old» layout on a freshly installed Proxmox 4.2:

  • After the Installation your storage configuration in 
    /etc/pve/storage.cfg
    will look like this:
dir: local
        path /var/lib/vz
        content iso,vztmpl,backup

lvmthin: local-lvm
        thinpool data
        vgname pve
        content rootdir,images
  • You can delete the thin-volume via GUI or manually and have to set the local directory to store images and container aswell. You should have such a config in the end:
dir: local
        path /var/lib/vz
        maxfiles 0
        content backup,iso,vztmpl,rootdir,images
  • Now you need to recreate
    /var/lib/vz
root@pve-42 ~ > lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data pve  twi-a-tz— 16.38g             0.00   0.49
  root pve  -wi-ao——  7.75g
  swap pve  -wi-ao——  3.88g

root@pve-42 ~ > lvremove pve/data
Do you really want to remove active logical volume data? [y/n]: y
  Logical volume «data» successfully removed

root@pve-42 ~ > lvcreate —name data -l +100%FREE pve
  Logical volume «data» created.

root@pve-42 ~ > mkfs.ext4 /dev/pve/data
mke2fs 1.42.12 (29-Aug-2014)
Discarding device blocks: done
Creating filesystem with 5307392 4k blocks and 1327104 inodes
Filesystem UUID: 310d346a-de4e-48ae-83d0-4119088af2e3
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
  • Then add the new volume in your
    /etc/fstab
    :
/dev/pve/data /var/lib/vz ext4 defaults 0 1
  • Restart to check if everything survives a reboot.

You should end up with a working «old-style» configuration where you «see» your files as it was before Proxmox 4.2

 562   2021   proxmox

Отключаем сообщение The number of vSphere HA heartbeat datastores for this host is 1 which is less than required 2 в ESXI 5.X.X

Данное сообщение появилось с введением в механизм VMware HA функционала Datastore Heartbeating, который позволяет хостам кластера общаться посредством хранилища данных и за счет этого более корректно отрабатывать ситуации, связанные с изоляцией хоста.

Сообщает оно о том, что для общения хостов используется только 1 общее хранилище, а рекомендуется минимум 2 (для надежности). Это может быть связано либо с тем, что в настройках кластера жестко выставлено использование только 1 хранилища, либо у вас всего 1 общее хранилище.

В 1-м случае лучше выставить автоматическое определение используемых датасторов, а во втором случае можно просто отключить сообщение, особенно, если инфраструктура тестовая.

Отключается так — Правой по кластеру -> Edit Settings -> vSphere HA -> Advanced

The number of vSphere HA heartbeat datastores for this host is 1 which is less than required 2-01

The number of vSphere HA heartbeat datastores for this host is 1 which is less than required 2-01

Дальше добавляем пункт «das.ignoreinsufficienthbdatastore» со значением «true»:

The number of vSphere HA heartbeat datastores for this host is 1 which is less than required 2-02

The number of vSphere HA heartbeat datastores for this host is 1 which is less than required 2-02

 

 113   2021   esxi

Proxmox настройка сети trunk и management vlan

Конфиг на cisco для порта сервера

interface GigabitEthernet1/0/38
switchport access vlan 50
switchport trunk allowed vlan 1,50,124
switchport mode trunk
switchport nonegotiate
switchport port-security maximum 3
load-interval 60
no cdp enable
no cdp tlv server-location
no cdp tlv app

Конфиг сети на proxmox
auto lo
iface lo inet loopback

iface eth0 inet manual

iface eth1 inet manual

iface eth2 inet manual

iface eth3 inet manual

auto bond0
iface bond0 inet manual
slaves eth0 eth1 eth2 eth3
bond_miimon 100
bond_mode active-backup

auto vlan50
iface vlan50 inet manual
vlan_raw_device bond0

auto vlan124
iface vlan124 inet manual
vlan_raw_device bond0

auto vmbr0
iface vmbr0 inet static
address 10.101.50.10
netmask 255.255.255.0
gateway 10.101.50.1
bridge_ports vlan50
bridge_stp off
bridge_fd 0

auto vmbr50
iface vmbr50 inet static
address 0.0.0.0
netmask 255.255.255.255
bridge_ports vlan50
bridge_stp off
bridge_fd 0

auto vmbr124
iface vmbr124 inet static
address 0.0.0.0
netmask 255.255.255.255
bridge_ports vlan124
bridge_stp off
bridge_fd 0

 1260   2021   linux   proxmox   ubuntu

Переименовывание контроллеров домена AD 2003 2008 2012

Процедура переименования рядового сервера (Windows 2000/2003/2008) очень проста. Достаточно зайти в свойства системы, изменить имя и перегрузиться. Однако для контроллеров домена данный подход не годится. В этой статье мы рассмотрим правильную процедуру переименования контроллера.

Команда


Для переименования контроллера домена нам необходимо использовать команду NETDOM. В Windows Server 2008 данная команда встроена в операционную систему и не требует отдельной установки как в предыдущих версиях ОС.

Для начала вам необходимо указать новое полное доменное имя для контроллера домена. Все остальные контроллеры домена должны содержать обновленный SPN атрибут и все DNS сервера в домене должны содержать A запись нового имени. Оба имени — и старое и новое поддерживаются до тех пор, пока вы не удалите старое имя. Это гарантирует что не будет никаких проблем с аутентификацией клиентов.

Важно: Для переименования контроллера домена с помощью утилиты NETDOM функциональный уровень домена должен быть как минимум Windows Server 2003.

Плохая новость: Как обычно, нам необходимо перегружать переименованный контроллер.

Отличная новость: Вам не нужно находиться непосредственно за контроллером, который вы переименовываете. Вы можете сделать это с любого компьютера где установлена утилита NETDOM, конечно если у вас есть соответствующие полномочия.

Права


Вы должны быть членом группы Domain Admins.

Процедура


Для переименования DC с именем KUKU-SERVER в домене WINDOWS-DOMAIN.LOCAL на имя DC-SERVER выполните следующие шаги:

  1. Откройте командную строку и наберите команду:
NETDOM computername KUKU-SERVER.WINDOWS-DOMAIN.LOCAL /add:DC-SERVER.WINDOWS-DOMAIN.LOCAL

Эта команда обновит атрибут SPN в Active Directory для данного аккаунта компьютера и зарегистрирует нужные DNS записи для нового имени. Значение SPN должно быть реплицировано на все контроллеры домена и DNS записи должны разойтись по всем полномочным DNS серверам в домене. Если это не произойдет перед удалением старого имени то некоторые клиенты могут не найти данный контроллер домена ни по одному из имен. Поэтому очень важно чтобы Active Directory завершила полный цикл репликации. Вы можете проверить это с помощью утилит REPADMIN и REPLMON.

Вы можете проверить что новое имя добавлено к компьютеру с помощью ADSIEDIT.MSC. Перейдите в нужный объект и нажмите на нем правой кнопкой. Выберите Свойства:

Прокрутите список доступных параметров до атрибута с именем msDS-AdditionalDnsHostName.

  1. После этого можно выполнить следующую команду:
NETDOM computername KUKU-SERVER.WINDOWS-DOMAIN.LOCAL /makeprimary:DC-SERVER.WINDOWS-DOMAIN.LOCAL

На данном этапе вы опять можете посмотреть изменения через ADSIEDIT.MSC. Найдите тот же параметр что был указан в предыдущем пункте и убедитесь что там присутствует старое имя сервера.

  1. Перегрузите компьютер.
  1. Введите в командной строке следующую команду:
NETDOM computername DC-SERVER.WINDOWS-DOMAIN.LOCAL /remove:KUKU-SERVER.WINDOWS-DOMAIN.LOCAL
  1. Убедитесь что изменения были успешно реплицированы на все контроллеры домена.
 151   2021   active directory   AD   server   win   win2012

Настройка двух SSID на точке доступа WiFi от cisco

В сети предприятия установлено несколько устройств WiFi (практически идентичных cisco AIR-AP1261N-E-K9 и AIR-AP1252G-A-K9), работающих в режиме точек доступа. Возникла задача развертывания на существующем оборудовании сети WiFi для посетителей. Т. е. на работающих точках доступа cisco необходимо настроить соответствующие vlan’ы и вторые SSID’ы. Выделить для гостевых устройств отдельную сеть было решено из-за соображений безопасности, да и управлять ею (время работы, скорость доступа, ресурсы и порты) в таком случае гораздо удобнее, чем выделять пул из уже существующей сети компании.
В данной статье не будут описываться настройки, относящиеся к сетевой безопасности и разграничении доступа на устройствах cisco. Предполагается также, что вы имеете навык по начальной настройке аналогичных точек доступа WiFi.

Схема подключения оборудования выглядит следующим образом:

Настройка двух SSID на точке доступа WiFi

На управляемом коммутаторе Cisco Catalyst 2960 порт, к которому подключена точка доступа, должен находится в транковом режиме. Настройки должны быть примерно такими:

interface FastEthernet0/10
description WIFI1 192.168.12.27
switchport trunk allowed vlan 1,101
switchport mode trunk
no cdp enable
На коммутаторе 3Com Baseline Switch 2952-SFP Plus (он же — HP 1910 серии) настройки порта для подключения настраиваемой нами точки доступа cisco должны выглядеть примерно так:

interface GigabitEthernet1/0/10
description WIFI1 192.168.12.27
port link-type hybrid
port hybrid vlan 101 tagged
port hybrid vlan 1 untagged
stp edged-port enable
В обоих случаях мы имеем нативный vlan 1 с основной сетью предприятия типа 192.168.12.0/24 и тегированный vlan 101, выделенный для устройств, которые будут подключаться к гостевому WiFi, с сетью типа 10.10.10.0/24.

Начнем настройку. Необходимо подключиться к устройству cisco с помощью консольного кабеля (лучше не делать этого удаленно, т. к. в ходе конфигурирования будут меняться сетевые настройки и вы можете потерять доступ к устройству), удалим сперва существующую конфигурацию командой erase nvram: и выполним перезагрузку:

cisco#erase nvram:
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
[OK]
Erase of nvram: complete
cisco#reload
System configuration has been modified. Save? [yes/no]: no
Proceed with reload? [confirm]
После перезагрузки, необходимо войти в режим конфигурирования с помощью команды enable, введя пароль по-умолчанию Cisco (именно так — с заглавной буквы) и просмотрим существующий конфиг командой show running-config:

ap>enable
Password:
ap#sh run
Building configuration...
Current configuration : 1134 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname ap
!
logging rate-limit console 9
enable secret 5 $1$Cwhm$vuUZS6MSA6BIzQ.n30O.C/
!
no aaa new-model
ip domain name company.ru
ip name-server 192.168.12.1
!
!
dot11 syslog
!
!
username Cisco password 7 1531021F0725
!
!
bridge irb
!
!
interface Dot11Radio0
no ip address
no ip route-cache
shutdown
antenna gain 0
station-role root
bridge-group 1
bridge-group 1 subscriber-loop-control
bridge-group 1 block-unknown-source
no bridge-group 1 source-learning
no bridge-group 1 unicast-flooding
bridge-group 1 spanning-disabled
!
interface GigabitEthernet0
no ip address
no ip route-cache
duplex auto
speed auto
no keepalive
bridge-group 1
no bridge-group 1 source-learning
bridge-group 1 spanning-disabled
!
interface BVI1
ip address 192.168.12.27 255.255.255.0
no ip route-cache
!
ip http server
no ip http secure-server
ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag
bridge 1 route ip
!
!
!
line con 0
line vty 0 4
login local
!
end
Войдем в режим конфигурирования с помощью команды configure terminal и произведем настройку радиоинтерфейса Dot11Radio0:

ap#conf t
Enter configuration commands, one per line. End with CNTL/Z.
ap(config)#interface Dot11Radio0
ap(config-if)#station-role root access-point
ap(config-if)#mbssid
ap(config-if)#encryption vlan 1 mode ciphers aes-ccm tkip
ap(config-if)#encryption vlan 101 mode ciphers aes-ccm tkip
ap(config-if)#ssid COMPANY
ap(config-if-ssid)#vlan 1
ap(config-if-ssid)#authentication open
ap(config-if-ssid)#authentication key-management wpa version 2
ap(config-if-ssid)#wpa-psk ascii SECRET-KEY1
ap(config-if-ssid)#exit
Данными командами мы:

обозначили, что данное устройство выступает в качестве точки доступа;
включили на данном интерфейсе поддержку нескольких SSID;
включили для vlan 1 шифрование WPA AES CCMP;
включили для vlan 101 шифрование WPA AES CCMP;
обозначили рабочий SSID для сотрудников компании и произвели его настройку:
— определили принадлежность ssid COMPANY первому нативному vlan’у;
— определили открытый метод аутентификации;
— определили версию WPA для подключения клиентов;
— указали в открытом виде ключ аутентификации;
— вышли из настройки SSID’а.
Ключ надо указывать именно в таком виде, в каком его необходимо будет вводить при авторизации в настраиваемой нами WiFi сети. Его длина должна быть от 8 до 63 символов. В противном случае вы получите предупреждение:

ap(config-if-ssid)#wpa-psk ascii 1234567
Invalid key length, expecting 8 to 63 characters
Тут же, не выходя из настройки радиоинтерфейса Dot11Radio0 делаем следующие настройки:

ap(config-if)#ssid GUESTS
ap(config-if-ssid)#vlan 101
ap(config-if-ssid)#authentication open
ap(config-if-ssid)#authentication key-management wpa version 2
ap(config-if-ssid)#wpa-psk ascii SECRET-KEY2
ap(config-if-ssid)#exit
ap(config-if)#exit
Данными командами мы аналогично произвели настройку SSID’а для гостей компании и вышли из конфигурирования радиоинтерфейса Dot11Radio0.

Теперь нам необходимо произвести настройку радиоинтерфейсов для каждого из vlan’ов.

Для первого нативного влана мы настроим Dot11Radio0.1:

ap(config)#interface Dot11Radio0.1
ap(config-subif)#description COMPANY
ap(config-subif)#encapsulation dot1Q 1 native
ap(config-subif)#exit
Этими командами мы:

вошли в настройку требуемого интерфейса;
обозначили его описание;
настроили тип инкапсуляции для нашего vlan 1;
вышли из настройки интерфейса.
Больше для первого vlan’а на его радиоинтерфейсе делать настроек не нужно. Остальное подставится автоматически. Проверить можете командой:

ap(config)#do sh run int Dot11Radio0.1
Building configuration...
Current configuration : 299 bytes
!
interface Dot11Radio0.1
description COMPANY
encapsulation dot1Q 1 native
no ip route-cache
bridge-group 1
bridge-group 1 subscriber-loop-control
bridge-group 1 block-unknown-source
no bridge-group 1 source-learning
no bridge-group 1 unicast-flooding
bridge-group 1 spanning-disabled
end
Теперь аналогично необходимо сделать настройку радиоинтерфейса для 101 vlan’а Dot11Radio0.2. Правда в этом месте необходимо прописать настройки для bridge-group 2:

ap(config)#interface Dot11Radio0.2
ap(config-subif)#description GUESTS
ap(config-subif)#encapsulation dot1Q 101
ap(config-subif)#bridge-group 2
ap(config-subif)#bridge-group 2 subscriber-loop-control
ap(config-subif)#bridge-group 2 block-unknown-source
ap(config-subif)#no bridge-group 2 source-learning
ap(config-subif)#no bridge-group 2 unicast-flooding
ap(config-subif)#bridge-group 2 spanning-disabled
ap(config-subif)#exit
Теперь следует настроить сетевые интерфейсы под наши vlan’ы.

Для первого нативного влана мы настроим GigabitEthernet0.1:

ap(config)#interface GigabitEthernet0.1
ap(config-subif)#encapsulation dot1Q 1 native
ap(config-subif)#exit
Этими командами мы:

вошли в настройку требуемого интерфейса;
настроили тип инкапсуляции для нашего vlan 1;
вышли из настройки интерфейса.
Больше для первого vlan’а на его сетевом интерфейсе делать настроек не нужно. Остальное подставится автоматически. Проверить можете командой:

ap(config)#do sh run int GigabitEthernet0.1
Building configuration...
Current configuration : 170 bytes
!
interface GigabitEthernet0.1
encapsulation dot1Q 1 native
no ip route-cache
bridge-group 1
no bridge-group 1 source-learning
bridge-group 1 spanning-disabled
end
Теперь аналогично необходимо сделать настройку сетевого интерфейса для 101 vlan’а GigabitEthernet0.2. Правда в этом месте также необходимо прописать настройки для bridge-group 2:

ap(config)#interface GigabitEthernet0.2
ap(config-subif)#encapsulation dot1Q 101
ap(config-subif)#bridge-group 2
ap(config-subif)#no bridge-group 2 source-learning
ap(config-subif)#bridge-group 2 spanning-disabled
ap(config-subif)#exit
Осталось в основном радиоинтерфейсе Dot11Radio0 прописать скорости радио-передачи данных и “поднять” его командой no shutdown:

ap(config)#interface Dot11Radio0
ap(config-if)#speed basic-1.0 basic-2.0 basic-5.5 basic-11.0 6.0 9.0 12.0 18.0 24.0 36.0 48.0 54.0
ap(config-if)#no shut
ap(config-if)#exit
В логах устройства должны отобразиться примерно следующие события (их можно просмотреть командой do sh logg):

*Dec 3 05:57:48.685: %DOT11-6-FREQ_USED: Interface Dot11Radio0, frequency 2437 selected
*Dec 3 05:57:48.688: %LINK-3-UPDOWN: Interface Dot11Radio0, changed state to up
*Dec 3 05:57:48.688: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0.1, changed state to up
*Dec 3 05:57:48.688: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0.2, changed state to up
*Dec 3 05:57:49.688: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to up
Нам осталось в настройках SSID’ов включить режим guest-mode и дать имена нашим настроенным dot11 vlan’ам:

ap(config)#dot11 ssid COMPANY
ap(config-ssid)#mbssid guest-mode
ap(config-ssid)#exit
ap(config)#dot11 ssid GUESTS
ap(config-ssid)#mbssid guest-mode
ap(config-ssid)#exit
ap(config)#dot11 vlan-name COMPANY vlan 1
ap(config)#dot11 vlan-name GUESTS vlan 101
ap(config)#exit
ap#write
Не забудьте в конце выполнения конфигурирования дать команду на сохранение настроек write.

В данном примере не производились настройки сетевого интерфейса interface BVI1. Они были присвоены с помощью DHCP автоматически, при первой загрузке устройства, после его сброса.

Так же не забудьте настроить сервер DHCP и DNS для гостевой сети WiFi 10.10.10.0/24 vlan’а 101 (в моем случае на роутере 2821 см.рисунок выше). (Если есть необходимость в приведении полного примера работы связки устройств, изображенных на верхнем рисунке — пишите, поделюсь конфигами).

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

sh dot11 vlan-name — выведет список настроенных вами dot11 vlan’ов:

ap#sh dot11 vlan-name
Configured VLAN name ID
COMPANY 1
GUESTS 101
sh vlans — выведет статистику по настроенным сетевым vlan’ам:

ap#sh vlans
Virtual LAN ID: 1 (IEEE 802.1Q Encapsulation)
vLAN Trunk Interfaces: Dot11Radio0.1
GigabitEthernet0.1
This is configured as native Vlan for the following interface(s) :
Dot11Radio0
GigabitEthernet0
Protocols Configured: Address: Received: Transmitted:
Bridging Bridge Group 1 2019 686
0 packets, 0 bytes input
686 packets, 99109 bytes output
Bridging Bridge Group 1 2019 686
3776 packets, 407696 bytes input
0 packets, 0 bytes output
Virtual LAN ID: 101 (IEEE 802.1Q Encapsulation)
vLAN Trunk Interfaces: Dot11Radio0.2
GigabitEthernet0.2
Protocols Configured: Address: Received: Transmitted:
Bridging Bridge Group 2 283 124
0 packets, 0 bytes input
124 packets, 11314 bytes output
Bridging Bridge Group 2 283 124
289 packets, 26302 bytes input
0 packets, 0 bytes output
В случае подключения к SSID’у COMPANY команда sh dot11 associations all-client выведет что-то типа этого:

ap#sh dot11 associations all-client
Address : 2054.7659.6934 Name : NONE
IP Address : 192.168.12.199 Interface : Dot11Radio 0
Device : unknown Software Version : NONE
CCX Version : NONE Client MFP : Off
State : Assoc Parent : self
SSID : COMPANY
VLAN : 1
Hops to Infra : 1 Association Id : 1
Clients Associated: 0 Repeaters associated: 0
Tunnel Address : 0.0.0.0
Key Mgmt type : WPAv2 PSK Encryption : AES-CCMP
Current Rate : 6.0 Capability : WMM ShortHdr ShortSlot
Supported Rates : 1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 24.0 36.0 48.0 54.0
Voice Rates : disabled Bandwidth : 20 MHz
Signal Strength : -85 dBm Connected for : 22 seconds
Signal to Noise : 12 dB Activity Timeout : 60 seconds
Power-save : On Last Activity : 0 seconds ago
Apsd DE AC(s) : NONE
Packets Input : 71 Packets Output : 10
Bytes Input : 3098 Bytes Output : 1042
Duplicates Rcvd : 8 Data Retries : 24
Decrypt Failed : 0 RTS Retries : 0
MIC Failed : 0 MIC Missing : 0
Packets Redirected: 0 Redirect Filtered: 0
Session timeout : 0 seconds
Reauthenticate in : never
В случае подключения к SSID’у GUESTS команда sh dot11 associations all-client выведет что-то типа этого:

ap#sh dot11 associations all-client
Address : 2054.7659.6934 Name : NONE
IP Address : 10.10.10.11 Interface : Dot11Radio 0
Device : unknown Software Version : NONE
CCX Version : NONE Client MFP : Off
State : Assoc Parent : self
SSID : GUESTS
VLAN : 101
Hops to Infra : 1 Association Id : 1
Clients Associated: 0 Repeaters associated: 0
Tunnel Address : 0.0.0.0
Key Mgmt type : WPAv2 PSK Encryption : AES-CCMP
Current Rate : 5.5 Capability : WMM ShortHdr ShortSlot
Supported Rates : 1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 24.0 36.0 48.0 54.0
Voice Rates : disabled Bandwidth : 20 MHz
Signal Strength : -87 dBm Connected for : 18 seconds
Signal to Noise : 10 dB Activity Timeout : 60 seconds
Power-save : On Last Activity : 0 seconds ago
Apsd DE AC(s) : NONE
Packets Input : 125 Packets Output : 34
Bytes Input : 11215 Bytes Output : 5429
Duplicates Rcvd : 29 Data Retries : 137
Decrypt Failed : 0 RTS Retries : 0
MIC Failed : 0 MIC Missing : 0
Packets Redirected: 0 Redirect Filtered: 0
Session timeout : 0 seconds
Reauthenticate in : never
И в заключении, листинг проделанной нами работы:

ap#sh run

Building configuration...
Current configuration : 2392 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname ap
!
logging rate-limit console 9
enable secret 5 $1$DP8i$5vfR3ImblWxyzkQdmMF7E.
!
no aaa new-model
ip domain name company.ru
ip name-server 192.168.12.1
!
!
dot11 syslog
dot11 vlan-name COMPANY vlan 1
dot11 vlan-name GUESTS vlan 101
!
dot11 ssid COMPANY
vlan 1
authentication open
authentication key-management wpa version 2
mbssid guest-mode
wpa-psk ascii 7 0942460F2B0B1D1A5C5B
!
dot11 ssid GUESTS
vlan 101
authentication open
authentication key-management wpa version 2
mbssid guest-mode
wpa-psk ascii 7 0316500D252C235E485E4E
!
!
!
username Cisco password 7 072C285F4D06
!
!
bridge irb
!
!
interface Dot11Radio0
no ip address
no ip route-cache
!
encryption vlan 1 mode ciphers aes-ccm tkip
!
encryption vlan 101 mode ciphers aes-ccm tkip
!
ssid COMPANY
!
ssid GUESTS
!
antenna gain 0
mbssid
speed basic-1.0 basic-2.0 basic-5.5 basic-11.0 6.0 9.0 12.0 18.0 24.0 36.0 48.0 54.0
station-role root access-point
!
interface Dot11Radio0.1
description COMPANY
encapsulation dot1Q 1 native
no ip route-cache
bridge-group 1
bridge-group 1 subscriber-loop-control
bridge-group 1 block-unknown-source
no bridge-group 1 source-learning
no bridge-group 1 unicast-flooding
bridge-group 1 spanning-disabled
!
interface Dot11Radio0.2
description GUESTS
encapsulation dot1Q 101
no ip route-cache
bridge-group 2
bridge-group 2 subscriber-loop-control
bridge-group 2 block-unknown-source
no bridge-group 2 source-learning
no bridge-group 2 unicast-flooding
bridge-group 2 spanning-disabled
!
interface GigabitEthernet0
no ip address
no ip route-cache
duplex auto
speed auto
no keepalive
!
interface GigabitEthernet0.1
encapsulation dot1Q 1 native
no ip route-cache
bridge-group 1
no bridge-group 1 source-learning
bridge-group 1 spanning-disabled
!
interface GigabitEthernet0.2
encapsulation dot1Q 101
no ip route-cache
bridge-group 2
no bridge-group 2 source-learning
bridge-group 2 spanning-disabled
!
interface BVI1
ip address 192.168.12.27 255.255.255.0
no ip route-cache
!
ip http server
no ip http secure-server
ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag
bridge 1 route ip
!
!
!
line con 0
line vty 0 4
login local
!
end
 85   2021   cisco   wifi

Сброс пароля Cisco Catalyst 2960G

Как это часто происходит, при передаче сетевого оборудования новому системному администратору не всегда сообщаются пароли. Очень неприятная ситуация, особенно, когда необходимо сохранить существующие сетевые настройки. Приходится как-то выходить из положения…
Итак, ко мне в руки попал запароленный двадцатичетырехпортовый коммутатор Cisco Catalyst 2960G. Секретного слова от него никто не знал. Необходимо произвести сброс пароля с сохранением рабочей конфигурации на этом свиче. Делается это так:

  1. Вам потребуется физический доступ к указанному свичу. Подключите его с помощью кабеля к COM-порту вашего компьютера, как я описал в этой статье.
  1. Отключите питание от устройства. На передней панели коммутатора нажмите и удерживайте кнопку “MODE” (1).

Cisco Catalyst 2960G mode

  1. Включите электропитание свича и не отпускайте кнопку “MODE” до того момента, как перестанет мигать светодиод “SYST” (2). Он должен гореть постоянным зеленым цветом.

Cisco Catalyst 2960G mode

  1. В этот момент на экране вашего монитора в окне терминала PuTTY должно появиться что-то вроде этого:

Base ethernet MAC Address: 00:1c:b1:ba:6e:00
Xmodem file system is available.
The password-recovery mechanism is enabled.
The system has been interrupted prior to initializing the
flash filesystem. The following commands will initialize
the flash filesystem, and finish loading the operating
system software:

flash_init
load_helper
boot

switch:

  1. В строку-приглашение switch: впишите flash_init и нажмите ввод. На вашем экране отобразится что-то вроде этого:

switch: flash_init
Initializing Flash...
flashfs[0]: 600 files, 19 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 32514048
flashfs[0]: Bytes used: 7712768
flashfs[0]: Bytes available: 24801280
flashfs[0]: flashfs fsck took 10 seconds.
...done Initializing Flash.
Boot Sector Filesystem (bs) installed, fsid: 3
Setting console baud rate to 9600...

  1. Нам необходимо просмотреть содержимое flash-памяти. В строку-приглашение switch: впишите dir flash: и нажмите ввод. На вашем экране отобразится что-то вроде этого:

switch: dir flash:
Directory of flash:/
3 -rwx 1323 config.text
4 -rwx 556 vlan.dat
5 -rwx 5 private-config.text
6 drwx 192 c2960-lanbase-mz.122-25.SEE3

24801280 bytes available (7712768 bytes used)

  1. Мы увидим перечень файлов и каталогов, где config.text и есть наша сетевая конфигурация. Ее необходимо сохранить. Для этого переименуем данный файл командой rename flash:/config.text flash:/config.bak и посмотрим на проделанную работу снова, дав команду dir flash::

switch: rename flash:/config.text flash:/config.bak
switch: dir flash:
Directory of flash:/
3 -rwx 1323 config.bak
4 -rwx 556 vlan.dat
5 -rwx 5 private-config.text
6 drwx 192 c2960-lanbase-mz.122-25.SEE3

24801280 bytes available (7712768 bytes used)

  1. Теперь дадим команду на дальнейшую загрузку коммутатора с помощью команды boot. В окне вашего терминала вы увидите что-то вроде этого:

switch: boot
Loading “flash:c2960-lanbase-mz.122-25.SEE3/c2960-lanbase-mz.122-25.SEE3.bin”…@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
File “flash:c2960-lanbase-mz.122-25.SEE3/c2960-lanbase-mz.122-25.SEE3.bin” uncompressed and
installed, entry point: 0×3000 executing…
Restricted Rights Legend

Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
© of the Commercial Computer Software — Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
© (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.

cisco Systems, Inc.
170 West Tasman Drive
San Jose, California 95134-1706

Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(25)SEE3, RELEASE SOFTWARE (fc2)
Copyright © 1986-2007 by Cisco Systems, Inc.
Compiled Thu 22-Feb-07 13:57 by myl
Image text-base: 0×00003000, data-base: 0×00AA3380

Initializing flashfs…

flashfs1: 600 files, 19 directories
flashfs1: 0 orphaned files, 0 orphaned directories
flashfs1: Total bytes: 32514048
flashfs1: Bytes used: 7712768
flashfs1: Bytes available: 24801280
flashfs1: flashfs fsck took 1 seconds.
flashfs1: Initialization complete….done Initializing flashfs.

POST: CPU MIC register Tests : Begin
POST: CPU MIC register Tests : End, Status Passed

POST: PortASIC Memory Tests : Begin
POST: PortASIC Memory Tests : End, Status Passed

POST: CPU MIC PortASIC interface Loopback Tests : Begin
POST: CPU MIC PortASIC interface Loopback Tests : End, Status Passed

POST: PortASIC RingLoopback Tests : Begin
POST: PortASIC RingLoopback Tests : End, Status Passed

POST: PortASIC CAM Subsystem Tests : Begin
POST: PortASIC CAM Subsystem Tests : End, Status Passed

POST: PortASIC Port Loopback Tests : Begin
POST: PortASIC Port Loopback Tests : End, Status Passed

Waiting for Port download…Complete

cisco WS-C2960G-24TC-L (PowerPC405) processor (revision D0) with 61440K/4088K bytes of memory.
Processor board ID FOC1129Z5JJ
Last reset from power-on
1 Virtual Ethernet interface
24 Gigabit Ethernet interfaces
The password-recovery mechanism is enabled.

64K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address : 00:1C:B1:BA:6E:00
Motherboard assembly number : 73-10015-06
Power supply part number : 341-0098-02
Motherboard serial number : FOC112909HK
Power supply serial number : AZS112700Z8
Model revision number : D0
Motherboard revision number : A0
Model number : WS-C2960G-24TC-L
System serial number : FOC1129Z5JJ
Top Assembly Part Number : 800-26673-03
Top Assembly Revision Number : A0
Version ID : V03
CLEI Code Number : COM3G00BRB
Hardware Board Revision Number : 0×01

Switch Ports Model SW Version SW Image
——— ——- ——- ————— —————

  • 1 24 WS-C2960G-24TC-L 12.2(25)SEE3 C2960-LANBASE-M

Press RETURN to get started!

00:01:04: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to down
00:01:05: %SPANTREE-5-EXTENDED_SYSID: Extended SysId enabled for type vlan
00:01:25: %SYS-5-RESTART: System restarted —
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(25)SEE3, RELEASE SOFTWARE (fc2)
Copyright © 1986-2007 by Cisco Systems, Inc.
Compiled Thu 22-Feb-07 13:57 by myl

  1. Все приведенное выше — процесс загрузки Cisco Catalyst 2960G. На вопрос о вашем желании отменить автоустановку ответьте yes или просто нажмите ввод:

Would you like to terminate autoinstall? [yes]: yes

  1. Вы увидите стандартное приглашение свича Switch>. Войдите в административный режим командой enable, скопируйте вашу сохраненную конфигурацию в running-config (подтвердите свое желание нажав ввод) и просмотрите ее командой show running-config:

Switch>enable
Switch#copy flash:/config.bak running-config
Destination filename [running-config]?
1323 bytes copied in 0.184 secs (7190 bytes/sec)
sw-srv2960G#sh run
Building configuration…

Current configuration : 1333 bytes
!
version 12.2
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname sw-srv2960G
!
enable secret 5 $1$dwsc$uxiiNhCIICoz3TrxR8alo/
!
no aaa new-model
ip subnet-zero

  1. Я не стал здесь приводить весь свой конфиг. По тому, что изменилось приглашение с Switch# на sw-srv2960G# уже стало понятно, что настройки применились. Теперь дадим команду write и просмотрим содержимое flash-памяти:

sw-srv2960G#write
Building configuration…
[OK]
sw-srv2960G#dir flash:
Directory of flash:/
2 -rwx 1333 Mar 1 1993 00:06:09 +00:00 config.text
3 -rwx 1323 Mar 1 1993 00:04:57 +00:00 config.bak
4 -rwx 556 Mar 1 1993 00:42:29 +00:00 vlan.dat
6 drwx 192 Mar 1 1993 00:06:39 +00:00 c2960-lanbase-mz.122-25.SEE3
621 -rwx 5 Mar 1 1993 00:06:09 +00:00 private-config.text

32514048 bytes total (24799744 bytes free)

  1. Нам осталось только задать новые собственные пароли в режиме конфигурирования, сохранить и просмотреть сделанные нами изменения:

sw-srv2960G#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
sw-srv2960G(config)#no enable secret 5 $1$dwsc$uxiiNhCIICoz3TrxR8alo/
sw-srv2960G(config)#enable secret parol1
sw-srv2960G(config)#username ciscouser privilege 15 secret parol2
sw-srv2960G(config)#do write
Building configuration…
[OK]
sw-srv2960G(config)#do sh run
Building configuration…
Current configuration : 1403 bytes
!
version 12.2
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname sw-srv2960G
!
enable secret 5 $1$kf3hg$jPkl;G4MkdXV4ddhXcOzE/
!
username ciscouser privilege 15 secret 5 51dUwcG$qawD9rUdkU8ux;FW7syVvfkx1
no aaa new-model
ip subnet-zero
!

  1. В приведенном выше листинге мы удалили старый пароль, задали новый, а также прописали пользователя с самым высоким 15 уровнем доступа. Замените parol1, parol2 и ciscouser на собственные!

Вот, в принципе и все. Не забудьте посмотреть, не заданы ли случайно пароли доступа в line con 0, line vty 0 4 и т. д. Нам осталось перезагрузить коммутатор командой reload и войти в него, используя наши новые логин и пароль. Напоследок скажу, что описанный выше способ подойдет для всех коммутаторов Cisco Catalyst 2960 серии… Удачи!

 65   2021   cisco

Настройка DHCP сервера в CISCO

В данной заметке опишу пошаговую настройку сервиса DHCP в маршрутизаторах CISCO. Нижеследующее точно будет справедливо для устройств 800, 1800, 2800 серии. Именно такие CISCO находятся в моем ведении и данная конфигурация работает со стопроцентной гарантией.
Сразу сделаю оговорку, что в статье описывается только процесс настройки именно DHCP сервиса. Вопросы маршрутизации и общей безопасности затрагиваться не будут.
В подготовительных действиях мы отключим вывод логов на консоль и настроим сетевой интерфейс FastEthernet0/1, разбив его на два vlan’а. На интерфейсе FastEthernet0/1.1 будет настроен нативный vlan основной подсети 192.168.100.0/22, на интерфейсе FastEthernet0/1.2 будет настроен vlan тестовой подсети 172.16.0.0/24:

Router(config)#no logging console
Router(config)#interface FastEthernet0/1.1
Router(config-subif)#description LOCALNET
Router(config-subif)#encapsulation dot1Q 1 native
Router(config-subif)#ip address 192.168.100.1 255.255.252.0
Router(config-subif)#ip virtual-reassembly
Router(config-subif)#no cdp enable
Router(config-subif)#exit
Router(config)#interface FastEthernet0/1.2
Router(config-subif)#description TESTNET
Router(config-subif)#encapsulation dot1Q 172
Router(config-subif)#ip address 172.16.0.1 255.255.255.0
Router(config-subif)#ip virtual-reassembly
Router(config-subif)#no cdp enable
Router(config-subif)#exit
Router(config)#interface FastEthernet0/1
Router(config-if)#no shutdown
Router(config-if)#exit
Приступим к непосредственно настройке сервиса DHCP:

  1. на всякий случай данной командой мы включим необходимый нам сервис;
  2. обозначим пул для нашей основной сети организации;
  3. команда предназначено для импорта всех настроек в базу данных сервера DHCP;
  4. обозначим нашу сеть;
  5. укажем доменное имя нашей компании;
  6. данной командой пропишем существующие DNS сервера в нашей сети;
  7. данной командой пропишем существующие WINS сервера в нашей сети;
  8. обозначим шлюз по умолчанию в нашей сети (это наша CISCO);
  9. следующие три строчки отдадут клиентским компьютерам необходимые нам опции:
    — option 4 — укажет ip адрес Time Server в нашей сети;
    — option 42 — укажет ip адрес NTP Servers в нашей сети;
    — option 150 — укажет нашим CISCO телефонам расположение TFTP сервера в сети для их конфигурации;
    (более подробно о возможных опциях можно почитать тут).
  10. командой lease укажем срок действия выданного ip адреса;
  11. и наконец — включим обновление ARP таблицы в соответствии с выданным ip адресом;
  12. выйдем из настройки нашего пула для основной сети…

Router(config)#service dhcp
Router(config)#ip dhcp pool company.ru
Router(dhcp-config)#import all
Router(dhcp-config)#network 192.168.100.0 255.255.252.0
Router(dhcp-config)#domain-name company.ru
Router(dhcp-config)#dns-server 192.168.100.2 192.168.100.3
Router(dhcp-config)#netbios-name-server 192.168.100.2 192.168.100.3
Router(dhcp-config)#default-router 192.168.100.1
Router(dhcp-config)#option 4 ip 192.168.100.1
Router(dhcp-config)#option 42 ip 192.168.100.1
Router(dhcp-config)#option 150 ip 192.168.100.1
Router(dhcp-config)#lease 30
Router(dhcp-config)#update arp
Router(dhcp-config)#exit

  1. укажем диапазон исключаемых из выдачи ip адресов (куда обязательно должен входить ip адрес нашего шлюза). я использую данный диапазон для серверов и различных сетевых устройств;
  2. списков исключения может быть несколько (данный я использую для хостов, имеющих полный доступ в интернет — 192.168.103.80/28);
  3. отключим использование VRF на интерфейсе, принимающем запросы на выдачу ip адреса;
  4. обозначим местоположение базы данных DHCP. в принципе ее можно хранить и на flash CISCO;
  5. данная настройка позволит обновлять обе (прямую и обратную) записи A и RTP на нашем сервере DNS;
  6. отключим использование BOOTP (Bootstrap Protocol — протокол начальной самозагрузки) сервиса;
  7. выполним сохранение наших настроек.

Router(config)#ip dhcp excluded-address 192.168.100.0 192.168.100.40
Router(config)#ip dhcp excluded-address 192.168.103.80 192.168.103.95
Router(config)#no ip dhcp use vrf connected
Router(config)#ip dhcp database tftp://192.168.100.4/Router-dhcp timeout 80
Router(config)#ip dhcp update dns both override
Router(config)#no ip bootp server
Router(config)#do write
Building configuration...
.
[OK]
В сети существует следующая рекомендация: при настройке DHCP сервера на CISCO, не являющейся роутером по умолчанию в вашей сети, в настройках интерфейса в роутере по умолчанию нужно указать опцию ip helper-address IP_ADDRESS, где IP_ADDRESS — адрес настраиваемой вами CISCO с DHCP сервером.

База данных сервиса DHCP имеет следующий вид:

*time* Feb 26 2013 08:14 AM
*version* 4
!IP address Type Hardware address Lease expiration VRF
172.16.0.25 id 0128.e02c.c6d7.1e Mar 24 2013 10:21 AM
172.16.0.27 id 015c.0a5b.e2c0.83 Feb 28 2013 10:31 AM
172.16.0.72 id 01b4.f0ab.a434.f3 Mar 17 2013 07:10 PM
172.16.0.89 id 0174.de2b.6077.d5 Mar 02 2013 05:19 PM
.
!IP address Type Hardware address Interface-name
arp 172.16.0.25 1 28e0.2cc6.d71e Fa0/1.2
arp 172.16.0.27 1 5c0a.5be2.c083 Fa0/1.2
arp 172.16.0.72 1 b4f0.aba4.34f3 Fa0/1.2
arp 172.16.0.89 1 74de.2b60.77d5 Fa0/1.2
.
.
!IP address Interface-name Lease expiration Server IP address Hardware address Vrf
*end*
Просмотреть информацию о ней можно командой sh ip dhcp database:

Router#sh ip dhcp database
URL : tftp://192.168.100.4/Router-dhcp
Read : Feb 26 2013 08:09 AM
Written : Feb 26 2013 08:14 AM
Status : Last write succeeded. Agent information is up-to-date.
Delay : 300 seconds
Timeout : 80 seconds
Failures : 0
Successes: 2
Информация о работающем DHCP можно просмотреть командой sh ip dhcp server statistics:

Router#sh ip dhcp server statistics
Memory usage 75706
Address pools 40
Database agents 1
Automatic bindings 9
Manual bindings 38
Expired bindings 0
Malformed messages 0
Secure arp entries 4
Message Received
BOOTREQUEST 5
DHCPDISCOVER 121
DHCPREQUEST 706
DHCPDECLINE 0
DHCPRELEASE 0
DHCPINFORM 2875

Message Sent
BOOTREPLY 0
DHCPOFFER 24
DHCPACK 465
DHCPNAK 24
Аналогичным образом настроим пул для тестовой подсети 172.16.0.0/24:

Router(config)#ip dhcp pool testnet.ru
Router(dhcp-config)#import all
Router(dhcp-config)#network 172.16.0.0 255.255.255.0
Router(dhcp-config)#domain-name testnet.ru
Router(dhcp-config)#dns-server 172.16.0.1
Router(dhcp-config)#default-router 172.16.0.1
Router(dhcp-config)#option 4 ip 172.16.0.1
Router(dhcp-config)#option 42 ip 172.16.0.1
Router(dhcp-config)#lease 30
Router(dhcp-config)#update arp
Router(dhcp-config)#exit
Router(config)#ip dhcp excluded-address 172.16.0.0 172.16.0.10
Router(config)#do write
Осталось показать каким образом настраивать резервирование. Просмотреть все выданные ip адреса можно командой sh ip dhcp binding:

router#sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
172.16.0.25 0128.e02c.c6d7.1e Mar 24 2013 10:21 AM Automatic
172.16.0.26 0100.18e7.8cba.35 Infinite Manual
172.16.0.27 015c.0a5b.e2c0.83 Feb 28 2013 10:31 AM Automatic
172.16.0.72 01b4.f0ab.a434.f3 Mar 17 2013 07:10 PM Automatic
172.16.0.89 0174.de2b.6077.d5 Mar 02 2013 05:19 PM Automatic
172.16.0.130 0100.1b38.41b0.e4 Infinite Manual
172.16.0.131 01c4.8508.38e2.b2 Infinite Manual
172.16.0.132 0100.24be.d798.51 Infinite Manual
Как видно, здесь показаны как автоматически, так и вручную настроенные привязки mac-адреса к ip.
Чтобы сделать привязку вручную, необходимо:

  1. обозначим новый пул с произвольным именем;
  2. укажем назначаемый ip адрес и маску подвести;
  3. пропишем mac адрес, начиная с 01;
  4. присвоим имя для настраиваемого хоста (без доменного суффикса);
  5. осуществим выход из настройки пула и сохранение наших настроек:

Router(config)#ip dhcp pool comp1
Router(dhcp-config)#host 172.16.0.36 255.255.255.0
Router(dhcp-config)#client-identifier 0144.37e6.5665.a6
Router(dhcp-config)#client-name comp1
Router(dhcp-config)#exit
Router(config)#do write
Если в момент указания client-identifier у вас выскочит ошибка вида % A binding already exists for 172.16.0.36., вам необходимо сперва очистить в режиме enable уже существующую привязку для этого хоста командой clear ip dhcp binding:

Router#clear ip dhcp binding ?

  • Clear all automatic bindings
    A.B.C.D Clear a specific binding
    Router#clear ip dhcp binding 172.16.0.36
    Вот и все. Приведу теперь листинг нашей проделанной работы:

version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Router
!
boot-start-marker
boot-end-marker
!
logging message-counter syslog
no logging console
!
no aaa new-model
!
dot11 syslog
ip source-route
!
ip cef
ip dhcp database tftp://192.168.100.4/main-router-dhcp timeout 80
no ip dhcp use vrf connected
ip dhcp excluded-address 192.168.100.0 192.168.100.40
ip dhcp excluded-address 192.168.103.80 192.168.103.95
ip dhcp excluded-address 172.16.0.0 172.16.0.10
!
ip dhcp pool company.ru
import all
network 192.168.100.0 255.255.252.0
domain-name company.ru
dns-server 192.168.100.2 192.168.100.3
netbios-name-server 192.168.100.2 192.168.100.3
default-router 192.168.100.1
option 4 ip 192.168.100.1
option 42 ip 192.168.100.1
option 150 ip 192.168.100.1
lease 30
update arp
!
ip dhcp pool testnet.ru
import all
network 172.16.0.0 255.255.255.0
domain-name testnet.ru
dns-server 172.16.0.1
default-router 172.16.0.1
option 4 ip 172.16.0.1
option 42 ip 172.16.0.1
lease 30
update arp
!
ip dhcp pool comp1
host 172.16.0.26 255.255.255.0
client-identifier 0144.37e6.5665.a6
client-name comp1
!
ip dhcp update dns both override
no ip bootp server
no ipv6 cef
!
multilink bundle-name authenticated
!
voice-card 0
!
archive
log config
hidekeys
!
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
!
interface FastEthernet0/1.1
description LOCALNET
encapsulation dot1Q 1 native
ip address 192.168.100.1 255.255.252.0
ip virtual-reassembly
no cdp enable
!
interface FastEthernet0/1.2
description TESTNET
encapsulation dot1Q 172
ip address 172.16.0.1 255.255.255.0
ip virtual-reassembly
no cdp enable
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
line aux 0
line vty 0 4
login
!
scheduler allocate 20000 1000
end

 335   2021   cisco   dhcp

Let’s Encrypt защищаем корпоративный Exchange 2016 трехмесячными сертификатами

Вот такой конфиг полностью работает с 2016 Exchange причем позволяет переключить текущую конфигурацию незаметно для директорских Iphone и Ipad без запросов на смену сертификата:

server {
listen 80;
server_name mail.company.com autodiscover.company.com;
root /var/www/html;
location ~ /.well-known { allow all; }
return 301 https://$host$request_uri;
}

server {
tcp_nodelay on;
#keepalive_timeout 3h;
#proxy_read_timeout 3h;
listen 443;
#listen [::]:443 ipv6only=on;
ssl on;
ssl_certificate /etc/letsencrypt/live/mail.company.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.company.com/privkey.pem;

ssl_session_timeout 5m;
server_name mail.company.com;

location / {
return 301 https://mail.company.com/owa;
}

proxy_http_version 1.1;
proxy_read_timeout 360;
proxy_pass_header Date;
proxy_pass_header Server;
proxy_pass_header Authorization;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_request_headers on;
#more_set_input_headers 'Authorization: $http_authorization';
proxy_set_header Accept-Encoding "";
#more_set_headers -s 401 'WWW-Authenticate: Basic realm="http://10.0.0.2"';
# proxy_request_buffering off;
proxy_buffering off;
proxy_set_header Connection "Keep-Alive";

location ~ /.well-known { allow all; }
location ~* ^/owa { proxy_pass https://10.0.0.2; }
location ~* ^/Microsoft-Server-ActiveSync { proxy_pass https://10.0.0.2; }
location ~* ^/ecp { proxy_pass https://10.0.0.2; }
location ~* ^/rpc { proxy_pass https://10.0.0.2; }
#location ~* ^/mailarchiver { proxy_pass https://mailarchiver.local; }

error_log /var/log/nginx/owa-ssl-company-error.log;
access_log /var/log/nginx/owa-ssl-company-access.log;
}

 

 98   2021   exchange   linux   nginx   outlook   php   ubuntu
Ранее Ctrl + ↓