2014年4月28日 星期一

Google Compute Engine on Windows tutorial

1. First you need to install Cygwin 32 Bit version.
2. Running install Cygwin you need to install curl, wget, python library.
3. Use Cygwin run command "curl https://dl.google.com/dl/cloudsdk/release/install_google_cloud_sdk.bash | bash" to get fild.
4. Use Cygwin under google-cloud-sdk folder run command  "./install.sh".
5. Certification your account "gcloud auth login"
6. Open browser to Google Developers Console there have connection command.

~Finish~

2014年1月28日 星期二

fail2ban for asterisk tutorial

1. 安裝fail2ban
2. /etc/asterisk/logger.conf 設定

   [general]
   dateformat=%F %T

3. /etc/fail2ban/jail.conf 新增

   [asterisk-iptables]
   # if more than 4 attempts are made within 6 hours, ban for 24 hours
   enabled  = true
   filter   = asterisk
   ignoreip = 168.192.0.1
   action   = iptables-allports[name=ASTERISK, protocol=all]
              sendmail[name=ASTERISK, dest=you@yourmail.co.uk, sender=fail2ban@local.local]
   logpath  = /var/log/asterisk/messages*
   maxretry = 4
   findtime = 21600
   bantime = 86400

4. /etc/fail2ban/filter.d/asterisk.conf 新增下表(給Asterisk 1.8 and Asterisk 11使用)

# Fail2Ban configuration file
#
#
# $Revision: 251 $
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf


[Definition]

#_daemon = asterisk

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>\S+)
# Values:  TEXT
#
# Asterisk 1.8 uses Host:Port format which is reflected here

failregex = NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - Wrong password
           NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - No matching peer found
           NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - No matching peer found
           NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - Username/auth name mismatch
           NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - Device does not match ACL
           NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - Peer is not supposed to register
           NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - ACL error (permit/deny)
           NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - Device does not match ACL
           NOTICE.* .*: Registration from '\".*\".*' failed for '<HOST>:.*' - No matching peer found
           NOTICE.* .*: Registration from '\".*\".*' failed for '<HOST>:.*' - Wrong password
           NOTICE.* <HOST> failed to authenticate as '.*'$
           NOTICE.* .*: No registration for peer '.*' \(from <HOST>\)
           NOTICE.* .*: Host <HOST> failed MD5 authentication for '.*' (.*)
           NOTICE.* .*: Failed to authenticate user .*@<HOST>.*
           NOTICE.* .*: <HOST> failed to authenticate as '.*'
           NOTICE.* .*: <HOST> tried  to authenticate with nonexistent user '.*'
           VERBOSE.*SIP/<HOST>-.*Received incoming SIP connection from unknown peer
 
# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

5. service ufw restart (重啟iptables)
6. service fail2ban restart (重啟fail2ban)

註:ufw 為Ubuntu下重啟iptables指令, 其它版本Linux 應該都是用iptables

驗證
1. iptables -L -n (即可看到被iptables drop掉的IP)
2. fail2ban-client status asterisk-iptables (即可看到fail2ban監控狀態)
3. iptables -D fail2ban-ASTERISK -s 42.78.174.92 -j DROP (不小心4次驗證失敗IP被加到iptables, 將IP從iptables解放出來)

參考文件
1. http://www.fail2ban.org/wiki/index.php/Asterisk
2. http://tc.itkee.com/os/detail-28ad.html
3. http://askubuntu.com/questions/161551/how-to-start-stop-iptables-in-ubuntu-12-04
4. http://pulipuli.blogspot.tw/2011/07/centosfail2ban.html#postcata1389669540911_anchor17

2013年12月5日 星期四

Asterisk stress test, Asterisk壓力測試, Sipp tool

在sip.conf加入
[sipp]
type=friend
context=sipp
host=dynamic
port=6000
user=sipp
canreinvite=no
disallow=all
allow=alaw

在extensions.conf加入
[sipp]
exten => 2005,1,Progress
same => n,Ringing
same => n,Answer
same => n,MusicOnHold(10)
same => n,Hangup

sipp -sn uac -d 60000 -i Client位置 -s 2005 Server位置 -l 75

2013年10月8日 星期二

檢查網路Port是否能正常對外通訊

#>nmap -sU -p 5060 <IP address>

若對方網路封鎖Ping指令則使用

#>nmap -P0 -p 5060 <IP address>

2013年8月26日 星期一

ODBC libmyodbc.so, libodbcmyS.so miss or can't find

一般官網都是說在 /usr/lib/odbc/libmyodbc.so, /usr/lib/odbc/libodbcmyS.so 這個位置裡面。

但我使用Debian他卻在 /usr/lib/i386-linux-gnu/odbc里面。

找不到的人注意一下吧!!!

Ja-Liang

Build Asterisk 11 problem illegal instruction (Core dumped)

當你 Build 完 asterisk 11 執行 asterisk -r 指令時,出現 illegal instruction 這個回應,無法啟動 asterisk。

這時你只需要再次執行 "make menuselect" -> "Compiler flags" and disable "BUILD_NATIVE" 即可。

Reference