Понадобилось мне сегодня для одного из виртуальных серверов, с которыми я работаю для тестирования серверного ПО, несколько увеличить размер основного жесткого диска. Иногда так бывает — сначала ты планируешь реализовать одно, а потом, уже во время работы, тебя посещает идея о том, что это можно сделать лучше и интереснее, только вот жесткий диск-то уже создан и его прежний размер уже не соответствует новым реалиям. Так случилось и сегодня. У меня есть шаблон веб-сервера на Gentoo, но поскольку там все по-минимуму, то и размер основного системного диска минимален.

Раньше я уже многократно сталкивался с этой задачей, но запамятовал четкий порядок действий. Решил поискать его в Интернете и пожалел. Чего только не советуют на форумах и в блогах, я просто был в шоке. Я приведу парочку советов здесь чисто юмора ради.

Нужно установить gparted, с помощью которого стрелочкой растянуть нужный раздел на свободное пространство и задача будет решена. Если нет графического окружения, то нужно установить базовое.

Потребуется создать новый виртуальный жесткий диск с фиксированным размером, привязать его к той же виртуальной машине, что и основной, после чего запустить машину и все с основного диска переписать plain-способом на новый при помощи dd.

Достаточно будет подключить к компьютеру флешку и пробросить ее на виртуальную машину, после чего перенести на флешку в виде архива (stage4) содержимое основного диска. Перезагрузить виртуальную машину, загрузиться с установочного ISO-образа, отформатировать раздел с нужным размером, потом скопировать архив с флешки обратно на отформатированный раздел.

Я, честно признаться, не понимаю прикола в том, чтобы переносить или копировать куда-либо данные с жесткого диска. Быть может, мой виртуальный диск имеет объем в 2Тб. Весело будет такой архив гонять по сети, за флешки я вообще молчу, тут уже надо брать выше — съемный HDD. Непременно твердотельный, ибо иначе увеличение размера виртуального жесткого диска может занять неделю, а то и больше (особенно, с использованием USB 2.0).

Читать дальше »


Некоторое сетевое оборудование (к примеру, Cisco 7940, о котором была предшествующая статья) требует наличия в локальной сети NTP-сервера для получения текущего времени из доверенного источника. Некоторые роутеры поддерживают работу в режиме NTP-сервера уже из коробки, а некоторые требуют установки специализированных прошивок типа OpenWRT или ddWRT. В моей же сети есть Asus RT-N12VP, который поддерживает только прошивку TomatoUSB by shibby (ну, еще определенными шаманскими методами можно ddWRT загрузить, но поднять WAN на ней мне пока так и не удалось), а она имеет лишь встроенный NTP-клиент.

Стоит отметить принцип работы прошивки на данном роутере: она загружена таким образом, что при перезагрузке роутера просто выгружается в /tmp в полноценном режиме чтения/записи, а затем монтируется уже в режиме чтения в более привычные /etc, /dev и пр. Но, так как выгрузка происходит во временную память, то и все изменения, внесенные в эти файлы, живы лишь до следующей перезагрузки роутера, после чего все снова становится девственно чистым, как будто прошивка только что была загружена.

Для решения этой проблемы существует правильный вариант (который я тоже обязательно когда-нибудь рассмотрю в деталях, но не сегодня, т.к. мне лень) — модификация самого файла прошивки перед ее загрузкой на роутер. Суть такой модификации в нашем случае заключается в том, чтобы распаковать прошивку, добавить в нее нужный нам исполняемый файл и его настройки, после чего запаковать обратно. Стоит отметить, что при работе данным методом следует очень внимательно следить за размером полученного в итоге файла, т.к. иногда лишние 10Кб размера могут привести к невозможности ее работы на роутере из-за недостатка памяти.

Сегодня же мы рассмотрим более простой и ленивый вариант, так сказать, workaround. Для него нам потребуется действующий http-сервер (где угодно, хоть в локальной сети, хоть за ее пределами), на который мы можем загрузить файлы и потом скачать их по прямой ссылке.

Читать дальше »

Вчера ко мне попал новый интересный телефон от Cisco — 7940. Новый он для меня, а не для Cisco — они эту модель сняли с производства уже достаточно давно, но несмотря на это она не теряет своей актуальности и по сей день, особенно учитывая то, что стоит в сравнении с модными моделями совсем недорого. Единственная проблема с ним заключается в том, что в базовой комплектации отсутствует блок питания, так как производителем предполагается, что питание будет осуществляться посредством PoE. У меня в сетях PoE нет и пока не ожидается, поэтому я потратил некоторое время на поиск блока питания. И нет, если в вашей сети нет PoE, то телефон не будет работать просто от локальной сети (может быть, звучит смешно, но мне почему-то казалось, что это возможно).

Итак, давайте рассмотрим, как устроен 7940. Во внутреннюю память каждого телефона установлен загрузчик приложений — это тот самый экран с логотипом Cisco и быстро крутящимся спиннером. Его функция заключается в том, чтобы загрузить нужную прошивку, настройки и поднять сетевое подключение. Я лично знаю две прошивки под этот телефон — SCCP и SIP. В данной инструкции речь пойдет о SIP и использовании телефона вместе с АТС Asterisk.

У телефона отсутствует возможность принудительной прошивки — загрузчик сам обратится к TFTP-серверу и скачает все, что ему нужно, вам же остается только указать версию прошивки в конфигурационном документе. TFTP-сервер может как постоянно размещаться в вашей сети, так и запускаться только для настройки телефона, однако стоит обратить внимание на то, что пользовательские рингтоны вы сможете загружать и использовать только в случае постоянного наличия подключения к TFTP-серверу, т.к. телефон не сохраняет выбранный рингтон, а скачивает его каждый раз, когда он потребуется. Таким образом, как только связь с сервером пропадает — возвращается рингтон по умолчанию. Обратите также внимание на то, что TFTP-серверу вовсе не обязательно находиться в локальной сети, но ему обязательно иметь публичный IPv4-адрес, так как обращение происходит именно по IP.

Временный TFTP-сервер
Потребуется в том случае, если на телефоне не установлена никакая прошивка и после подключения к сети он не загружается дальше логотипа Cisco с надписью «TFTP Timeout» (т.е. у вас нет доступа к настройкам в принципе).

1. Скачиваем tftpd для Windows (или tftp-hpa для Linux). Крайне рекомендую portable-версию, так как версия с установщиком работает на Windows 10 крайне странно: после настройки требует перезапуститься для сохранения настроек, после чего запускается с настройками по умолчанию).

Читать дальше »
1 комментарий 03.11.2018, 20:48

Наконец-то настал момент, когда мы готовы рассказать о чем-то интересном, касательно новых продуктов и услуг. В этом месяце наша новинка — приложение для Интернет-магазинов на платформе InSales (также, виджет для amoCRM), позволяющее осуществить полноценную интеграцию Интернет-магазина в систему amoCRM.

Лично мне даже не верится, что это приложение уже опубликовано, так как начиналось его создание более года тому назад. Все это время мы занимались изучением рынка интеграций, потребностями бизнеса, использующего amoCRM для учета продаж, производимых посредством магазинов на платформе InSales. У человека, знакомого хотя бы с одной из сторон данной интеграции, сразу возникнет вопрос: так ведь системы появились не вчера, там масса приложений; что же отличает «amoCRM Учет» от них? Этот вопрос очень интересен, поэтому я предлагаю рассмотреть его детально. Даже детальнее, чем мы это сделали на профильном сайте и в инструкции к приложению.

• Работа с товарами
Согласитесь, сегодня, в 2018-ом году, достаточно трудно представить себе магазин, который не работает с товарами раздельно, обрабатывая их в виде списков. Существующие прежде варианты интеграции позволяли только лишь создать контакт в amoCRM, сделку и вбросить в нее список приобретенных покупателем товаров в виде примечания. А как же товароучет, ведь amoCRM предлагает столько различных методов его ведения? Вести бизнес только на основании текстовых данных, это, конечно, достаточно стабильно, но в конечном итоге это примерно то же самое, что приобрести iPhone X и использовать его только для звонков внутри сети.

В своем приложении мы мало того, что в полной мере реализовали систему карточек товаров, предоставляемую уже достаточно давно всем аккаунтам amoCRM, так еще и доработали ее таким образом, чтобы пользователи amoCRM могли видеть товары, а не только знать их названия. Между прочим, это функция продиктованная реальными потребностями бизнеса, которые мы изучали так долго. Давайте рассмотрим один пример того, почему SDK-карточки с иллюстрациями — это круто.

Читать дальше »

С тех пор, как в «Укртелекоме» сообщили, что восстановление кабельной сети ожидается не ранее первой половины 2020-ого года я окончательно понял, что ожидать нам уже нечего и в офисе скорее появится спутниковый телефон, чем проводной стационарный. Тем не менее, кабельная инфраструктура-то имеется, равно как и куча стационарных телефонных аппаратов, которые ныне продают по объявлениям едва ли не по десятке за штуку. На днях меня посетила очень интересная идея: а что, если использовать нашу IP-АТС еще и как коммутатор для стационарной связи? Для этого были закуплены адаптеры Cisco ATA 186 без блоков питания. Небольшой спойлер: как правило, там, где продают адаптеры, есть и блоки питания, но покупать вы их там будете втридорога. Лучше пойти на ближайший радиорынок и купить аналогичные БП в три (!) раза дешевле, как это сделал я.

Данная статья предполагает, что IP-АТС Asterisk у вас уже поднята и заострять на ней внимание я не буду, только укажу настройки, которые обеспечили оптимальное качество связи на канале ATA-Asterisk-ATA.

Итак, у нас на руках есть Cisco ATA 186. В отличие от роутеров и точек доступа, здесь не получится просто зайти на 192.168.0.1, ввести admin:admin и начать администрировать. Все намного интереснее — у адаптера есть голосовое меню настроек, но оно полностью на английском и версии на русском я никогда не встречал. Тем не менее, базовые настройки легко вводятся и без знания языка. Первое, что нам нужно сделать — это определить IP-адрес, к которому прибилась ATA в нашей локальной сети (и присвоен ли он вообще).

1. Настройки сети.
По умолчанию, ATA принимает настройки сетевого соединения по DHCP. Однако, если она прежде была в эксплуатации, то вполне вероятно, что IP-адрес установлен в такое значение, которое либо занято в вашей локальной сети, либо вообще находится вне адресного пространства.
Подключаем ATA к локальной сети, а в первый телефонный порт включаем любой стационарный телефон с тональным набором (хотя импульсные терминалы тоже с легкостью могут быть подключены к IP-АТС, но для этого между терминалом и ATA нужно установить конвертер импульсов в тональные сигналы, стоит копейки, т.к. практически неприменим в современном мире). Поднимаем трубку на телефоне и видим, что на верхней панели ATA загорелась красная кнопка. Жмем на нее и слышим в телефоне голосовое меню. Для того, чтобы узнать текущий IP-адрес адаптера, введите комбинацию 21#. Робот прочитает IP-адрес по цифрам с указанием точек. Если IP-адрес соответствует вашей локальной сети, то можно попробовать ввести его в веб-браузере и если откроется страница настройки, то от голосового меню можно отстать (одинаково при этом, нажмете вы на диез или же просто положите трубку).

Если названный роботом IP-адрес совершенно не соответствует вашему адресному пространству (например, у вас локальная сеть 192.168.0.0/16, а ATA присвоил себе адрес 10.0.1.250), то пришло время заняться настройкой сети более детально. Для начала, давайте определимся: в вашей сети адреса присваиваются по DHCP или вручную?

1.1. Присвоение адресов по DHCP.
Здесь все просто. Настройка DHCP имеет приоритет над статичным IP-адресом, поэтому достаточно только установить ее значение в единицу и перезапустить ATA. Входим в голосовое меню адаптера и вводим комбинацию 20#1#3. После перезагрузки еще раз проверяем назначенный IP-адрес командой 21# и если он изменился, то дело в шляпе.

Читать дальше »
1234 > »201 страница