DHCPでIPは設定されている
電話機を接続して
*** 米印を3回押す
メッセージが聞こえてきたら 02 を押す
そうすると設定IPを読み上げてくれる
DHCPでIPは設定されている
電話機を接続して
*** 米印を3回押す
メッセージが聞こえてきたら 02 を押す
そうすると設定IPを読み上げてくれる
iphone5s にBriaをいれて使うが
着信がうまくいかない
iphone4、iphone4s, moto-g に問題はない
キープアライブができていない
いろいろしらべたがわからない
acrobitsにかえると着信に問題がなくなった
CLI> sip show peers
Name/username Host Dyn Forcerport Comedia ACL Port Status Description
201/201 107.170.***.*** D Auto (Yes) No A 61778 OK (183 ms)
status が OK であれば着信する
これは悪意のあるものがゲストで接続してきて
受け入れ先がないので起こる現象
これはSIP settingのSIPゲストを許可 をはいに設定すると悪意の接続IPが表示される
このIPを iptables -I INPUT -s 78.129.140.47 -j DROP これでブロックする
端末がsip接続するとasterisk serverにレジスト情報としてIPとポートが記録される
他の端末が先の端末を呼び出すときは先程のipとポートに接続する
サーバーのルーターはnat内の端末を特定できるのはルーターが経路を記憶している
ただこの記憶も Qualify=yes でないと消えてしまうので接続できたりできなかったりする
asterisk server に端末のipアドレスとポートが記録される
このIPとポートに呼び出しをかける
ただQualify=yesでないとこの情報が保持されなく消えてしまう
なので Qualify=ye は必須
NAT Mode も重要 YES -(force rport,comedia) を選ぶ
デバッグは *CLI> sip show peers で確認する
SIPゲストを許可 を はい に変更する
そうすると 接続先IPが表示されるので
これをiptablesでブロックする
asteriskを運用していたらひつこくアタックしてくる
vi /etc/fail2ban/filter.d/asterisk.conf
以下を追記する WARNING.* .: .*Rejecting unknown SIP connection from <HOST>. vi /etc/fail2ban/jail.local [asterisk] enabled = true filter = asterisk action = iptables-asterisk[name=asterisk] sendmail[name=Asterisk, dest=ckenko25@gmail.com, sender=root] logpath = /var/log/asterisk/full #logpath = /var/log/asterisk/security_log maxretry = 3 bantime = 1800 /etc/init.d/fail2ban restart
ルーターが経路を記憶しており
それが邪魔する場合がある
すべてのルーターを再起動する必要がある
*CLI> sip show peer
OKが表示されていれば正常
404/404 58.191.125.27 D Yes Yes A 1026 OK (111 ms)
下記の設定に変更で送付できるようになった
Fax Tone Detection Mode: Callee
opus 対応のため asterisk13に移行したが
このような現象があり解決できない
いろいろ検索、考えたが
apt-get remove asterisk13
apt-get install asterisk11
これで問題は解決した
opusは断念
ちなみにintel系のasterisk13にはこの問題はない
opusは正常に使えている
asterisk-13.15.0
apt-get install でいれるとこのバージョン
これは表題の現象で使えない
asterisk-13.13.1をインストールする
chan_dongle.so モジュールを対比させて戻す
cd /usr/src
wget https://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-13.13.1.tar.gz
tar zxvf asterisk-13.13.1.tar.gz
cd asterisk-13.13.1
./configure
make
cp /usr/lib/asterisk/modules/chan_dongle.so /home/ckenko25
apt-get remove asterisk13
make install
cp /home/ckenko25/chan_dongle.so /usr/lib/asterisk/modules
reboot
# apt-get update && apt-get upgrade # apt-get install build-essential # apt-get install dh-autoreconf
# cd /usr/local/src # wget http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/bcg729-1.0.0.tar.gz # tar xzf bcg729-1.0.0.tar.gz # cd bcg729-1.0.0 # ./configure --libdir=/lib # make # make install
# cd /usr/local/src # wget http://asterisk.hosting.lv/src/asterisk-g72x-1.4.tar.bz2 # tar -jxvf asterisk-g72x-1.4.tar.bz2 # cd asterisk-g72x-1.4 # ./autogen.sh # ./configure CFLAGS='-march=armv6' --with-asterisk130 --with-bcg729 --with-asterisk-includes=/usr/include # make # make install # reboot 参考サイト https://techfoxweb.wordpress.com/2017/02/23/g729-raspbx-in-raspberry-pi-3/
# apt-get update && apt-get upgrade # apt-get install build-essential # apt-get install dh-autoreconf
# cd /usr/local/src # wget http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/bcg729-1.0.0.tar.gz # tar xzf bcg729-1.0.0.tar.gz # cd bcg729-1.0.0 # ./configure --libdir=/lib # make # make install
# cd /usr/local/src # wget http://asterisk.hosting.lv/src/asterisk-g72x-1.4.tar.bz2 # tar -jxvf asterisk-g72x-1.4.tar.bz2 # cd asterisk-g72x-1.4 # ./autogen.sh # ./configure --with-asterisk140 --with-bcg729 --with-asterisk-includes=/usr/include # make # make install #reboot
# apt-get update && apt-get upgrade # apt-get install build-essential # apt-get install dh-autoreconf
# cd /usr/local/src # wget http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/bcg729-1.0.0.tar.gz # tar xzf bcg729-1.0.0.tar.gz # cd bcg729-1.0.0 # ./configure --libdir=/lib # make # make install
$ wget http://asterisk.hosting.lv/src/asterisk-g72x-1.2.tar.bz2 $ tar xjf asterisk-g72x-1.2.tar.bz2 $ cd asterisk-g72x-1.2 $ ./autogen.sh $ ./configure --with-bcg729 $ make $ sudo make install
codec_g729.so このファイルができているか?
ls /usr/lib/asterisk/modules/codec_g729.so
systemctl asterisk restart
asterisk -rvvvv
*CLI> core show translation recalc 10
apt-get install isc-dhcp-server vi /etc/dhcp/dhcpd.conf コメントにする #option domain-name "example.org"; #option domain-name-servers ns1.example.org, ns2.example.org; コメントを取る # If this DHCP server is the official DHCP server for the local # network, the authoritative directive should be uncommented. authoritative; 最終行に追記
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.50 192.168.1.100; option broadcast-address 192.168.1.255; option routers 192.168.1.1; default-lease-time 600; max-lease-time 7200; option domain-name "local"; option domain-name-servers 8.8.8.8, 8.8.4.4; } vi /etc/default/isc-dhcp-server #IINTERFACES="" NTERFACES="eth0" 再起動
service isc-dhcp-server restart
これでIP一覧が出てくる
apt-get install nmap
nmap -sP 192.168.1.1-255
apt-get install dnsmasq
cd /etc mv resolv.conf resolv.conf.dnsmasq vi /etc/dnsmasq.conf
# Change this line if you want dns to get its upstream servers from # somewhere other that /etc/resolv.conf resolv-file=/etc/resolv.conf.dnsmasq
apt-get install dnsutils dig archlinuxjp.org | grep "Query time"
;; Query time: 18 msec
dig archlinuxjp.org | grep "Query time"
;; Query time: 2 msec 最初 18 msec が 2msec になっているのでキャッシュされている
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 5061 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 4569 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 5038 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5060 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 5061 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptablesのルールを保存する
iptables-save > /etc/iptables.conf
vi /etc/rc.local
#追記
# Load iptables rules from this file
iptables-restore < /etc/iptables.conf
iptablesの解除
iptables -F
iptablesの再適用
iptables-restore < /etc/iptables.conf
iptables -L
ある程度原因が判明した
途切れるときはacrobits のサーバーに接続されていないことがわかった
この現象はasterisk11では起こらない
この現象は夜にasterisk13で発生する
当日でも発生するときとしない時がある
3G 4Gで発生する
ドコモの回線が混んでいてうまく接続されない時があるかも?
まーひつこい
vi /etc/fail2ban/jail.local
[DEFAULT]
bantime = 864000 ; 10 day
ignoreip = 127.0.0.1/8
banaction = iptables-multiport
[asterisk]
enabled = true
filter = asterisk
action = iptables-asterisk[name=asterisk]
….
vi /etc/fail2ban/action.d/iptables-multiport.conf
….
actionstart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j RETURN
iptables -I <chain> -p <protocol> -m multiport –dports <port> -j fail2ban-<name>
cat /etc/fail2ban/ip.blacklist | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j DROP; done
….
touch /etc/fail2ban/ip.blacklist
chmod 755 /etc/fail2ban/ip.blacklist
/etc/fail2ban/ip.blacklist この中にブロックしたいipを記述する
/etc/ini.d/fail2ban restart
iptables -L
Chain fail2ban-ssh (1 references)
target prot opt source destination
DROP all — 103.fr.dedicated.sh anywhere
DROP all — srv1317.fastwebserver.de anywhere
DROP all — 51-15-161-145.rev.poneytelecom.eu anywhere
DROP all — 51-15-161-156.rev.poneytelecom.eu anywhere
DROP all — 246-166-172-163.rev.cloud.scaleway.com anywhere
RETURN all — anywhere anywhere