четверг, 6 сентября 2018 г.

trunk порт c Cisco 2960 на ip-телефон Cisco

На порте:

interface GigabitEthernet1/0/4
 description trunk_port
 switchport trunk native vlan 15
 switchport trunk allowed vlan 15,116
 switchport mode trunk
 spanning-tree portfast

На телефоне:


Фрагмент провижининга:

<Enable_VLAN group="System/VLAN_Settings">Yes</Enable_VLAN>
<Enable_CDP group="System/VLAN_Settings">Yes</Enable_CDP>
<Enable_LLDP-MED group="System/VLAN_Settings">Yes</Enable_LLDP-MED>
<Network_Startup_Delay group="System/VLAN_Settings">3</Network_Startup_Delay>
<VLAN_ID group="System/VLAN_Settings">116</VLAN_ID>
<PC_Port_VLAN_Highest_Priority group="System/VLAN_Settings">No Limit</PC_Port_VLAN_Highest_Priority>
<Enable_PC_Port_VLAN_Tagging group="System/VLAN_Settings">No</Enable_PC_Port_VLAN_Tagging>
<PC_Port_VLAN_ID group="System/VLAN_Settings">1</PC_Port_VLAN_ID>

среда, 20 июня 2018 г.

полезные команды

Сбросить ARP-кэш
ip -s -s neigh flush all

 Добавить пользователя в группу:
usermod -a -G группа пользователь

Удалить пользователя из группы:
 gpasswd -d пользователь группа

Удалить файлы в каталоге в соответствии со списком:
rm $(cat /root/rr.txt)

Показать содержимое файла без комментов:
cat /etc/asterisk/res_odbc.conf | grep -v "^;"

Перевести сожержимое строк начинающих с macaddress в нижний регистр, в файлу file.conf: 
/bin/sed -i '/macaddress/s/.*/\L&/' file.conf

Показать 10 самых больших файлов в /home
find /home -mount -type f -ls 2> /dev/null | sort -rnk7 | head -10 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'

поставить символ # в начало строки, содержащей текст:
sed -i '/текст/s/^/#/' file.txt

убрать символы # в начале строки, содержащей текст:
sed -i '/текст/s/^#\+//' file.txt

поставить символ # в начало строки, содержащей текст, и начинающейся не с символа #:

sed -i '/^[^#].*текст/s/^/#/' file.txt

Вывести совпадения:
в каталоге:
cat * | sort | uniq -cd

в файле:
cat  /path/to/file | sort | uniq -cd

вторник, 5 июня 2018 г.

Настройка сети в Ubuntu-server 18.04

Вместо привычного /etc/network/interfaces, в Ubuntu 18.04 сеть
настраивается в файлах в каталоге /etc/netplan/. Вот так, например,
выглядит настройка статического адреса для интерфейса enp0s3.

cd /etc/netplan/
cat 01-netcfg.yaml

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
     dhcp4: no
     addresses: [192.168.1.222/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [8.8.8.8,8.8.4.4]


Так настраивается динамика:

cat 01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes


Важно соблюдение отступов!


После настройки сделать:


sudo netplan apply

понедельник, 28 мая 2018 г.

bonding

Делалось на Ubuntu 14.04:

1. apt-get install ifenslave
2. echo 'bonding' > /etc/modules
2. nano /etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
    address 192.168.1.225
    netmask 255.255.255.128
    network 192.168.1.128
    broadcast 192.168.1.255
    gateway 192.168.1.129
    dns-nameservers 192.168.1.1 192.168.1.2
    domain domain.local
    search domain.local
    slaves eth0 eth1
    bond_mode 4
    bond_xmit_hash_policy layer2+3
    bond_miimon 100
    bond_downdelay 200
    bond_updelay 200

auto eth0
iface eth0 inet manual
        bond-master bond0

auto eth1
iface eth1 inet manual
        bond-master bond0


4. shutdown -r now

На Cisco 2960:

interface Port-channel6
 description bkpserv
 switchport access vlan 108
 switchport mode access

interface GigabitEthernet1/0/14
 switchport access vlan 2
 switchport mode access
 channel-protocol lacp
 channel-group 6 mode active

interface GigabitEthernet1/0/15
 switchport access vlan 2
 switchport mode access
 channel-protocol lacp
 channel-group 6 mode active


суббота, 17 марта 2018 г.

Asterisk подключение к СУБД используя ODBC.

Тут речь о дебианоподобных.
Сначала надо установить сам ODBC:

apt-get install unixodbc unixodbc-dev libmyodbc

Затем отредактировать файл (он есть в системе, но пуст):
nano /etc/odbcinst.ini
следующим образом:
[MySQL]
Description     = ODBC for MySQL
Driver          = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup           = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage       = 1


Изменение диалплана нажатием клавиш на телефонном аппарате.

Мне приходится работать в организации, которая помимо других сфер деятельности, также является и Интернет-провайдером. Как и у любого провайдера у нас бывают проблемы на сети. В таком случае, в саппорт сразу поступает большое количество звонков, и чтобы сообщить абонентам, что их проблема известна, над ее решением уже работают, был использован нехитрый набор действий. Суть в том, что в диалплан скриптом вставляется строчки, которые запускают проигрывание файла сообщающего о проблеме, при устранении проблемы, так же скриптом строчка убирается.

Диалплан:

Контекст сервисного номера:


.................................

[internal]
exten = 7934,1,Goto(Problem_ISP,s,1)

.................................

[Problem_ISP]
exten => s,1,NoOp(- Problem_ISP -)
exten => s,n,Authenticate(8725)
exten => s,n(service),Background(problem_ISP) ;тут голосовое меню - типа если есть проблема нажмите "1", если нет проблемы, и надо вернуть как было прежде нажмите "2"
exten => s,n,WaitExten(5)
exten => 1,1,System(/home/change/change.sh) ;скрипт меняющий диалплан
exten => 2,1,System(/home/change/unchange.sh) ;скрипт убирающий изменения
exten => t,1,Hungup()
.................................

Сами скрипты:
change.sh

#!/bin/bash
sed -i 's/exten => i,1,Playback(please_wait_on_line2)/exten => i,1,Playback(problem)/g' /etc/asterisk/extensions.conf
sed -i 's/exten => t,1,Playback(please_wait_on_line2)/exten => t,1,Playback(problem)/g' /etc/asterisk/extensions.conf
sed -i 's/exten = 1,1,Playback(please_wait_on_line2)/exten = 1,1,Playback(problem)/g' /etc/asterisk/extensions.conf
sed -i 's/exten = 2,1,Playback(please_wait_on_line2)/exten = 2,1,Playback(problem)/g' /etc/asterisk/extensions.conf
/usr/sbin/asterisk -rx 'dialplan reload'


unchange.sh

#!/bin/bash
sed -i 's/exten => i,1,Playback(problem)/exten => i,1,Playback(please_wait_on_line2)/g' /etc/asterisk/extensions.conf
sed -i 's/exten => t,1,Playback(problem)/exten => t,1,Playback(please_wait_on_line2)/g' /etc/asterisk/extensions.conf
sed -i 's/exten = 1,1,Playback(problem)/exten = 1,1,Playback(please_wait_on_line2)/g' /etc/asterisk/extensions.conf
sed -i 's/exten = 2,1,Playback(problem)/exten = 2,1,Playback(please_wait_on_line2)/g' /etc/asterisk/extensions.conf
/usr/sbin/asterisk -rx 'dialplan reload'

ну и выставим права:

cd /home/change
chown asterisk:asterisk change.sh
chown asterisk:asterisk unchange.sh
chmod 755 change.sh
chmod 755 unchange.sh



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


вторник, 13 марта 2018 г.

Multicast вещание

Multicast вещание нескольких видео файлов на multicast IP-адреса 239.255.1.1 и 239.255.1.2

0. apt-get install vlc

Вещаем по RTP, консоль сервера:
===========
1. vlc --ttl 12 --color -I telnet --telnet-password 123

2. Открываем вторую консоль на том же хосте
telnet localhost 4212

3.
> new channel1 broadcast enabled
> setup channel1 input /path/to/file_1.avi
> setup channel1 output #rtp{mux=ts,dst=239.255.1.1,sap,name="Channel1"}
> new channel2 broadcast enabled
> setup channel2 input /path/to/file_2.avi
> setup channel2 output #rtp{mux=ts,dst=239.255.1.2,sap,name="Channel2"}
> control channel1 play
> control channel2 play

На клиенте:
========
запускаем vlc проигрыватель
нажимаем «Инструменты» -> «Настройки», там, в нижнем левом углу жмем в «Показывать настройки» на «Все», затем раскрываем «Вывод потока», а там ищем «Модули вывода», в поле «Интерфейс вывода IPv4 multicast» пишем IP-адрес, который прописан на вашей сетевой карте ( смотрящей в сторону сервера вещающего поток), жмем «Сохранить»

Для просмотра потока по RTP:

После того как выполнили настройки: «Файл» ->«Открыть URL»
в строке MRL пишем:
rtp://@239.255.1.1:5004 (что бы посмотреть видео из файла file_1.avi)
или
rtp://@239.255.1.2:5004 (что бы посмотреть видео из файла file_2.avi соответственно)

Источник:
http://subnets.ru/blog/?p=12