防火牆iptables規則編寫2

2021-10-02 09:16:51 字數 2637 閱讀 8091

命令:

管理規則

-a:附加一條規則,新增在鏈的尾部

-i chain [num]: 插入一條規則,插入為對應chain上的第num條;

-d chain [num]: 刪除指定鏈中的第num條規則;

例如:iptables -d output 2

-r chain [num]: 替換指定的規則;

管理鏈:

-f [chain]:flush,清空指定規則鏈,如果省略chain,則可以實現刪除對應表中的所有鏈

-p chain: 設定指定鏈的預設策略;

-n:自定義乙個新的空鏈

-x: 刪除乙個自定義的空鏈

-z:置零指定鏈中所有規則的計數器;

-e: 重新命名自定義的鏈;

檢視類:

-l: 顯示指定表中的規則;

-n: 以數字格式顯示主機位址和埠號;

-v: 顯示鏈及規則的詳細資訊

-vv: 

-x: 顯示計數器的精確值

--line-numbers: 顯示規則號碼    

動作(target):-j

redirect:埠重定向

log:日誌

mark:打標記        

accept 允許資料報通過 

drop 丟棄資料報不做處理 

reject 拒絕資料報,並返回報錯資訊 

snat 一般用於 nat 表的 postrouting 鏈,進行源位址轉換 

dnat 一般用於 nat 表的 prerouting 鏈,進行目的位址轉換 

masquerade 動態源位址轉換,動態 ip 時使用 

例如:# iptables 伺服器作為閘道器時,內網訪問公網

snat 策略應用:是為區域網共享上網提供接入策略,處理資料報的切入時機是在路由選擇後進行,是將區域網外發資料報的源 ip 位址修改為閘道器伺服器的外網介面 ip 位址。

snat 策略用在 nat 表的 postrouting 鏈。

編寫 snat 策略時,需使用 iptables 命令結合--to-source ip 位址選項來指定修改後的源 ip 位址。

iptables –t nat -a postrouting -s [內網 ip 或網段] -j snat --to [公網 ip]      

# 訪問 iptables 公網 ip 埠,**到內網伺服器端口

dnat 應用:是在 internet 中發布企業內部的伺服器,處理資料報的切入時機是在路由選擇之前進行。將訪問網關外網介面 ip 位址的資料報的目標位址修改為實際提供服務的內部伺服器的 ip 位址。

dnat 策略用在 nat 表的 prerouting 鏈

使用 iptables 命令設定 dnat 策略時,需要結合--to-destination ip 位址選項來指定內部伺服器的 ip 位址。

iptables –t nat -a prerouting -d [對外 ip] -p tcp --dport [對外埠] -j dnat --to [內 網 ip:內網埠]  

# 本地 80 埠**到本地 8080 埠

iptables -t nat -a prerouting -p tcp --dport 80 -j redirect --to-ports 8080

# iptables -n clean_in

# iptables -a clean_in -d 255.255.255.255 -p icmp -j drop

# iptables -a clean_in -d 172.16.255.255 -p icmp -j drop

# iptables -a clean_in -p tcp ! --syn -m state --state new -j drop

# iptables -a clean_in -p tcp --tcp-flags all all -j drop

# iptables -a clean_in -p tcp --tcp-flags all none -j drop

# iptables -a clean_in -d 172.16.100.7 -j return 

# iptables -a input -d 172.16.100.7 -j clean_in

# iptables -a input  -i lo -j accept

# iptables -a output -o lo -j accept

# iptables -a input  -i eth0 -m multiport -p tcp --dports 53,113,135,137,139,445 -j drop

# iptables -a input  -i eth0 -m multiport -p udp --dports 53,113,135,137,139,445 -j drop

# iptables -a input  -i eth0 -p udp --dport 1026 -j drop

# iptables -a input  -i eth0 -m multiport -p tcp --dports 1433,4899 -j drop

# iptables -a input  -p icmp -m limit --limit 10/second -j accept

iptables防火牆規則簡單運用指令碼

1 清空防火牆規則 iptables f2 檢視防火牆規則 iptables l n3 編寫指令碼 vim iptables.sh bin bash function ask while true doecho e 033 36m 1.放行埠 2.封鎖埠 3.放行ip 4.封鎖ip 033 0m r...

iptables 防火牆使用

刪除原有規則 1.iptables f 2.iptables x 3.iptables t nat f 4.iptables t nat x 5.iptables p input drop 阻止所有網路入包 6.iptables a input i eth0 j accept 接受所有網路 7.ip...

外圍防火牆規則 內部防火牆規則

外圍防火牆規則 通常情況下,您的外圍防火牆需要以預設的形式或者通過配置來實現下列規則 拒絕所有通訊,除非顯式允許的通訊。阻止宣告具有內部或者外圍網路源位址的外來資料報。阻止宣告具有外部源 ip 位址的外出資料報 通訊應該只源自堡壘主機 允許從 dns 解析程式到 internet 上的dns 伺服器...