вторник, 27 июня 2017 г.

подключение модема/роутера HILINK к OpenWRT 15.05.1

Yota подключается также.
usb-modeswitch нужна!!! чтоб убрать СД-РОМ и ввести модем в нужный режим
opkg install usb-modeswitch_2014-08-26-993a9a542791953c4804f7ddbb3a07756738e37a_ar71xx.ipk kmod-usb-net-asix_3.18.23-1_ar71xx.ipk kmod-usb-net-cdc-ether_3.18.23-1_ar71xx.ipk kmod-usb-net-rndis_3.18.23-1_ar71xx.ipk

если на роутере нет инета то еще нужно скачать зависимости
kmod-libphy_3.18.23-1_ar71xx.ipk
kmod-mii_3.18.23-1_ar71xx.ipk
kmod-usb-net_3.18.23-1_ar71xx.ipk
libpthread_0.9.33.2-1_ar71xx.ipk
librt_0.9.33.2-1_ar71xx.ipk
libusb-1.0_1.0.19-1_ar71xx.ipk

после установки в роутере появится новый Eth интерфейс

выше для Ethernet модемов,
ниже для Megafon M150-1 (Huawei e3276) взято http://klink0v.livejournal.com/358761.html - там подробней

Нужно установить пакеты "comgt-ncm", "kmod-usb-net-huawei-cdc-ncm" и их зависимости.
  1. Всякие "usb-modeswitch", "kmod-usb2", "kmod-usb-serial-ipw" и "kmod-usb-serial-option" подразумеваются сами собой. Пока в "ip link show" вы не увидите "wwan0", а в "/dev" - "ttyUSB1", дальше можно даже и не пытаться.
  2. Открываем на редактирование скрипт "/lib/netifd/proto/ncm.sh", находим там строчку "manufacturer=бла-бла-бла" и сразу после неё добавляем заклинание manufacturer="huawei". Это как раз костыль, призванный скомпенсировать косяк прошивки модема. Надо отметить, что такой "патч" потребуется накладывать после каждого обновления версии OpenWRT. Также про него стоит вспомнить (и убрать), если мы когда-нибудь в будущем захотим подключить к своему роутеру какой-нибудь другой модем.
  3. Через веб-интерфейс aka Luci в стабильной версии OpenWRT (15.05) настроить интерфейс, увы, не получится. Придётся лапками через "/etc/config/network". Примерно вот так:
config interface 'huawei'
        option proto 'ncm'
        option ifname 'wwan0'
        option device '/dev/ttyUSB1'
        option apn 'internet'
        option delay '5'
на tp-link 3500 определился на  '/dev/ttyUSB0'

вторник, 30 декабря 2014 г.

debian 7 настройка Proftpd

usermod -s /bin/false user     - запрет SSH для пользователей ftp

в  proftpd.conf раскоментировать
DefaultRoot ~                         для запрета просмотра лишних каталогов
RequireValidShell off              для того чтоб без шела по ftp пускало
PassivePorts 40000 50000      чтоб ftp за натом был доступен и на Фаерволе сделать проброс
MasqueradeAdress 5.8.8.15
 iptables -t nat -A PREROUTING -i eth0 -p tcp -d 5.8.8.15 -m multiport --dports 21,40000:50000 -j DNAT --to 10.0.0.1 

или как здесь Запрещаем пользователю доступ по SSH в Debian 7

четверг, 19 июня 2014 г.

Подключение новых модемов к Asterisk

Для определения вменяемого имени модема


apt-get install -t squeeze-backports usb-modeswitch usb-modeswitch-data

Вставляем модем и выполняем
 dmesg | tail

Получаем вывод похожий на
[  303.594149] usb 1-7: New USB device found, idVendor=12d1, idProduct=1001
[  303.594155] usb 1-7: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[  303.594158] usb 1-7: Product: HUAWEI Mobile
[  303.594161] usb 1-7: Manufacturer: HUAWEI Technology
[  303.596731] option 1-7:1.0: GSM modem(1-port) converter detected
[  303.596968] usb 1-7: GSM modem (1-port) converter now attached to ttyUSB0
[  303.597241] option 1-7:1.1: GSM modem (1-port) converter detected
[  303.597373] usb 1-7: GSM modem (1-port) converter now attached to ttyUSB1
[  303.597584] option 1-7:1.2: GSM modem (1-port) converter detected
[  303.597716] usb 1-7: GSM modem (1-port) converter now attached to ttyUSB2


Если не заработало, выясняем идентификатор устройства:
 lsusb

  Bus 002 Device 050: ID 12d1:140c Huawei Technologies Co., Ltd.


Проверяем наличие файла «12d1:*» в /etc/usb_modeswitch.d, в одном из файлов
должно быть упоминание продукта «1446». Например:

# Huawei E270+  (HSPA+ modem)
   DefaultVendor= 0x12d1
   DefaultProduct=0x1446

   TargetVendor=  0x12d1
   TargetProductList="1001,1406,140c,14ac"

   CheckSuccess=20

   MessageContent="55534243123456780000000000000011060000000000000000000000000000"


Если файла нет, то его можно создать по вышеприведенному примеру, просто изменив DefaultProduct на:
DefaultProduct= 0x140c

Перегружаемся, после чего модем имеет вменяемое имя, продолжаем связывать его с Asterisk

Команды управления Huawei модемов

AT^U2DIAG=0 (девайс в режиме "только модем")
AT^U2DIAG=1 (девайс в режиме "модем + CD-ROM")
AT^U2DIAG=255 (девайс в режиме "модем + CD-ROM + Card Reader") - не поддерживается для Huawei E1750
AT^U2DIAG=256 (девайс в режиме "модем + Card Reader")
AT+CFUN=1 (Перезагрузка модема без необходимости передергивания)
ATI (вывод информации о модеме)
AT^GETPORTMODE (Отображение списка всех устройств в модеме)
# Если модем не принимает команду AT^U2DIAG=255 ,тогда вводим AT^U2DIAG=1
Наиболее часто используемые at команды при работе с модемом huawei
ATI - вывод информации о модеме
AT+CFUN=1 – перезагрузка модема, очень полезная команда не требует "передергивать" модем. После перезагрузки модем перерегистрируется в сети оператора.
AT+CGMI - информация о производителе модема (Recieve: huawei)
AT+CGMR - информация о версии прошивки (Recieve: 11.608.12.04.21)
AT+CIMI - информация об IMSI номер SIM карты (Recieve: 250015800471114)
AT+CGSN - информация о IMEI модема (Recieve: 353142033840706)
AT^HWVER - информация о версии железа модема (Recieve: ^HWVER:"CD6ATCPU")
AT+CSQ - посмотреть уровень радиосигнала
AT^CMDL - получить список всех комманд
AT+CGMM или AT+GMM - запросить название модели
AT+COPS - информация о текущем операторе (Recieve: +COPS: (1,"MTS-RUS","MTS","25001",0),(2,"MTS-RUS","MTS","25001",2),,(0,1,2,3,4),(0,1,2))
AT^U2DIAG? - текущий режим.
AT^GETPORTMODE – список всех устройств в модеме
AT+CLAC в ответе будет список поддерживаемых команд
Включение голосовых функций модема:
AT^CVOICE=? – проверка состояния голосовых функций модема (0 - значит включено)
AT^CVOICE=0 – включение голосовых функций модема
Включение / отключение режимов 2G и 3G:
AT^SYSCFG=13,1,3fffffff,0,0 – режим только 2G
AT^SYSCFG=2,1,3fffffff,0,0 – режим предпочтительно 2G
AT^SYSCFG=14,2,3fffffff,0,1 – режим только 3G
AT^SYSCFG=2,2,3fffffff,0,1 – режим предпочтительно 3G
AT^SYSCFG=2,2,3fffff ff,0,2 – режим включение 2G и 3G
Включение / отключение режимов WCDMA, HSDPA, HSPA+, HSPA:
AT^HSDPA=1 – режим HSDPA включен
AT^HSDPA=0 – режим HSDPA выключен
AT^HSUPA=1 – режим HSUPA включен
AT^HSUPA=0 – режим HSUPA выключен
AT^HSPA=0 – режим WCDMA
AT^HSPA=1 – режим HSDPA
AT^HSPA=2 – режим HSPA
AT^HSPA=3 – режим HSPA+
AT^SYSCFG=13,1,3FFFFFFF,2,4 – режим только GPRS/EDGE
AT^SYSCFG=14,2,3FFFFFFF,2,4 – режим только 3G/WCDMA
AT^SYSCFG=2,1,3FFFFFFF,2,4 – режим предпочтительно GPRS/EDGE
AT^SYSCFG=2,2,3FFFFFFF,2,4 – режим предпочтительно 3G/WCDMA

Команды необходимые для разблокировки модема (разлочка модема)
AT^CARDLOCK="NCK Code" – ввод кода снятия блокировки (8-значное число)
AT^CARDUNLOCK="MD5 NCK Code" – сброс попыток ввода кода NCK кода разблокировки до 10 раз
AT^CARDLOCK? – проверка состояния блокировки модема и количества попыток ввода кода разблокировки:
(ответ модема: CARDLOCK: A,B,0 , если A=2 модем разблокирован, A=1 модем заблокирован – SimLock, если A=3 здесь два варианта либо вы израсходовали все 10 попыток ввести код, либо у вас в модеме кастомизированная прошивка, B – количество оставшихся попыток ввода кода разблокировки (по умолчанию 10 раз))

Изменение режима модема
AT^U2DIAG=Команда - для изменения режим модема (Модем,CD ROM, Флешка, PC UI, NDIS, Смарткарта).
Таблица команд ниже.
Команда Модем CD-ROM Флешка PC UI Сетевой адаптер Смарт-карта Примечание Поддерживается Не поддерживается
0 +

+


E160, E1750
1 + +






3 +

+
+ Не будет работать на девайсах без смарт-карты

5
+
+ +
Не будет работать на девайсах без сетевого адаптера

9
+

+ + Не будет работать на девайсах без смарт-карты и сетевого адаптера

10 + +


+ Не будет работать на девайсах без смарт-карты

12
+
+ +
Не будет работать на девайсах без сетевого адаптера

255 + + + + ? ? Сброс на заводские настройки E160, E160E, K3565, K3715 E176, E1762, E1750, E173
256 +
+


Для большинства
Устройств флешка заработает после установки драйверов.
E160, E160E, E173, E1750, E1762, K3565, K3715 E176
257 + + +





259 +
+ +
+ Не будет работать на девайсах без смарт-карты E173u-2, E176
261
+ +
+ + Не будет работать на девайсах без смарт-карты и сетевого адаптера

265
+ +
+ + Не будет работать на девайсах без смарт-карты и сетевого адаптера

266 + + +

+ Не будет работать на девайсах без смарт-карты

267
+ +
+
Не будет работать на девайсах без сетевого адаптера

268 + + + +

Не будет работать на девайсах без сетевого адаптера E1750, K3565, E173
276 + + + + + ? Сброс на заводские настройки E1762, K3565, K3765, E173, E1750

AT-команды для модемов Huawei E171 с прошивкой v21.156.00.00.143, E352, E353, E367, E398 и др.
AT^SETPORT="A1,A2,1,2,3,7,A1,A2" (Установить конфигурацию по умолчанию)
AT^SETPORT="A1,A2,1,2,3,7" (девайс в режиме "модем + сетевая карта")
AT^SETPORT="A1,A2;1,2,3,A2" (девайс в режиме "модем + Card Reader")
AT^SETPORT="A1,A2;1,2,3" (девайс в режиме "только модем")
AT^SETPORT="A1,2,7" (девайс в режиме "сетевая карта + CD-ROM")
AT^SETPORT="A1,A2,2,7" (девайс в режиме "сетевая карта") - для Windows 7
AT^SETPORT="A1;1,2" (девайс в режиме "модем + пользовательский интерфейс")
AT^SETPORT? (Текущая конфигурация модема)
AT^GETPORTMODE (Отображение текущего активного режима)
AT^SETPORT="A1,A2,1,2,3,7,A1,A2,4,5,6,A,B,D,E" (Сброс настроек по умолчанию)

Настройки режимов сети  по умолчанию для Huawei E352
at^hspa?
^HSPA: 2AT^SETPORT?
A1,A2;1,2,3,7,A1,A2
AT^SYSCFG?
^SYSCFG:2,2,3FFFFFFF,1,2

Настройки режимов сети  по умолчанию для Huawei E352b (21.158.23.00.209)
AT^SETPORT?
A1,A2;1,16,3,2,A1,A2
AT-команды для модема Huawei E1750
АТ команды переключения режимов huawei E1750
AT^U2DIAG=0 (девайс в режиме только модем)
AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)
AT^U2DIAG=6 (девайс в режиме только сетевая карта)
AT^U2DIAG=268 для E1750 (девайс в режиме модем + CD-ROM + Card Reader)
AT^U2DIAG=276 для E1750 (девайс в режиме сетевой карты + CD-ROM + Card Reader)
AT^U2DIAG=256 (девайс в режиме модем + Card Reader, можно использовать как обычную флешку,
отказавшись от установки драйверов модема)

АТ команды переключения режимов сети huawei E1750
AT^SYSCFG=14,2,3fffffff,1,2 (Только 3G)
AT^SYSCFG=13,1,3fffffff,1,2 (Только GSM)
AT^SYSCFG=2,2,3fffffff,1,2 (Приоритет 3G)

AT-команды переключения режимов сети для модема Huawei E1820 (E182E)
AT^SYSCFG=13,2,3fffffff,1,2 - только GSM
AT^SYSCFG=2,1,3fffffff,1,2
- преимущественно GSM
AT^SYSCFG=14,2,3fffffff,1,2
- только WCDMA
AT^SYSCFG=2,2,3fffffff,1,2
- преимущественно WCDMA

AT-команды для модема Huawei E3131
AT^SETPORT="A1,A2;1,16,3,2,A1,A2" - (Установить конфигурацию по умолчанию)
AT^SETPORT="A1,A2;1,2,3,16,A1,A2" -
(режим для работы модема с Android 4.0 (иногда работает))
AT^SETPORT="A1,A2;1,16,3,2" -
(девайс в режиме "модем + сетевая карта")
AT^SETPORT="A1,A2;1,3,2,A2" -
(девайс в режиме "модем + Card Reader")
AT^SETPORT="A1,A2;1,3,2" -
(девайс в режиме "только модем")
AT^SETPORT="A1,A2;2,16" -
(девайс в режиме "сетевая карта")
AT^SETPORT="A1,A2;2,16,A1" -
(девайс в режиме "сетевая карта + CD-ROM")

AT команды для модема Huawei E303 HiLink
AT^U2DIAG=374 Перевод модема из режима Hilink в режим com портов
AT^U2DIAG=375 Возврат в исходный режим

AT команды для модема                                                             Huawei E3276 (Megafon M150-1)
AT^SETPORT="A1;10,12,13,14,16,A1,A2" - Включает все COM порты.
AT^SETPORT="A1,A2;12,16,A1,A2" - Установка по умолчанию.
При подключении к роутеру TP-LINK 1043nd на OpenWrt помогла команда: AT^SETPORT="FF;10,12" и сразу воткнуть в роутер (ощущение что мегафоновская прога перенастраивает модем)
 
AT команды для преключения режимов в модемах huawei с LTE (E392, E398)
Если для USB-модема вы хотите включить режим только LTE, отключив все остальные, необходимо воспользоваться AT командой:
AT^SYSCFGEX="03",3fffffff,2,4,7fffffffffffffff,,
В указанной команде первое значение расшифровывается так:
00 - Автоматический режим, установлен по умолчанию (приоритеты в порядке очереди: 4G > 3G > 2G)
01 - GSM GPRS(2G)
02 - WCDMA(3G)
03 - LTE(4G)
99 - Оставить текущие настройки без изменений.
Вы можете также выбрать порядок их приоритета, в порядке убывания, например:
AT^SYSCFGEX="0302",3fffffff,2,4,7fffffffffffffff,,
В этом случае модем будет пытаться подключиться сначала к сети LTE и потом к сети 3G, кроме работы в сетях 2G.
или такой вариант:
AT^SYSCFGEX="030201",3fffffff,2,4,7fffffffffffffff,,
это равносильно
AT^SYSCFGEX="00",3fffffff,2,4,7fffffffffffffff,,
Соответственно автоматический режим, установлен по умолчанию (приоритеты в порядке очереди: 4G > 3G > 2G)

четверг, 15 мая 2014 г.

Port forwarding или Перенаправление портов в Windows

В Windows server 2008 можно перенаправить порт стандартными средствами:

в консоли netsh

interface portproxy add v4tov4 listenport=80 listenaddress=192.168.1.1 connectaddress=192.168.1.2 connectport=80 protocol=tcp


В результате при обращении к серверу 192.168.1.1 на порт 80, происходит перенаправленные на сервер 192.168.1.2 порт 80.
Не забывает открыть эти порты на серверах.

среда, 7 мая 2014 г.

SSL(HTTPS) сайт бесплатно на Debian с сертификатом от StartSSL

  1. Регимся на https://www.startssl.com/
  2. подтверждаем домен в Validations Wizard (подтверждается домен 2-го уровня, а сертификаты потом можно сделать для каждого поддомена.)
  3. выбираем бесплатный WEB сертификат в Certificates Wizard
    •  указываем пароль
    • получившийся сертификат сохраняем и конвертируем
      openssl rsa -in ssl.key -out ssl-domen.key(убираем пароль)
    • выбираем к какому домену сертификат и указываем поддомен
  4. так же можно сгенерить сертификат самому "openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr", потом в "key" убираем пароль, а "csr" через сайт перегоняем в "crt" 
  5. ждем ~10мин приходит письмо с подтверждением генерации сертификата
  6. в Retrieve Certificate забираем файл ssl-domen.crt
  7. кладем в /etc/apache2/ssl  оба файла(ssl-domen) и скачиваем тудаже http://www.startssl.com/certs/ca.pem и http://www.startssl.com/certs/sub.class1.server.ca.pem
  8. в /etc/apache2/sites-avaliable создаем файлик ssl-domen c содержанием
  9. 
    
    DocumentRoot "/var/www/ssl-domen"
    ServerName ssl-domen.alu.ru
    
    allow from all
    Options +Indexes
    
    
       SSLEngine on
       SSLProtocol all -SSLv2
       SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
    
       SSLCertificateFile /etc/apache2/ssl/ssl-domen.crt
       SSLCertificateKeyFile /etc/apache2/ssl/ssl-domen.key
       SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem 
    
    
  10.  a2enmod ssl
  11. a2ensite ssl-domen
  12. service apache2 restart
получается даже проще, чем генерить самоподписанный сертификат


понедельник, 18 ноября 2013 г.

Пример MySql запроса в Asterisk

exten => s,1,Answer
          exten => s,n,NoOp(${CALLERID(all)})
        ; Проверка есть ли оператор для обработки очереди
        exten => s,n,MYSQL(Connect connid HOSTNAME USERNAME PASSWORD asterisk)
        exten => s,n,MYSQL(Query resultid ${connid} SELECT count(uniqueid) as cnt from queue_member)
        exten => s,n,MYSQL(Fetch foundRow ${resultid} cnt)
        exten => s,n,MYSQL(Clear ${resultid})
        exten => s,n,MYSQL(Disconnect ${connid})
        exten => s,n,GotoIf($["${cnt}"!="0"]?success:nottime)
        exten => s,n(nottime),GoTo(awt_menu,main,1)
        exten => s,n(success),Playback(lode_menu_start_2_new)
        ; Если не ставил этот wait, то в 100 случаев если человек кладет трубку во время плейбека, то он все равно попадает в очередь
        exten => s,n,Wait(2)
        ; Приоритет для звонков с мобилы
        exten => s,n,Set(QueuePrio=)
        exten => s,n,Set(SubTel=${CALLERID(number):0:4})
        exten => s,n,Set(SubTel2=${CALLERID(number):0:3})
        exten => s,n,GotoIf($[$["${SubTel}"=="8029"] | $["${SubTel}"=="8033"] | $["${SubTel}"=="8044"] | $["${SubTel}"=="8025"] | ["${SubTel2}"=="829"] | $["${SubTel2}"

=="833"] | $["${SubTel2}"=="844"] | $["${SubTel2}"=="825"]]?queuehigh:checknext)

        exten => s,n(queuehigh),Set(QueuePrio=1)
        exten => s,n(checknext),NoOp(${QueuePrio})
        ; Добавление в очередь

        exten => s,n,Queue(main-queue-rt,t,,,,,,,,${QueuePrio})

        exten => s,n,Hangup

     

     

        exten => 3,1,Hangup

     

        exten => i,1,Playback(beep)

        exten => i,n,Hangup

     

        exten => h,1,Wait(1)

        exten => h,n,System(/usr/bin/lame -V0 /var/spool/asterisk/monitor/${UNIQUEID}.wav /var/www/localhost/htdocs/monitor/${UNIQUEID}.mp3)

        exten => h,n,MYSQL(Connect connid HOSTNAME USERNAME PASSWORD asterisk)

        exten => h,n,MYSQL(Query resultid ${connid} INSERT INTO queue_log (time, callid, event, data2) VALUES (DATE_FORMAT(NOW(),"%Y-%m-%d %H:%i:%s.%f"),’${UNIQUEID}’,'HANGUP’,'${CALLERID(all)}’))

        exten => h,n,MYSQL(Disconnect ${connid})

        exten => h,n,NoOp(ActionHangup Execute)