日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iptables (2) 基本配置

發(fā)布時間:2023/12/9 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iptables (2) 基本配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

iptables 基本命令使用舉例

一、鏈的基本操作

1、清除所有的規(guī)則。
1)清除預設表filter中所有規(guī)則鏈中的規(guī)則。
# iptables -F

?

-F, --flush [chain]Flush the selected chain (all the chains in the table if none is given). This is equivalent to deleting all the rules one by one.

?

2)清除預設表filter中使用者自定鏈中的規(guī)則。

#iptables -X ??

-X 是刪除使用者自訂 table 項目,一般使用 iptables -N xxx 新增自訂 chain 后,可以使用 iptables -X xxx 刪除之。

?

-X, --delete-chain [chain]Delete the optional user-defined chain specified. There must be no references to the chain. If there are, you must delete or replace the referring rules before the chain can be deleted. If no argument is given, it will attempt to delete every nonbuiltin chain in the table.

2、設置鏈的默認策略。一般有兩種方法。
1)首先允許所有的包,然后再禁止有危險的包通過放火墻。
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT
2)首先禁止所有的包,然后根據(jù)需要的服務允許特定的包通過防火墻。
#iptables -P INPUT DROP
#iptables -P OUTPUT DROP
#iptables -P FORWARD DROP
3、列出表/鏈中的所有規(guī)則。默認只列出filter表。
#iptables -L
4、向鏈中添加規(guī)則。下面的語句用于開放網(wǎng)絡接口:
#iptables -A INPUT -i lo -j ACCEPT
#iptables -A OUTPUT -o lo -j ACCEPT
#iptables -A INPUT -i eth0 -j ACEPT
#iptables -A OUTPUT -o eth1 -j ACCEPT
#iptables -A FORWARD -i eth1 -j ACCEPT
#iptables -A FORWARD -0 eth1 -j ACCEPT
注意:由于本地進程不會經(jīng)過FORWARD鏈,因此回環(huán)接口lo只在INPUT和OUTPUT兩個鏈上作用。
5、使用者自定義鏈。
#iptables -N custom
#iptables -A custom -s 0/0 -d 0/0 -p icmp -j DROP
#iptables -A INPUT -s 0/0 -d 0/0 -j DROP
二、設置基本的規(guī)則匹配
1、指定協(xié)議匹配。
1)匹配指定協(xié)議。
#iptables -A INPUT -p tcp
2)匹配指定協(xié)議之外的所有協(xié)議。
#iptables -A INPUT -p !tcp
2、指定地址匹配。
1)指定匹配的主機。
#iptables -A INPUT -s 192.168.0.18
2)指定匹配的網(wǎng)絡。
#iptables -A INPUT -s 192.168.2.0/24
3)匹配指定主機之外的地址。
#iptables -A FORWARD -s !192.168.0.19
4)匹配指定網(wǎng)絡之外的網(wǎng)絡。
#iptables -A FORWARD -s ! 192.168.3.0/24
3、指定網(wǎng)絡接口匹配。
1)指定單一的網(wǎng)絡接口匹配。
#iptables -A INPUT -i eth0
#iptables -A FORWARD -o eth0
2)指定同類型的網(wǎng)絡接口匹配。
#iptables -A FORWARD -o ppp+
4、指定端口匹配。
1)指定單一端口匹配。
#iptables -A INPUT -p tcp --sport www
#iptables -A INPUT -p udp –dport 53
2)匹配指定端口之外的端口。
#iptables -A INPUT -p tcp –dport !22
3)匹配端口范圍。
#iptables -A INPUT -p tcp –sport 22:80
4)匹配ICMP端口和ICMP類型。
#iptables -A INOUT -p icmp –icimp-type 8
5)指定ip碎片。

個網(wǎng)絡接口都有一個MTU(最大傳輸單元),這個參數(shù)定義了可以通過的數(shù)據(jù)包的最大尺寸。如果一個數(shù)據(jù)包大于這個參數(shù)值時,系統(tǒng)會將其劃分成更小的數(shù)據(jù)包
(稱為ip碎片)來傳輸,而接受方則對這些ip碎片再進行重組以還原整個包。這樣會導致一個問題:當系統(tǒng)將大數(shù)據(jù)包劃分成ip碎片傳輸時,第一個碎片含有
完整的包頭信息(IP+TCP、UDP和ICMP),但是后續(xù)的碎片只有包頭的部分信息(如源地址、目的地址)。因此,檢查后面的ip碎片的頭部(象有
TCP、UDP和ICMP一樣)是不可能的。假如有這樣的一條規(guī)則:
#iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.2.100 –dport 80 -j ACCEPT
并且這時的FORWARD的policy為DROP時,系統(tǒng)只會讓第一個ip碎片通過,而余下的碎片因為包頭信息不完整而無法通過??梢酝ㄟ^—fragment/-f 選項來指定第二個及以后的ip碎片解決上述問題。
#iptables -A FORWARD -f -s 192.168.1.0/24 -d 192.168.2.100 -j ACCEPT
注意現(xiàn)在有許多進行ip碎片攻擊的實例,如DoS攻擊,因此允許ip碎片通過是有安全隱患的,對于這一點可以采用iptables的匹配擴展來進行限制。
三、設置擴展的規(guī)則匹配(舉例已忽略目標動作)
1、多端口匹配。
1)匹配多個源端口。
#iptables -A INPUT -p tcp -m multiport –sport 22,53,80,110
2)匹配多個目的端口。
#iptables -A INPUT -p tcp -m multiport –dpoort 22,53,80
3)匹配多端口(無論是源端口還是目的端口)
#iptables -A INPUT -p tcp -m multiport –port 22,53,80,110
2、指定TCP匹配擴展
使用 –tcp-flags 選項可以根據(jù)tcp包的標志位進行過濾。
#iptables -A INPUT -p tcp –tcp-flags SYN,FIN,ACK SYN
#iptables -A FROWARD -p tcp –tcp-flags ALL SYN,ACK
上實例中第一個表示SYN、ACK、FIN的標志都檢查,但是只有SYN匹配。第二個表示ALL(SYN,ACK,FIN,RST,URG,PSH)的標志都檢查,但是只有設置了SYN和ACK的匹配。
#iptables -A FORWARD -p tcp --syn
選項—syn相當于”--tcp-flags SYN,RST,ACK SYN”的簡寫。
3、limit速率匹配擴展。
1)指定單位時間內(nèi)允許通過的數(shù)據(jù)包個數(shù),單位時間可以是/second、/minute、/hour、/day或使用第一個子母。
#iptables -A INPUT -m limit --limit 300/hour
2 )指定觸發(fā)事件的閥值。
#iptables -A INPUT -m limit –limit-burst 10?
用來比對一次同時涌入的封包是否超過10個,超過此上限的包將直接丟棄。
3)同時指定速率限制和觸發(fā)閥值。
#iptables -A INPUT -p icmp -m limit –-limit 3/m –limit-burst 3
表示每分鐘允許的最大包數(shù)量為限制速率(本例為3)加上當前的觸發(fā)閥值burst數(shù)。任何情況下,都可保證3個數(shù)據(jù)包通過,觸發(fā)閥值burst相當于允許額外的包數(shù)量。?
4)基于狀態(tài)的匹配擴展(連接跟蹤)
每個網(wǎng)絡連接包括以下信息:源地址、目標地址、源端口、目的端口,稱為套接字對(socket pairs);協(xié)議類型、連接狀態(tài)(TCP協(xié)議)
和超時時間等。防火墻把這些信息稱為狀態(tài)(stateful)。狀態(tài)包過濾防火墻能在內(nèi)存中維護一個跟蹤狀態(tài)的表,比簡單包過濾防火墻具有更大的安全性,命令格式如下:?
iptables -m state –-state [!]state [,state,state,state]
其中,state表是一個逗號分割的列表,用來指定連接狀態(tài),4種:
>NEW: 該包想要開始一個新的連接(重新連接或連接重定向)
>RELATED:該包是屬于某個已經(jīng)建立的連接所建立的新連接。舉例:
FTP的數(shù)據(jù)傳輸連接和控制連接之間就是RELATED關系。
>ESTABLISHED:該包屬于某個已經(jīng)建立的連接。
>INVALID:該包不匹配于任何連接,通常這些包被DROP。
例如:
(1)在INPUT鏈添加一條規(guī)則,匹配已經(jīng)建立的連接或由已經(jīng)建立的連接所建立的新連接。即匹配所有的TCP回應包。
#iptables -A INPUT -m state –state RELATED,ESTABLISHED
(2)在INPUT鏈鏈添加一條規(guī)則,匹配所有從非eth0接口來的連接請求包。
#iptables -A INPUT -m state -–state NEW -i !eth0
又如,對于ftp連接可以使用下面的連接跟蹤:
(1)被動(Passive)ftp連接模式。
#iptables -A INPUT -p tcp --sport 1024: --dport 1024: -m state –-state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -m?
state -–state ESTABLISHED,RELATED -j ACCEPT
(2)主動(Active)ftp連接模式
#iptables -A INNPUT -p tcp --sport 20 -m state –-state ESTABLISHED,RELATED -j ACCEPT
#iptables -A OUTPUT -p tcp –OUTPUT -p tcp –dport 20 -m state --state ESTABLISHED -j ACCEPT

轉(zhuǎn)載于:https://www.cnblogs.com/lilidun/p/5547829.html

總結(jié)

以上是生活随笔為你收集整理的iptables (2) 基本配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。