iptables 與 asterisk
iptables 與 asterisk :
iptables fo asterisk
SIP on UDP port 5060. Other SIP servers may need TCP port 5060 as well
iptables -A INPUT -p udp -m udp—dport 5004:5082 -j ACCEPT
IAX2 - the IAX protocol
iptables -A INPUT -p udp -m udp—dport 4569 -j ACCEPT
IAX – most have switched to IAX v2, or ought to
iptables -A INPUT -p udp -m udp—dport 5036 -j ACCEPT
RTP – the media stream
iptables -A INPUT -p udp -m udp—dport 10000:20000 -j ACCEPT
MGCP – if you use media gateway control protocol in your configuration
iptables -A INPUT -p udp -m udp—dport 2727 -j ACCEPT
參考:http://www.voip-info.org/wiki-Asterisk+firewall+rules
#p#
iptables 詳解
iptables—version來查看系統是否安裝了iptables
iptables -help來查看一個快速幫助
man iptables來查看所有命令和選項的完整介紹
iptables—list 查看系統中現有的iptables規劃集
一般語法如下:
iptables [-t table] command [match] [target]
table
filter用于一般的信息包過濾,包含INPUT,OUTPUT和FORWARD鏈。nat用于要轉發的信息包。
command
command部分是iptables命令最重要的部分。它告訴iptables命令要做什么,例如插入規則、將規則添加到鏈的末尾或刪除規則。
-A 或—append:將一條規則附加到鏈的末尾。如 iptables -A INPUT -s 210.12.1.23 -j ACCEPT (接受來自源210.12.1.23地數據包)
- D 或—delete:從鏈中刪除規則。如iptables -D INPUT —dport 80 -j DROP (丟棄前往端口80的包);iptalbes -D OUTPUT 3 (刪除鏈編號為3的規則)
-P 或—policy,設置鏈的缺少策略(處理與其它規則不匹配的包)。如iptables -P INPUT DROP (丟棄與所有規則都不匹配的包)
-N 或—new-chain:用指定名稱創建一個新鏈。如iptables -N alowed-chain
- F 或—flush:刪除指定鏈或所有鏈(未指定名稱時)。如iptables -F FORWARD 或iptables -F
-L 或—list,列出鏈中的所有規則。如iptables -L allowed-chain
match
iptables命令的可選match部分指定信息包與規則匹配所應具有的特征(如源地址、目的地址、協議等)。
-p 或—protocal:檢查特定協議(TCP、UDP、ICMP、ALL),可用!表示非。如iptables -A INPUT -p TCP ,UDP或iptables -A INPUT -p !ICMP,兩條命令作用一樣。
-s 或—source:根據信息的源IP來匹配。如iptables -A OUTPUT -s 192.168.1.1,iptables -A OUTPUT -s 192.168.0.0/24(從0.0到0.24),iptables -A OUTPUT -s !203.16.1.89
-d 或—destination,根據目標IP來匹配。如 iptables -A INPUT -d 192.168.1.1
target
目標是由規則指定的操作,對與那些規則匹配的信息包執行這些操作。除了允許用戶定義的目標之外,還有許多可用的目標選項。
ACCEPT , DROP, REJECT , RETURN
示例
本例中的規則將會阻止來自某一特定IP范圍內的數據包,因為該IP地址范圍被管理員懷疑有大量惡意攻擊者在活動:
iptables -t filter -A INPUT -s 123.456.789.0/24 -j DROP
也可以很輕易地阻止所有流向攻擊者IP地址的數據包,該命令稍有不同:
iptables -t filter -A OUTPUT -d 123.456.789.0/24 -j DROP
為每一個鏈設置缺省的規則:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT 這里選項-P用于設置鏈的策略,只有三個內建的鏈才有策略。這些策略可以讓信息毫無限制地流出,但不允許信息流入。
允許來自網絡接口ppp0(internet接口),并且來源端口是80的數據進入你的計算機
iptables -A INPUT -i ppp0 -p tcp—sport 80 -j ACCEPT
要提供www服務
iptables -A INPUT -i ppp0 -p tcp—dport 80 -j ACCEPT
阻止所有沒有經過你系統授權的TCP連接:
iptables -t filter -A INPUT -i eth0 -p tcp—syn -j DROP 這里的-i指的是網卡,-p則是指協議,—syn則表示帶有syn標識設置的TCP數據包。SYN用于初始化一個TCP連接,如果自己機器上沒有運行任何服務器,別人也就不會向你發送SYN數據包。
規則的保存與恢復
iptables-save > iptables-script
iptables-restore iptables-script
通過文章,我們知道了iptables 和 asterisk,希望本文對大家有所幫助!
【編輯推薦】