VMware: Перенос виртуальной машины в пределах хоста

Power Off

Remove from inventory

Host — Confoguration — Storage

datastore1 — Browse datastore…

Выбираем папку с виртуальной машиной — Move a file from this datastore…

Выбираем datastore2 — Move

Ждем, пока скопируется.

Если в Browse Datastore изменения не отобразились — нажимаем Refresh.

Заходим в скопированную директорию в Browse Datastore, ищем файл имя_виртуалки.vmx — правой кнопкой — add to inventory.

Виртуалка появится в списке.

Запускаем.

Если будет светиться восклицательный знак на иконке VM:

Открываем консоль на ВМ (Правой кнопкой — Open Console)

ESXi спрашивает, что мы сделали с VM:

I moved it — ?

I copied it — ?

Выбираем I moved it.

Виртуалка загрузилась.

SIP: Записки о протоколе

Заголовки INVITE

 

Method and RURI (Request URI) — назначение запроса, используется прокси-серверами для роутинга запроса.

Via: сообщает, куда слать ответы на данный запрос, каждый прокси-сервер добавляет свой заголовок Via. Параметр branch идентифицирует транзакцию.

To: не используется для роутинга, содержит display name и SIP URI.

From: содержит display name и SIP URI, которые идентифицируют звонящего (Caller ID). Параметр Tag добавляется телефоном.

Call-ID: глобальный уникальный идентификатор вызова

Call-ID + To Tag + From Tag: вместе идентифицируют SIP диалог — Dialog ID (tags используются in parallel forking)

CSeq: command sequence инкременрируется при каждом запросе в текущем диалоге.

Contact: прямой маршрут для связи с userA (как сконтактировать с клиентом напрямую).

 

Разница между Via и Contact

 

  • Via: говорит, куда слать ответы
  • Contact: говорит, куда слать будущие запросы

 

Описанием медиа, кодеков и т.д. занимается протокол SDP. Описание вкладывается в тело SIP запроса. Описание SDP используется при установлении RTP сессии.

Если Record Routing не вовлечен, ACK посылается напрямую пользователю, минуя прокси-сервера (я так понимаю, это Stateless режим работы прокси-сервера).

Но зачастую используются Stateful режим и прокси-сервера таки добавляют заголовок Record Route в сообщения, чтобы заставить «пользователей» слать все запросы через себя. Это дает возможность мониторить состояние сессий.

ACK — метод, не требующий ответа. ACK отсылается только на INVITE, на BYE — нет (BYE—>, <—OK, все, сессия завершена)

Конечные пользователи изучают друг друга через Contact.

 

INVITE/200 OK/ ACK  называют SIP three-way handshake.

 

Разница между SIP-транзакцией и SIP-диалогом

 

  • SIP-транзакция: запрос — промежуточные ответы (если есть) — окончательный ответ.

ACK на положительный ответ — новая транзакция.
ACK — на отрицательный ответ — принадлежит существующей INVITE-транзакции, новая транзакция не создается.

  • SIP-диалог: все общение от начала до конца, идентифицируется Dialog ID (Call-ID+From Tag+To Tag)

 

Разница между SIP-Proxy и B2BUA (PBX)

 

  • SIP-Proxy:

Маршрутизирует запросы (1 leg)
Как быстро опознать? Один и тот же Call-ID

  • B2BUA (back-to-back user agent):

Отвечает на входящий вызов (a-leg)
Инициирует исходящий вызов (b-leg)
Bridge 2 legs — соединяет 2 ноги
Как быстро опознать? Call-ID разные

Call-ID сохраняется при прохождении через прокси-сервер, но при прохождении через B2BUA у вызова 2 ноги, Call-ID у двух ног разные

 

Remote-Party-ID (RPID)  -не стандартизирован, но популярен, используется для определения CallerID.

Стандарный путь для определения CallerID, это заголовки:

P-Asserted-Identity
P-Prefered-Identity
Privacy headers

 

Режимы работы Proxy-серверов

 

  • Stateful
  • Stateless

 

Initial and Sequential Requests

 

Initial and Sequential Requests — почему важно различать? — по разному роутятся

  • Initial — отсутствует To Tag (например, запрос INVITE)
  • Sequential (In-Dialog)— есть To Tag; Same Call-ID, From Tag , To Tag (например BYE, ACK, RE-INVITE)

 

SDP Negotiation

 

  • Normal Negotiation:

INVITE with SDP offer —>
<— 200 OK with SDP answer
ACK without SDP —>

-последнее слово в согласовании за UAS

  • Late Negotiation:

INVITE without SDP —>
<— 200 OK with SDP offer
ACK with SDP answer —>

-последнее слово в согласовании за UAC

 

DTMF

 

  • inband DTMF
  • named events (RFC 2833)
  • SIP INFO

 

Debian: Проблема с локалью

Проблема:

Решение «на лету» с консоли (временное до перезагрузки):

Решение постоянное:

На случай, если dpkg-reconfigure localeslocale-gen не принесли ожидаемого результата.

VMware ESXi 5.5

VMware ESXi 5.5 доступ по ssh

По умолчанию ssh в состоянии Disable, чтобы включить с консоли:

  1. <F2>
  2. вводим логин-пароль, если запрашивает, затем снова  <F2> (если не запрашивает, этот пункт пропускаем)
  3. Troubleshooting Options
  4. Enable SSH

 

VMware ESXi 5.5 установка обновлений

1. Закидываем папку с обновлениями в datastore, например, через vSphere Client:

«host» -> Configuration -> Storage -> datastore1 -> «Browse datastore…»

2. Создаем в корне директорию, например Updates, и перекидываем необходимую папку с обновлениями

3. Переводим ESXi в Maintenance Mode

vSphere Client -> Enter Maintenance Mode

4. заходим по ssh на хост

5. устанавливаем обновления (в пути ESXi550-201801002 — это директория с обновлениями)

esxcli software vib install -d /vmfs/volumes/datastore1/Updates/ESXi550-201801002/

затем

reboot

6. Выходим из  Maintenance Mode

vSphere Client -> Exit Maintenance Mode

 

AWK: Полезные команды

Чтобы не тратить время на повторное гугление нужных, порой, неочевидных полезных команд awk, соберу коллекцию здесь и буду наполнять по мере использования.

Из столбца сделать строку:

awk ‘{ printf $1 » «}’ file.txt

 

 

IPFW: Изменение правила по умолчанию без пересборки ядра

Правило по умолчанию: «запретить все, что не разрешено»:

65535 deny ip from any to any

За поведение по умолчанию отвечает системная переменная net.inet.ip.fw.default_to_accept

0 — запретить все
1 — разрешить все

Изменить переменную на лету нельзя, но можно установить ее значение в файле /boot/loader.conf

root@srv: # cat /boot/loader.conf
# SET DEFAULT IPFW’S RULE TO «ALLOW ANY TO ANY»:
net.inet.ip.fw.default_to_accept=1

Потребуется перезагрузка для применения изменений.

Cisco SPA112 и команды IVR

IVR (интерактивное голосовое меню) на АТА можно использовать для прослушивания и конфигурирования  некоторых параметров. Данные команды должны работать также на Cisco SPA 122, Linksys PAP2T, Linksys SPA2102 и, наверное, других похожих циско-линксисовских АТА.

Как начать пользоваться:

  1. Включаете шлюз в розетку
  2. Подключаете к line1 (или line2, без разницы) аналоговый телефон — телефон должен работать в тоновом режиме (это важно)
  3. Набираете на телефоне **** и слышите приветствие робоженщины  c IVR

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

# (pound) — обозначает завершение команды (ввод, энтер — по аналогии:-))

Чтобы выйти с меню, можно набрать 3948# или просто положить трубку

*(звездочка) — обозначает точку в параметрах, таких как ip-адрес, маска и т.д.

** — две звездочки, набранные  быстро подряд за полсекунды обозначают отмену введеного параметра

IVR действиеОпцияОписание
Войти в IVR меню****
Проверить метод адресации100
Установить метод адресации101DHCP: 0
Static IP: 1
PPPoE: Press 2
Проверить ip-адрес (Internet-port)110
Установить статический ip-адрес111Пример:
111# 192*168*15*2#
Проверить маску подсети120
Установить маску подсети121Пример:
121# 255*255*255*0#
Проверить ip-адрес шлюза130
Установить ip-адрес шлюза131Пример:
131# 192*168*15*1#
Проверить MAC-адрес140
Проверить версию прошивки150
Проверить Primary DNS-сервер160
Установить Primary DNS-сервер161Пример:
161# 192*168*15*100#
Проверить порт Web-интерфейса170
Разрешить или запретить доступ к веб-интерфейсу79321: Enable
0: Disable
Factory Reset of Unit
сброс всех недефолтных параметров
73738
(RESET)
Слушаем IVR, нажимаем 1 для подтверждения и * - для отмены.

После подтверждения услышим "Option successful", затем кладем трубку. АТА перезагрузится и станет девственно чист

NOTE: This action is equivalent to Pressing and holding the RESET button for 10 seconds.
Reboot of Voice System
Перезагрузка
732668
(REBOOT)
Как услышим "Option successful", кладем трубку.

NOTE: This action is equivalent to Pressing and immediately releasing the RESET button.
User Factory Reset of Unit
Сброс только пользовательских настроек
877778Слушаем IVR, нажимаем 1 для подтверждения и * - для отмены.

После подтверждения услышим "Option successful", затем кладем трубку. АТА перезагрузится

IVR чаще всего  нужен, чтобы:

  • включить веб-интерфейс
  • узнать ip-адрес
  • произвести сброс

Пример команды:

Узнать, какой на АТА ip-адрес:

**** 110#

Dlink: Dlink DGS-1100-10/ME — базовая настройка


Дефолтные настройки Dlink DGS-1100-10/ME:

  • логин/пароль — admin/пустой пароль
  • management vlan default (vlan-id 1)
  • ip-address 10.90.90.90/8

1. Настройка Ethernet-интерфейсов

По умолчанию все порты подняты, посмотреть административное состояние (первая колонка — Enable/Disable) и текущее состояние портов:

sw01:5# sh ports
Command: show ports

Port        State/          Settings                                 Connection                          Address
                MDI       Speed/Duplex/FlowCtrl   Speed/Duplex/FlowCtrl        Learning
——      ———         ———————              ———————                   ———
1           Enabled         Auto/Disabled                      Link Down                          Enabled
Auto

10(C)   Enabled         Auto/Disabled                      Link Down                          Enabled
Auto
10(F)   Enabled         Auto/Disabled                      Link Down                          Enabled
Auto

9 и 10 порты в этом коммутаторе — комбо — можно использовать или медь (C), или оптику (F)

посмотреть описания портов (description):

sw01:5# sh ports descr
Command: show ports description

поднять порт 1:

sw01:5# config ports 1 medium_type copper state enable
Command: config ports 1 medium_type copper state enable

Success!

потушить порт 1:

sw01:5# config ports 1 medium_type copper state disable
Command: config ports 1 medium_type copper state disable

Success!

Установить description порта:

sw01:5# config ports 1 medium_type copper description CUSTOMER1
Command: config ports 1 medium_type copper description CUSTOMER1

Success!

Убрать description порта:

sw01:5# config ports 1 medium_type copper clear_description
Command: config ports 1 medium_type copper clear_description

Success!

Если медному (copper) порту, коим и является порт 1, сказать, что он оптический (fiber), он в это не поверит:

sw01:5# config ports 1 medium_type fiber description CUSTOMER1
Command: config ports 1 medium_type fiber description CUSTOMER1

Port 1 can not set with fiber medium .

Failure!

2. Настройка vlan 802.1q

Посмотреть конфигурацию вланов:

sw01:5# sh vlan
Command: show vlan

VID                  : 1           VLAN NAME       : default
VLAN Type            : Static
Member Ports         : 1-10
Untagged Ports       : 1-10

По умолчанию все порты находятся в влане с именем default с vlan-id 1

При манипуляции с вланами, оперируем именно именем влана, что не всегда удобно. Я в таком случае, чтобы не путаться, в качестве vlan-name задаю номер этого влана (vlan-name=vlan-id) — это не руководство к действию, вы можете поступать иначе; например, если у вас в другом месте есть база/табличка с указанием, какому имени влану соответствует какой vlan-id, то держать такую табличку на длинке не имеет смысла.

Создание нового влана:

sw01:5# create vlan 1258 tag 1258
Command: create vlan 1258 tag 1258

Добавление созданного влана на порты:

тегированным:

sw01:5# conf vlan 1258 add tag 8
Command: config vlan 1258 add tagged 8

Success!

нетегированным:

sw01:5# conf vlan 1258 add untag 1
Command: config vlan 1258 add untagged 1

One untag port can only belong to one VLAN.

Failure!

Сначала нужно удалить дефолтный влан с первого порта, прежде чем назначать ему новый (помним, что дефолтный влан назван как default, это имя и используем):

sw01:5# conf vlan default del 1
Command: config vlan default delete 1

Success!

sw01:5# conf vlan 1258 add untag 1
Command: config vlan 1258 add untagged 1

Success!

Посмотреть конфигурацию определенного влана по имени:

sw01:5# show vlan default
Command: show vlan default

VID                  : 1           VLAN NAME       : default
VLAN Type            : Static
Member Ports         : 2-8,10
Untagged Ports       : 2-8,10

по vlan-id:

sw01:5# show vlan vlanid 1
Command: show vlan vlanid 1

VID                  : 1           VLAN NAME       : default
VLAN Type            : Static
Member Ports         : 2-8,10
Untagged Ports       : 2-8,10

Посмотреть, какой влан/вланы сконфигурированы на определенном порту:

sw01:5# show vlan ports 8
Command: show vlan ports 8

Port 8
VLAN ID   Untagged   Tagged
——-          ———         ——
   1                     X                 —
   1258              —                  X
   1259              —                  X

3. Настройка доступа

3.1 Management интерфейс

L3-интерфейс для управления коммутатором называется System, установка/изменение ip-адреса на менеджмент-интерфейсе выглядит следующим образом:

config ipif System ipaddress 192.168.5.2/255.255.255.0 gateway 192.168.5.1

Менеджмент влан:

sw01:5# enable management vlan
Command: enable management vlan

Success!

sw01:5# config management vlanid 100
Command: config management vlanid 100

Success!

не забудьте перед этим создать сам влан и назначить на необходимые порты.

3.2 Добавление пользователя

Сначала табличка пустая, что для меня странно, ведь мы под admin’ом же как-то попадаем на коммутатор, хоть и без пароля:

sw01:5# show account
Command: show account

Username             Access Level
——————   ————

Account is empty!

Создание пользователя:

можно создать пользователя с уровнем доступа admin, operator, или user

sw01:5# create account admin <username 15>

sw01:5# create account admin admin
Command: create account admin admin

Enter a case-sensitive new password:*****
Enter the new password again for confirmation:*****
Connection closed by foreign host.

Выкинуло с коммутатора, нужно перелогиниться с уже установленным паролем.

Чтобы пароль не светился  plain-текстом в конфиге, включаем  password encryption:

sw01:5# enable password encryption
Command: enable password encryption

Success!

4. Настройка времени

Включить sntp:

sw01:5# enable sntp
Command: enable sntp

Please set server first then change state to sntp

-просит сначала задать sntp сервер, задаем и включаем sntp:

sw01:5# config sntp primary 192.168.5.1
Command: config sntp primary 192.168.5.1

Success!
sw01:5# enable sntp
Command: enable sntp

Success!

Посмотреть время:

sw01:5# show time
Command: show time

Time information
——————————————
Current Time Source           : Sntp
Current Time                  : 10 Feb 2017 11:05:12
GMT Time Zone offset          : GMT +00:00
Daylight Saving Time Status   : Disabled
Offset in Minutes             : 60
Annual From                   : 01 Jan 0:0
To                            : 01 Jan 0:0

-переход на летнее время не настроен.

Переход на летнее время обычно настраивается как указание старт_даты (последнее воскресенье марта) и стоп_даты (последнее воскресенье октября). Но на длинке никак не сказать «последнее воскресенье», разве что можно установить примерную дату, например 22-е число. Следите за форматом записи:

sw01:5# config dst annual s_date 22 s_mth 3 s_time 2
Command: config dst annual s_date 22 s_mth 3 s_time 2

Invalid day setting
sw01:5# config dst annual s_date 22 s_mth 03 s_time 2
Command: config dst annual s_date 22 s_mth 03 s_time 2

Invalid day setting

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

sw01:5# config dst annual s_date 22 s_mth 03 s_time 2:0
Command: config dst annual s_date 22 s_mth 03 s_time 2:0

Success!

-стоп-дату:

Success!
sw01:5# config dst annual e_date 22 e_mth 10 e_time 3:0
Command: config dst annual e_date 22 e_mth 10 e_time 3:0

Success!

Можно было бы задать все параметры одной командой, но у меня как-то не вышло (если писать параметры, дополняя табом):

sw01:5# config dst annual e_date 22 e_mth 10 e_time 3:0
Command: config dst annual e_date 22 e_mth 10 e_time 3:0
sw01:5# config dst annual s_date 22 s_mth 03 s_time 2:0 e_date 22 e_mth 10 e_time 3:0d_time>
Command: config dst annual s_date 22 s_mth 03 s_time 2:0 e_date 22 e_mth 10 e_time 3:0
me 3:0d_time>ig dst annual s_date 22 s_mth 03 s_time 2:0 e_date 22 e_mth 10 e_time <end_time>

SNMP Error Wrong Length.

Можно эту же строку напечатать в текстовом редакторе, а потом скопировать и вставить — тогда кушает:

sw01:5# config dst annual s_date 22 s_mth 03 s_time 2:0 e_date 22 e_mth 10 e_time 3:0

Также необходимо указать временную зону (у нас +2):

sw01:5# config time_zone operator + hour 2 minute 0

Смотрим время еще раз:

sw01:5# show time
Command: show time

Time information
——————————————
Current Time Source           : Sntp
Current Time                  : 10 Feb 2017 13:19:12
GMT Time Zone offset          : GMT +02:00
Daylight Saving Time Status   : Annual
Offset in Minutes             : 60
Annual From                   : 22 Mar 2:0
To                            : 22 Oct 3:0

5. Hostname (строка приглашения) и banner

Настроить строку приглашения:

switch:5# config command_prompt sw01
Command: config command_prompt sw01

Success!

Баннер:

sw01:5# config greeting_message
Command: config greeting_message

Greeting Messages Editor
================================================================================
Hello world!

================================================================================
Array Up     : Cursor up                Ctrl+X       : Erase all
Array Down   : Cursor down              Ctrl+L       : Relaod original data
Array Left   : Cursor left              Ctrl+C       : Quit without save
Array Right  : Cursor right             Ctrl+W       : Save and quit
Ctrl+D       : Erase current line
Success!

Проверяем баннер, перелогиниваемся:

root@srv:/home/user1 # telnet sw01
Trying 192.168.5.2…
Connected to sw01.company.net.
Escape character is ‘^]’.

Hello world!

DGS-1100-10/ME login:

6. Другое

config sysname «sw01»
config syslocation «Kozurina,8»
config syscontact «admin@company.net»

Включить jumbo-frame (джамбо-фреймы):

enable jumbo_frame

Сохранить конфигурацию:

sw01:5# save config
Command: save config

Success!

 

Cisco ME 3400: Почему не ходит трафик между двумя портами

Кратко суть:

В цискосвитчах МЕ-серии (metro-ethernet) есть три типа портов: uni, nni и eni.

  • uni — user-network interface — для подключения конечных устройств (ПК, IP-телефоны)
  • nni — network node interface — для подключения роутеров и коммутаторов
  • eni — enhanced network interface — тоже для подключения роутеров и коммутаторов, но с дополнительными возможностями, такими, как: CDP, STP, LACP и т.д.

Так вот, по умолчанию, в 10/100-мегабитных портах установлен режим uni, а в аплинковых портах (SFP-шных 1G, например) — режим nni. И главная соль здесь вот где:

— uni порты могут передавать трафик только в nni.

Т.е. два устройства, включены в соседние 100М-порты одного коммутатора, находящиеся в одном влане не видят друг друга! и не могут обмениваться между собой информацией.

Решение проблемы:

установить два порта в режим nni (или комбинация uni+nni тоже будет работать)

Тут также стоит заметить, что если у вас на циске образ «metro base» или «metro access», то сконфигурить в качестве nni можно только 4 порта, для «metro IP access» таких ограничений нет.

Не судите строго, возможно, для кого-то такие заковырки в настройке (типа так реализовывается секьюрность) являются очевидными, но я с Метро-эзернет свичами сталкиваюсь впервые.

Cisco 7940: мелкие неприятные грабли при работе c SIP

Все ниже написанное касается прошивки P0S3-8-12-00.

Вроде все правильно, но не регистрируется.

Грабля номер раз

Формат записи адреса Proxy-сервера, на котором телефон будет регистрироваться: если указываем доменное имя — заключаем в кавычки, если ip-адрес — кавычки убираем!

Правильно:

Правильно:

Неправильно:

Симптомы — у меня телефон так не смог зарегистрироваться, хотя посылал запросы REGISTER на первый взгляд с правильными заголовками и на правильный ip-адрес сервера…

Грабля номер два

Это NAT. Чтобы телефон зарегистрировался за NAT’ом мне потребовалось:

  1. Отредактировать SIPDefault.cnf:

2. На роутере выполнить проброс UDP-портов 5060 (sip) и 16384-16391 (rtp)

3. На роутере отключить SIP ALG (не везде он есть). На джунипере это делается командой:

set security alg sip disable