2021年8月10日 星期二

Dedian 10 關閉休眠

Dedian 10 經過20分鐘後會進入休眠而導致斷線 
似乎是因為安裝了GNOME而造成的 
要取消網卡休眠: 

1.將(AC跟電池)休眠時間設為0 
vim /etc/gdm3/greeter.dconf-defaults
sleep-inactive-ac-timeout=0
sleep-inactive-ac-type='blank'
sleep-inactive-battery-timeout=0
sleep-inactive-battery-type='blank'

cp /etc/gdm3/greeter.dconf-defaults /usr/share/gdm/greeter.dconf-defaults


 2.重新啟動 gdm3 
systemctl restart gdm3 

3.關閉 PCI-E 的 ASPM (主動狀態電源管理) 
vim /etc/default/grub
pcie_aspm=off

4.重新載入 GRUB 
update-grub && sudo update-grub2 

5.關閉休眠服務
systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

6.重新開機後放置20分鐘後也不會進入休眠

開發人員工具 出現 網路集合代理程式無法啟動

在IE的 開發人員工具 出現 網路集合代理程式無法啟動 的錯誤 
修復方式為:
以系統管理員身分執行 命令提示字元 輸入執行
sc config diagnosticshub.standardcollector.service start=demand
即可修復網路分析的功能

2012年10月24日 星期三

不登入 X-Windows 就啟動 VNC Server


在 X-Windows 安裝 VNC Server (vino) 時會發現,必須要登入後才會啟動服務。
想在登入前就啟動 VNC 必須安裝另一套服務

1.安裝 x11vnc
 yum install x11vnc

2.修改設定
vim /etc/X11/xorg.conf

在 "Screen" 區塊裡新增:
Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
        Option "SecurityTypes" "VncAuth"       #新增
        Option "UserPasswdVerifier" "VncAuth" #新增
        Option "PasswordFile" "/root/.vnc/passwd" #新增
EndSection

在最後新增 "Module" 區塊
Section "Module"
  Load "vnc"
EndSection

3.設定 VNC 密碼
vncpasswd


2011年4月21日 星期四

Android 編譯時遇到 LOCAL_MODULE_TAGS 的錯誤

編譯時載入模組有時會出現錯誤.....

如果在編譯時出現下列訊息:

build/core/base_rules.mk:74: *** Module name: 01-test
build/core/base_rules.mk:75: *** Makefile location: external/dhcpcd

build/core/base_rules.mk:76: *
build/core/base_rules.mk:77: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:78: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:79: *
build/core/base_rules.mk:80: * optional, debug, eng, tests, samples
build/core/base_rules.mk:81: *
build/core/base_rules.mk:82: * If the module is expected to be in all builds
build/core/base_rules.mk:83: * of a product, then it should use the
build/core/base_rules.mk:84: * "optional" tag:
build/core/base_rules.mk:85: *
build/core/base_rules.mk:86: * Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:87: * Android.mk for the affected module, and add
build/core/base_rules.mk:88: * the LOCAL_MODULE value for that component
build/core/base_rules.mk:89: * into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:90: * makefile(s) where it's necessary, if
build/core/base_rules.mk:91: * appropriate.
build/core/base_rules.mk:92: *
build/core/base_rules.mk:93: * If the component should be in EVERY build of ALL
build/core/base_rules.mk:94: * products, then add its LOCAL_MODULE value to the
build/core/base_rules.mk:95: * PRODUCT_PACKAGES section of
build/core/base_rules.mk:96: * build/target/product/core.mk
build/core/base_rules.mk:97: *
build/core/base_rules.mk:98: *** user tag detected on new module - user tags are only supported on legacy modules. Stop.

只需要看第二行 『Makefile location: external/dhcpcd』 的 external/dhcpcd 路徑下,
修改 Android.mk ,
找到第一行的 『Module name: 01-test』的 LOCAL_MODULE := 01-test,
在下面加入 LOCAL_MODULE_TAGS := optional 即可

或是
有找到 LOCAL_MODULE_TAGS := user 的話
改成 LOCAL_MODULE_TAGS := optional

2011年3月23日 星期三

自訂記錄檔輪替 logrotate

建立編輯 /etc/logrotate.d/ 下的檔案,例如:

vim /etc/logrotate.d/asterisk

※執行 logrotate 會自動匯入/etc/logrotate.d/ 下的檔案執行

內容格式為:
/var/log/asterisk/messages {
weekly
size=10M
rotate 5
nocompress
}

※/var/log/asterisk/messages 為要進行處理的記錄檔

※weekly 為每週更換一次紀錄檔,另有 daily 每日、monthly 每月

※size=10M 為紀錄檔的上限,超過即會更換記錄檔,另有單位 k

※rotate 5 為保留紀錄檔的數量,檔名會以 messages.1~messages.5 方式命名,數字越大的越舊
nocompress 為紀錄檔不壓縮,壓縮為 compress  
儲存後,可執行 logrotate -v -f /etc/logrotate.conf 來立即處理記錄檔的輪替


2011年3月18日 星期五

Asterisk的canreinvite

想要讓兩支分機通話封包直接互相傳送,而不經過Server,藉以藉低伺服器的負擔,可以修改 sip.conf裡分機設定的canreinvite。

reinvite的限制如下:
  • 互通分機需都設成 canreinvite=yes
  • 分機本身必須支援通話所用的 codecs,不能透過 Asterisk 去轉譯
  • extensions.conf裡 Dial() 指令不能包含有 ''t''、''T"、"h"、"H"、"w"、"W"、"L"
還有一個特殊情況是當環境裡需要監聽DTMF時也不能 reinvite,如果要讓部分分機放棄監聽而可以 reinvite 的話,可以試試看在 sip.conf 裡指定 dtmfmode=info

2011年2月23日 星期三

封鎖暴力入侵(更新版 V1)

新版本更新POP3登入錯誤紀錄的的篩選規則
及更新時間變數的BUG

使用方法如前版本 封鎖POP3暴力入侵 ,只需更新程式檔即可。

新增:
◎blockpop3.pl:新增POP3紀錄判斷 ( 下載 )

更新:
◎blockpop3:主程式,進行頻率分析、封鎖 ( 下載 )
◎blocktime.pl:LOG時間判斷程式 ( 下載 )


未更新:
◎blockmsg.pl:訊息通知程式 ( 下載 )  
◎blocksasl.pl:SASL判斷 ( 下載 )

2010年8月23日 星期一

檔案複寫服務的 JRNL_WRAP_ERROR 錯誤

在事件檢視器的"檔案複寫服務"出現下列錯誤時:

檔案複寫服務偵測出複本組 "DOMAIN SYSTEM VOLUME (SYSVOL SHARE)" 在 JRNL_WRAP_ERROR 狀態。
複本組名稱是: "DOMAIN SYSTEM VOLUME (SYSVOL SHARE)"
複本根路徑是: "c:\windows\sysvol\domain"
複本根磁碟區是: "\\.\C:"
複本組發生 JRNL_WRAP_ERROR,因為它嘗試讀取 NTFS USN 日誌,但找不到這個日誌。 這可能是因為下列原因所導致。
[1] 磁碟區 "\\.\C:" 已經被格式化。
[2] 在磁碟區 "\\.\C:" 的 NTFS USN 日誌已被刪除。
[3] 在磁碟區 "\\.\C:" 的 NTFS USN 日誌已被截斷。如果 Chkdsk 在日誌 結尾發現損毀的項目,就有可能會截斷日誌。
[4] 檔案複寫服務已經有很長一段時間並未在這台電腦上執行。
[5] 檔案複寫服務跟不上 "\\.\C:" 磁碟 IO 活動的速度。
設定 "Enable Journal Wrap Automatic Restore" 登錄參數為 1 將造成 下列修復步驟自動修復錯誤狀態。
[1] 在 5 分鐘內會執行第一次輪詢,並從複本組上刪除這台電腦。 如果您不想等候 5 分鐘,可以先執行 "net stop ntfrs",再執行 "net start ntfrs",以重新啟動檔案複寫服務。
[2] 刪除這台電腦之後,後續的輪詢會將它重新加入複本組。 重新加入的動作會觸發整個複本組樹狀目錄的同步處理。
警告: 在修復過程中,複本樹狀目錄中的資料可能無法使用。如果這 個錯誤繼續發生,您應該將上述的登錄參數重設為 0,以避免自動修復 意外地將資料變成無法使用。
如果要變更這個登錄參數,請執行 regedit。
請按 [開始] 功能表、[執行],然後輸入 regedit。
展開 HKEY_LOCAL_MACHINE。
請按機碼路徑:
"System\CurrentControlSet\Services\NtFrs\Parameters"
請在下列值名稱上按兩下:
"Enable Journal Wrap Automatic Restore"
並更新值。
如果值名稱不存在,您可以使用 [編輯] 功能表 New->DWORD 值的功能來新增它。 請輸入如上所顯示的正確值名稱。

請在 http://go.microsoft.com/fwlink/events.asp 查看說明及支援中心,以取得其他資訊。


除了事件記錄中建議的新增 "Enable Journal Wrap Automatic Restore" 值外(光是這個步驟似乎沒用),還有另一個處理方式:

1. 停止 FRS 服務
net stop ntfrs

2. 執行 Regedt32.exe

3. 找到下列值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process at Startup\BurFlags

4. 修改十六進位值為:D2

5. 關閉Regedt32

6. 啟動 FRS 服務

net start ntfrs



資料來源:http://blogs.technet.com/b/csstwplatform/archive/2008/11/16/account-lockout.aspx



2010年8月10日 星期二

JavaScript 取小數點

JavaScript 要取到小數點下的指定位數,要四捨五入時有內建的toFixed()函數可使用,

例:
var num = new Number(13.3714);
document.write(num.toFixed());
document.write(num.toFixed(1));
document.write(num.toFixed(3));
document.write(num.toFixed(10));

結果:
13
13.4
13.371
13.3714000000


若要無條件捨去或無條件進位,則可利用Math Object 來達成。

1.使用Math.floor()無條件捨去

例:
var num = new Number(13.3714);
Math.floor(num*100)/100;
Math.floor(num*10)/10;

結果:
13.37
13.3

2.使用Math.ceil()無條件進位

例:
var num = new Number(13.3714);
Math.ceil(num*100)/100;
Math.ceil(num*10)/10;

結果:
13.38
13.4

2010年7月21日 星期三

安裝 SQL Server 2008 時,出現效能計數器登錄區已損毀的錯誤

我是在移除SQL Server 2005要安裝SQL Server 2008時出現。

1.執行regedit
2.找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004
3.點開 CounterHelp看最後顯示的數字(約倒數第二行)
4.將數字對應到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib 的 Last CounterLast Help ,修改為相同的數字,需注意十進位與十六進位,可在輸入時將右邊底數先選擇十進位,輸入完成後再改成十六進位即會自動換算。

2010年2月26日 星期五

型男碟PATRIOT XPORTER XT BOOST 16G

在PCHOME買了 PATRIOT XPORTER XT BOOST 16G ,1288元

圖片來源:美商博帝
出廠預設的速度測試....

格式化成NTFS 32K的速度測試

果然格式化成NTFS 32K有比較快....就這樣~掰~

2010年2月3日 星期三

輕鬆安裝WEBMIN By YUM

系統使用:CentOS 5

1.新增WEBMIN站台
vim /etc/yum.repos.d/webmin.repo

[Webmin] name=Webmin Distribution Neutral baseurl=http://download.webmin.com/download/yum enabled=1

2.新增WEBMIN站台GPG key

rpm --import http://www.webmin.com/jcameron-key.asc

3.YUM安裝WEBMIN

yum install webmin

4.登入WEBMIN
http://localhost:10000/

2010年1月27日 星期三

封鎖暴力入侵(更新版)

新版本加入SASL的錯誤偵測,可以用來防止SMTP的字典攻擊

使用方法如前版本 封鎖POP3暴力入侵 ,只需更新程式檔即可。

◎blockpop3:主程式,進行頻率分析、封鎖 ( 下載 )
◎blocktime.pl:LOG時間判斷程式 ( 下載 )
◎blockmsg.pl:訊息通知程式 ( 下載 )  
◎blocksasl.pl:SASL判斷 ( 下載 )

2010年1月7日 星期四

Win7、Vista 開啟被防火牆阻擋的網路地圖 By SEP

Windows 7 及 Vista上『網路地圖』(Network Map)功能所使用的LLTD,常常在使用非內建的防火牆後被阻擋而無法畫出網路環境,這時需要開啟連結層拓撲探索 (LLTD)。以 Symantec Endpoint Protection 11 為例:

1.架構防火牆規則
2.新增規則
3.規則名稱自訂
4.動作選擇允許此流量
5.通訊埠與通訊協定
6.通訊協定選擇乙太網路
7.乙太網路類行自行輸入
『0x88D9

確定加入規則後,即可在網路地圖中看到你的鄰居~

[PHP] 進行 HTTP 認証

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>


使用
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
可使瀏覽器跳出要求輸入帳號密碼驗證的對話視窗

使用
$_SERVER['PHP_AUTH_USER']
$_SERVER['PHP_AUTH_PW']
可取得輸入的帳號及密碼

資料來源:
PHP 手冊 http://ftp.cse.yzu.edu.tw/pub/Mirror/php_manual/features.http-auth.html



2009年12月14日 星期一

上班時間種田是沒薪水的~By Squid 定時規則

上班時間為09:00~18:00,午休時間12:00~13:00開放自由上網

1.在squid.conf裡加入幾條規則
 vim /etc/squid/squid.conf

◎設定休息時間
acl RestTime time 12:00-13:00

◎設定上班時間
acl WorkTime time MTWHF 9:00-18:00

◎設定禁止連線的網域(參考用)
acl Deny_Domain dstdomain .1001ya.com.tw .17funtv.com .51mole.com.tw .6-10.com.tw .6npc.com .6waves.com .941wan.com.tw .Plurk.com .aido.com.tw .battleknight.tw .bitefight.tw .buboo.tw .chinesegamer.net .cmwebgame.com .e72play.com .elex-tech.us .facebook.com .gamelet.com .gamez.com.tw .gindis.com .gladiatus.tw .godgame.com.tw .goldsky.com.tw .hugashaga.com.tw .ikariam.tw .joyct.com .katsuro.tw .kingsage.tw .meropar.tw .miniworld.com.tw .myspace.com .nindou.com.tw .ogame.tw .oldtu.com .playfish.com .po.msn.com.tw .roida.no-ip.org .serverhk.net .shuaing.com .tanoth.tw .timeheros.com .travian.tw .truehero.com.tw .twitter.com .wayi.com.tw .web3go.com.tw .webgame.pchome.com.tw .wlb.com.tw .wowuc.cn .ya7.com.tw .zynga.com

◎設定禁止連線的IP(參考用)
acl Deny_IP dst 114.80.75.220/32 122.116.31.92/32 122.146.203.228/32 123.110.200.35/32 123.55.248.26/32 125.67.235.199/32 168.143.162.64/26 174.120.26.218/32 174.37.227.82/32 199.71.212.91/32 202.153.175.126/32 203.73.22.132/32 204.74.66.132/32 204.74.67.132/32 207.46.61.31/32 210.17.20.96/27 210.242.32.192/26 210.242.34.22/32 210.59.145.150/32 210.59.230.184/32 211.72.255.76/32 211.76.177.154/32 216.178.38.116/32 216.86.150.58/32 216.97.228.247/32 217.160.6.64/32 219.84.193.1/32 219.90.126.148/32 220.130.112.187/32 220.228.196.240/29 24.143.195.43/32 59.120.84.206/32 60.199.197.177/32 61.188.178.51/32 61.31.192.1/32 61.31.192.56/29 61.31.192.80/30 61.31.224.110/32 61.61.132.34/32 61.63.43.97/32 61.63.52.81/32 61.67.128.128/30 61.67.168.150/32 61.67.212.224/27 66.151.151.149/32 69.63.176.101/32 69.63.176.8/30 69.63.181.8/29 69.63.184.142/32 69.63.185.11/32 69.63.186.0/26 69.63.187.0/27 69.63.191.219/32 69.63.191.91/32 69.65.42.218/32 72.249.23.165/32 72.44.35.31/32 74.208.147.52/32 74.208.155.165/32 74.208.167.108/32 74.208.44.207/32 74.208.79.164/32 74.208.98.38/32 87.106.71.99/32


◎先設定午休時間允許的規則
http_access allow Deny_Domain RestTime
http_access allow Deny_IP RestTime

◎再設定上班時間拒絕的規則
http_access deny Deny_Domain WorkTime
http_access deny Deny_IP WorkTime

※squid的規則是越前面的規則優先順序越高。
※http_access allow 跟 deny後規則的邏輯是AND,兩個條件皆成立時才會作用。

2.套用規則
/usr/sbin/squid -k reconfigure

2009年11月3日 星期二

[PHP]指定範圍字串擷取、字串(數字)範圍判斷

因為某些特殊原因,所以做了這兩個FUNCTION.....

◎可以在字串中取出兩特定關鍵字內的字串

function CatchStr($Str, $StaKey, $EndKey){
 $StaPos = strpos($Str, $StaKey);
 $EndPos = strpos($Str, $EndKey);
 $StaLen = strlen($StaKey);
 $EndLen = strlen($EndKey);

 $CatchKey = substr($Str, $StaPos + $StaLen , $EndPos - $StaPos - $EndLen);
 $OtherKeyA = substr($Str, 0, $StaPos);
 $OtherKeyB = substr($Str, $EndPos + $EndLen);

 return array($CatchKey, $OtherKeyA, $OtherKeyB);
}


CatchStr(字串, 開頭關鍵字, 結尾關鍵字)

例:
$Str = "ABCDE{1234567890}FGHIJK";
$StrArray = CatchStr($Str, "{", "}");
結果:
$StrArray[0] = 1234567890
$StrArray[1] = ABCDE
$StrArray[2] = FGHIJK



◎可以判斷把字串中數字做範圍比較


function SearchNum($Str, $Target, $CountSym = ",", $ToSym = "-"){
 $StrArray = explode($CountSym, $Str);

 foreach ($StrArray as &$value) {
  if (strpos($value, $ToSym)) {
   $VarArray = explode($ToSym, $value);
   if ($VarArray[0] <= $Target && $Target <= $VarArray[1]){
    $Touch = "true";
   }else{
    $Touch = "false";
   }
  }else{
   if ($value == $Target){
    $Touch = "true";
   }else{
    $Touch = "false";
   }
  }
 }
 return $Touch;
}

SearchNum(字串, 欲尋找的目標數值, 每筆資料的分隔符號(預設 , ), 連續資料的連接符號(預設 - ))

例:
$Str = "1,2,3,4,5,6-10,11,12,13";
$StrAns = SearchNum($Str, 8);
結果:
$StrAns = "true"


例:
$Str = "1,2,3,4,5,6,10,11,12,13";
$StrAns = SearchNum($Str, 8);
結果:
$StrAns = "false"



其實這兩個Function還沒有很完美,
CatchStr()還不能判斷字串中有多個關鍵符號,目前只能取第一次出現的關鍵符號。
SearchNum()還不能判斷連續數字的大小順序,只能由小到大判斷。

以後有空在改版~ :P

2009年10月29日 星期四

網路開機 Wake on Lan

◎在Windows下,使用命令列網路開機
1.從Depicus下載WoL Command Line程式
2.解壓縮後得到WolCmd.exe
3.從命令列執行或是寫成批次擋執行
EX.
d:\wolcmd 001122334455 200.210.230.240 255.255.255.240
d:\wolcmd 00aabbccddee 10.0.0.254 255.255.255.0

Depicus官網: http://www.depicus.com/wake-on-lan/

Depicus下載: http://www.depicus.com/download.aspx?product=commandline


◎在Linux下,使用命令列網路開機
1.使用RPM安裝
rpm -ivh http://gsd.di.uminho.pt/jpo/software/wakeonlan/downloads/wakeonlan-0.41-0.fdr.1.noarch.rpm
2.執行 wakeonlan
EX.
一般喚醒
wakeonlan 00:11:22:33:44:99
指定IP跟PORT
wakeonlan -i 192.168.1.1 -p 7 00:11:22:33:44:99

官網: http://gsd.di.uminho.pt/jpo/software/wakeonlan/

2009年10月22日 星期四

使用tc進行限流(QOS)

系統使用CentOS 5.1
使用內建的tc指令進行限流

1.編輯tc規則
◎此例是與iptables規則檔放在一起,也可另外存放執行

vim /etc/iptables.rule

#設定網卡參數

WAN_IF="eth0"

LAN_IF="eth1"

#下載限流規則(針對內部網卡)
##清除規則
/sbin/tc qdisc del dev $LAN_IF root 2>/dev/null
##設定預設群組
/sbin/tc qdisc add dev $LAN_IF root handle 10: htb default 30
##設定群組總流量,rate保障頻寬、ceil限制頻寬
/sbin/tc class add dev $LAN_IF parent 10: classid 10:1 htb rate 256kbps ceil 256kbps
##設定各群組限流,prio為分配頻寬的優先順序
/sbin/tc class add dev $LAN_IF parent 10:1 classid 10:10 htb rate 64kbps ceil 256kbps prio 1
/sbin/tc class add dev $LAN_IF parent 10:1 classid 10:20 htb rate 64kbps ceil 128kbps prio 1
/sbin/tc class add dev $LAN_IF parent 10:1 classid 10:30 htb rate 32kbps ceil 64kbps prio 2
/sbin/tc qdisc add dev $LAN_IF parent 10:10 handle 101: pfifo
/sbin/tc qdisc add dev $LAN_IF parent 10:20 handle 102: pfifo
/sbin/tc qdisc add dev $LAN_IF parent 10:30 handle 103: pfifo
/sbin/tc filter add dev $LAN_IF parent 10: protocol ip prio 100 handle 10 fw classid 10:10
/sbin/tc filter add dev $LAN_IF parent 10: protocol ip prio 100 handle 20 fw classid 10:20
/sbin/tc filter add dev $LAN_IF parent 10: protocol ip prio 100 handle 30 fw classid 10:30

#上傳限流規則(針對外部網卡)
/sbin/tc qdisc del dev $WAN_IF root 2>/dev/null
/sbin/tc qdisc add dev $WAN_IF root handle 10: htb default 30
/sbin/tc class add dev $WAN_IF parent 10: classid 10:1 htb rate 256kbps ceil 256kbps
/sbin/tc class add dev $WAN_IF parent 10:1 classid 10:10 htb rate 64kbps ceil 256kbps prio 1
/sbin/tc class add dev $WAN_IF parent 10:1 classid 10:20 htb rate 64kbps ceil 128kbps prio 1
/sbin/tc class add dev $WAN_IF parent 10:1 classid 10:30 htb rate 32kbps ceil 64kbps prio 2
/sbin/tc qdisc add dev $WAN_IF parent 10:10 handle 101: pfifo
/sbin/tc qdisc add dev $WAN_IF parent 10:20 handle 102: pfifo
/sbin/tc qdisc add dev $WAN_IF parent 10:30 handle 103: pfifo
/sbin/tc filter add dev $WAN_IF parent 10: protocol ip prio 100 handle 10 fw classid 10:10
/sbin/tc filter add dev $WAN_IF parent 10: protocol ip prio 100 handle 20 fw classid 10:20
/sbin/tc filter add dev $WAN_IF parent 10: protocol ip prio 100 handle 30 fw classid 10:30

2.設定iptables規則,針對IP將封包加上標記
◎如果美各IP需分別設定上傳跟下載的規則,用戶多時會造成規則暴增,所以我改用陣列方式執行規則

#建立QOSa陣列,將分組10用戶IP加入
QOSa=(192.168.1.1 192.168.1.2 192.168.1.3)

#針對QOSa陣列,標記為群組10
for IPa in ${QOSa[@]}; do
/sbin/iptables -t mangle -A POSTROUTING -d $IPa -j MARK --set-mark 10
/sbin/iptables -t mangle -A PREROUTING -s $IPa -j MARK --set-mark 10
done

#建立QOSa陣列,將分組20用戶IP加入
QOSb=(192.168.1.10 192.168.1.11 192.168.1.12)

#針對QOSb陣列,標記為群組20
for IPb in ${QOSb[@]}; do
/sbin/iptables -t mangle -A POSTROUTING -d $IPb -j MARK --set-mark 20
/sbin/iptables -t mangle -A PREROUTING -s $IPb -j MARK --set-mark 20
done

3.執行規則
如果規則都是放在iptables.rule的話,只要執行iptables.rule即可
sh /etc/iptables.rule
或是執行自建的規則檔

2009年10月8日 星期四

SIP的圖形管理介面:asterisk-gui

使用CentOS系統,已安裝asterisk 1.4

1.安裝svn
yum install subversion

2.使用svn下載asterisk-gui
svn co http://svn.digium.com/svn/asterisk-gui/branches/2.0 asterisk-gui

3.安裝
asterisk-gui
cd asterisk-gui sh configure && make && make install

4.設定網頁環境
vim /etc/asterisk/http.conf
http.conf:

[general]
enabled=yes
bindaddr=0.0.0.0 #指定使用IP
bindport=8088 #指定使用PORT
prefix=asterisk
enablestatic=yes

5.設定登入帳號
vim /etc/asterisk/manager.conf
manager.conf:

[general]
enabled=yes
webenabled=yes
port=5038
bindaddr=0.0.0.0

[admin] #登入ID
secret=admin123 #登入密碼
deny=0.0.0.0/0.0.0.0 #拒絕來源的IP
permit=127.0.0.1/255.255.255.0 #允許來源的IP
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user


  • 執行make checkconfig 可以檢查是否有設定錯誤

##EasyReadMore##