среда, 28 ноября 2012 г.

PBX+Internet gateway

1) Добавляем необходимые интерфейсы vlan101, vlan102
и назначаем айпишки 10.10.10.1 и 10.10.20.1
/etc/network/interfaces

auto lo eth0 vlan101 vlan102 vlan_voip


iface eth0 inet static
        address external_ip
        netmask 255.255.255.252
        network external_network
        broadcast external_br
        gateway external_gw
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers   provider_dns
        dns-search cosmonova.net.ua

#vlan_voip
iface vlan_voip  inet static
        address voip_ip
        netmask 255.255.255.0
        vlan_raw_device eth0


#LAN INET
iface vlan101 inet static
        address 10.10.10.1
        netmask 255.255.255.0
        vlan_raw_device eth0

#LAN VOIP
iface vlan102 inet static
        address 10.10.20.1
        netmask 255.255.255.0
        vlan_raw_device eth0

перезагрузм интерфейсы /etc/init.d/networking


2) Ставим и настраиваем DHCPD в /etc/dhcpd.conf

ddns-update-style none;
default-lease-time 21600;
max-lease-time 43200;
option nis-domain               "nameofdomen";
option domain-name              "nameofdomen";
subnet 10.10.10.0 netmask 255.255.255.0 {
option routers                  10.10.10.1;
option subnet-mask              255.255.255.0;
option broadcast-address        10.10.10.255;
option domain-name-servers      8.8.8.8;
option tftp-server-name "10.10.10.1";
range 10.10.10.10 10.10.10.30;


subnet 10.10.20.0 netmask 255.255.255.0 {
option routers                  10.10.20.1;
option subnet-mask              255.255.255.0;
option broadcast-address        10.10.20.255;
option domain-name-servers      8.8.8.8;
option tftp-server-name "10.10.20.1";
range 10.10.20.10 10.10.20.30;

перезапустим /etc/init.d/dhcpd restart

3) Качаем http://rocky.eld.leidenuniv.nl/arno-iptables-firewall/arno-iptables-firewall_2.0.1b.tar.gz
и инсталируем через ./install.sh
проверяем чтобы скрипт сделал echo 1 >/proc/sys/net/ipv4/ip_forward
и перегружаемся

4) Правим  /etc/arno-iptables-firewall/firewall.conf

EXT_IF="eth0"
EXTERNAL_NET="external_ip/30"


INT_IF="vlan101 vlan102  vlan353"
INTERNAL_NET="10.10.10.0/24 10.10.20.0/24"

NAT="1"
NAT_STATIC_IP="external_ip"


NAT_INTERNAL_NET="10.10.10.0/24 10.10.20.0/24"
NAT_LOCAL_REDIRECT=1

NAT_FORWARD_TCP=""   #"8081>10.10.10.103~80 8082>10.10.10.104~80 8080>10.10.10.102~80"

DEFAULT_POLICY_DROP=1
TRUSTED_IF="vlan101 vlan102 vlan_voip"

IF_TRUSTS=""

LAN_OPEN_ICMP=1

LAN_INET_OPEN_ICMP=1

протестировать настройки можно несколькими способами:

1) применить до перегрузки 'invoke-rc.d arno-iptables-firewall start'
2) настроить через скрипт, configure.sh , но отказатся от автозапуска,
а если все ок, внести скрипт в автозагрузку созданием сылки
ln -sv /etc/init.d/arno-iptables-firewall /etc/rcS.d/S41arno-iptables-firewall
и
/sbin/insserv   arno-iptables-firewall
перегружаемся проверяем







четверг, 22 ноября 2012 г.

WL500GP1 "репы" для прошивки "энтузиастов"



Если вы "проапгредились" с прошивки Олега на прошивку от Энтузиастов, то столкнулись с тем что скрипт IPKG не работает. Все верно, теперь следует использовать OPKG .

Предварительно "разбив" флешку, перемонитруем в папку OPT.
$ mkdir /tmp/harddisk/opt 
$ mount -o bind /tmp/harddisk/opt /opt

Скачиваем и установливаем скрипт OPKG 
$ cd /opt 
$ wget http://wl500g-repo.googlecode.com/svn/ipkg/entware_install.sh 
$ sh ./entware_install.sh

Просмотреть список пакетов 
$ opkg list 
Установка пакета
$ opkg install mc






среда, 21 ноября 2012 г.

no password samba sharing, самба доступ для медиаплеера



Часто требуется просто открыть доступ по протоколу SAMBA без всяких ограничений, например для медиаплеера (Dune HD или raspberry pi) или PS2 и Open Loader.

Итак для UBUNTU или DEBIAN ставим:

$sudo apt-get install samba

Все настройки доступа делаем тут

$sudo vi /etc/samba/smb.conf

Выбираем интерефесы для доступа

interfaces = lo eth1 
bind interfaces only = true

Ищем и меняем параметры безопасности
security = share
 ... ... 
guest account = nobody

[Guest Share] 
 comment = Guest access share 
 path = /path/to/dir/to/share 
 browseable = yes 
 read only = yes 
 guest ok = yes


Проверить текущие настройки можно коммандой
$ testparm

Необходимо перезапустить службу протокола для применения изменений

$sudo /etc/init.d/samba reload

понедельник, 5 ноября 2012 г.

Asterisk stress test - SIPP

      Всегда полезно знать, сколько звонков можно выжать из вашего астериска, или какое колличество звонков может обеспечить ваш оператор, или принять ваш коллцентр.
          Сгенерировать необходимое колличество звонков, а также предоставить статистику
вам поможет  утилита sipp.
      Создадим пир через который утилита получит доступ к астериску:


[sipp]
type=friend
user=sipp
callerid=666
host=dynamic
canreinvite=no
context=from-sipp
dtmfmode=rfc2833
qualify=yes
allow=all

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


[from-sipp]
exten => _X.,1,Answer
exten => _X.,n,Dial(SIP/594123451/${EXTEN},60,KT)
или  exten => _X.,n,WaitMusicOnHold(20)


exten => _X.,n,HangUp

Утилиту запускаем с консоли, предварительно скомпилировав, или установив пакет.


/usr/sbin/sipp -sn uac -d 10000 -s 2345678  127.0.0.1  -l 200  -mp 5606 -r 2

где указываем 
-sn  - сценарий теста
--d     длительность свонка в мс
-s   номер куда будем звонить  
-l    общее колличество одновременных вызовов
-mp  порт для медиа трафика
-r     частота поступления вызовов
------------------------------------ sipp scenario -----------------------------------------
http://sipp.sourceforge.net/doc/reference.html#xmlsyntax

./sipp -sf myscenario.xml -t ui -inf database.csv -ip_field 2 192.168.1.1










понедельник, 15 октября 2012 г.

Дамп sip трафика для анализа в wireshark


Так удобно снимать дамп вызова для последущего анализа в wireshark
только сигнализация

tcpdump -nqt -s 0 -A -i eth0 port 5060
tcpdump -i eth0 -n -s 0 port 5060 -vvv -w file_dump.pcap - c выводом на экран

tcpdump -i eth0 -s 0 port 5060 -w file_dump2.pacap

весть трафик к хосту, в том чиcле rtp

tcpdump -i eth0 -s 0 host 10.1.1.1 -w full_dump.pcap

-vvv максимальная детализация
-n работать только с айпи без ДНС
-s 0 захватывать полные пакеты
-w запись в файл

С упаковкой каждый час

tcpdump -pni eth0 -s65535 -G 3600 -w 'trace_%Y-%m-%d_%H:%M:%S.pcap'

Упаковкой по 100Мб

 tcpdump -pni eth0 -s65535 -C 100 -w capture

Не работает
tcpdump -pni eth0 -s65535 -G 3600 -w 'trace_%Y-%m-%d_%H:%M:%S.pcap' -z gzip



tcpdump -nqt -s 0 -A -i eth0 port 5060

where:
-n do not convert IP address to DNS names
-q be quite, print less output informations
-t do not print timestamps
-s capture number of bytes from a packet, 0 = default iptions which is max 65535, or simply a whole packet
-A prints each packet in ASCI
-vvv be very very verbose
-i use interface to capture on
port 5060 listen for traffic ort 5060 traffic for (source and destination)


tcpdump -nq -s 0 -i eth0 -w /tmp/dump.pcap port 5060 


 tcpdump -nqt -s 0 -A -i eth1 host 172.22.77.38 and port 5060

Дампим сип траф в определенной сети по определенным портам
tcpdump -i ens192 -n -s 0 -vvv -C 500 -w sip_dump_vtb_$_now.pcap net 172.16.20.0/24 and dst port 5060 or 5080

sudo tcpdump -i any -s 0 -vvv -w all_voip_traff180725.pcap 'port 5060 or udp portrange 20000-30000'

Only sip+RTP
sudo tcpdump -i any -s 0 -vvv -w all_voip_traff180725.pcap 'port 5060 or udp portrange 20000-30000'




понедельник, 17 сентября 2012 г.

Как открыть порты для одного айпи в iptables?

Если в консоли, добавляем правила так,
например, откроем порт для SIP сигнализации
для определенного айпи, на одном из интерфейсов:

iptables -I INPUT -i eth0.123 -p udp -m udp -s  176.9.145.115 --dport 5060 -j ACCEPT
iptables -I INPUT -i eth0.123 -p udp -m udp -s  176.9.145.115/29 --dport 5060 -j ACCEPT
iptables -I INPUT -i eth0.123 -p udp -m udp -s 0.0.0.0/0 --dport 5060 -j DROP

где 176.9.145.115 - айпи сип оператора

Если используем iptables-restore < /имя_файла , тогда в добавляем в него:


-A INPUT -i eth0.123 -p udp -m udp -s  176.9.145.115 --dport 5060 -j ACCEPT
-A INPUT -i eth0.123 -p udp -m udp -s  176.9.145.115/29 --dport 5060 -j ACCEPT
-A INPUT -i eth0.123 -p udp -m udp -s 0.0.0.0/0 --dport 5060 -j DROP

А вот так для диапазона портов, для rtp трафика:

-A INPUT -i eth0.123 -p udp -m udp -s 176.9.145.115 --dport 10000:20000 -j ACCEPT

-A INPUT -i eth0.123 -p udp -m udp -s 0.0.0.0/0 --dport 10000:20000 -j REJECT



Важно помнить что iptables применяет правила в порядке сверху вниз
поэтому сначала указываем разрешенные сети, потом запрещаем доступ всем (0.0.0.0/0)
Указывать хосты или сети можно в следующем формате:

ip address: 176.9.145.115
DNS name: gate02.zadarma.com 
CIDR запись: 176.9.145.110/29

Настройка мотоподвеса STRONG 2100 в киеве

Общий порядок настройки мото-подвеса (Storm 2100, тарелка Triax 1,2м)

1) Необходимо выбрать "базовый" спутник для нашей местности, относительно которого подвес станет строго на юг. Для г. Вишневый, Киевская обл. (широта 50,23N и долгота 30,23E), это спутник Arabsat 2B(30,5E), но так как сигнал от него очень слаб, на практике берут Eurobird1- 28,5E или Astra 2A 2B 2D - 28,2E.
2) Поворачиваем хобот кнопками - ( 30,23-28,5=1,7грд), с учетом выбранного спутника.
Кнопки на корпусе мото-подвесса: одно нажатие на запад, два - на восток. В этом месте
можем также установить угол наклона с помощью USALS, используя наши координаты.
3) Устанавливаем угол элевации (наклона хобота) по шкале мотоподвеса, по формуле, на шкале
Elevation = 90 - широта = 90 - 50,23 = 39,77.  Latitude = широта.
4) Устанавливаем угол деклинации (наклон тарелки относительно хобота), из таблицы к тарелке - для широты 50грд ставим угол 22.
(Угол установки на тарелке = угол наклона хобота мотора - минус угол деклинации)
5) Вращаем тарелку с мотоподвесом на стойке, в горизонтальной плоскости, пока не "словим" выбранный спутник. Указав при этом уверенно вещающий транспондер.
6) Если словили спутник - подстраиваем тарелку углом деклинации, чтобы сигнал был максимальным.
7) Фиксируем мото-подвес на стойке.
8) Проверяем дугу Кларка по качеству сигнала с других спутников.