Linux中iptables的用法
1 iptables
iptables命令用于創(chuàng)建數(shù)據(jù)過(guò)濾與NAT規(guī)則,在iptables命令中設(shè)置數(shù)據(jù)過(guò)濾或處理數(shù)據(jù)包的策略叫做規(guī)則,將多個(gè)規(guī)則合成一個(gè)鏈。
1.1 iptables的控制類型
ACCEPT:允許通過(guò)
LOG:記錄日志信息,然后傳給下一條規(guī)則繼續(xù)匹配。
REJECT:拒絕通過(guò),必要時(shí)給出提示。
DROP:直接丟棄,不給出任何回應(yīng)。
1.2?規(guī)則鏈
規(guī)則鏈依據(jù)處理數(shù)據(jù)包的位置不同而進(jìn)行分類
PREROUTING:在進(jìn)行路由選擇前處理數(shù)據(jù)包。
INPUT:處理入站的數(shù)據(jù)包。
OUTPUT:處理出站的數(shù)據(jù)包。
FORWARD:處理轉(zhuǎn)發(fā)的數(shù)據(jù)包。
POSTROUTING:在進(jìn)行路由選擇后處理數(shù)據(jù)包。
規(guī)則鏈的先后順序:
入站順序:PREROUTINGàINPUT
出站順序:OUTPUTàPOSTROUTING
轉(zhuǎn)發(fā)順序:PREROUTINGàFORWARDàPOSTROUTING
1.3?規(guī)則表
iptables中的規(guī)則表是用于容納規(guī)則鏈,規(guī)則表默認(rèn)是允許狀態(tài)的,那么規(guī)則鏈就是設(shè)置被禁止的規(guī)則,而反之如果規(guī)則表是禁止?fàn)顟B(tài)的,那么規(guī)則鏈就是設(shè)置被允許的規(guī)則? ? ? ? ? ? ?
raw表:確定是否對(duì)該數(shù)據(jù)包進(jìn)行狀態(tài)跟蹤。
mangle表:為數(shù)據(jù)包設(shè)置標(biāo)記。
nat表:修改數(shù)據(jù)包中的源、目的IP地址或端口。
filter表:此表是默認(rèn)規(guī)則表,確定是否放行該數(shù)據(jù)包。
規(guī)則表的先后順序:rawàmangleànatàfilter
1.4?注意事項(xiàng)
1.???????沒(méi)有指定規(guī)則表則默認(rèn)指filter表。
2.???????不指定規(guī)則鏈則指表內(nèi)所有的規(guī)則鏈。
3.???????在規(guī)則鏈中匹配規(guī)則時(shí)會(huì)依次檢查,匹配即停止(LOG規(guī)則除外),若沒(méi)有匹配項(xiàng)則按鏈的默認(rèn)狀態(tài)處理。
1.5 iptables命令用法
1.5.1?添加規(guī)則
iptables [-t?表名]?選項(xiàng)?[鏈名] [條件] [-j?控制類型]
1.5.1.1 INPUT規(guī)則
# iptables -L -t filter? #查看filter表,“-t filter”可省略,因?yàn)槟J(rèn)就是filter表
# iptables -L -t nat?? #查看nat表
#將INPUT鏈的默認(rèn)策略設(shè)置為丟棄。(此時(shí)ssh連接也被拒絕了)?-P:policy
# iptables -P INPUT DROP?? ?
#允許所有的ping操作,-I:insert在規(guī)則鏈頭部加入新規(guī)則?-p:protocol -j: jump指令
# iptables -I INPUT -p icmp -j ACCEPT
在INPUT鏈追加一條規(guī)則,允許所有未被其他規(guī)則匹配上的數(shù)據(jù)包通過(guò),“-t filter”可省略,因?yàn)槟J(rèn)就是filter表
# iptables -t filter -A INPUT -j ACCEPT
僅允許來(lái)自于10.0.0.0/24網(wǎng)段的用戶連接本機(jī)的ssh服務(wù)
# iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j REJECT
不允許任何主機(jī)訪問(wèn)本機(jī)的12345端口
# iptables -I INPUT -p tcp --dport 12345 -j REJECT
# iptables -I INPUT -p udp --dport 12345 -j REJECT?
拒絕所有主機(jī)通過(guò)eth0網(wǎng)卡訪問(wèn)本機(jī)的http服務(wù)
# iptables -I INPUT -i eth0 -p tcp --dport 80 -j REJECT
1.5.1.2 FORWARD規(guī)則
FORWARD規(guī)則相當(dāng)于路由功能
禁止用戶訪問(wèn)www.wangning.com
iptables -I FORWARD -d www.wangning.com -j REJECT
禁止IP為10.0.0.66的用戶上網(wǎng)
# iptables -I FORWARD -s 10.0.0.66 -j REJECT
?
1.5.2?刪除規(guī)則
#刪除filter表中INPUT規(guī)則的第一條
# iptables -D INPUT 1????
1.6?保存iptables配置
# /etc/init.d/iptables save
本文轉(zhuǎn)自 茁壯的小草 51CTO博客,原文鏈接:http://blog.51cto.com/wn2100/2054541,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的Linux中iptables的用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 过滤某一个时间段的日志----sed
- 下一篇: linux运维工程师