Iptables常見例項及理解

2021-08-31 06:10:57 字數 3999 閱讀 9285

(1)

遮蔽某台電腦

場景:路由器或者防火牆遮蔽某個

ip 。

理解:任何以本機為目的位址的資料報都經過

filter

表的input

鏈(-t filter

省略了)

iptables -a input -s 200.200.200.1 -j drop

(2)

遮蔽某台電腦的

telnet

請求 場景:路由器或者防火牆遮蔽某個

ip 的

telnet

資料報,但允許其他資料報通過

理解:-p 指協議,一共有三種,

tcp,udp

和icmp

,telnet

是基於tcp 的;

--destination-port

telnet

服務的埠是

23 (客戶端埠是任意的)

, 在遮蔽某個服務,需要使用目標埠,目標埠可以使用字元,而不是數字。

iptables -a input -s 200.200.200.1 -p tcp --destination-port telnet -j drop

3 )區分遮蔽某台電腦的

telnet

請求 場景:允許區域網的

telnet

請求,但不允許

internet

網的請求

理解:-i the input inte***ce –o the output inte***ce

iptables -a input -p tcp --destination-port telnet -i ppp0 -j drop

4 )不接受任何外部資料,但允許自己發起連線

場景:打算關閉所有埠,不接受任何資料,但自己發起的連線要能正常工作

理解:--syn

主動發起連線的一方會首先傳送

—syn

包,因此對外部來的

—syn

包全部drop

,而不是說關閉所有埠

iptables -a input -i ppp0 -p tcp --syn -j drop

(5)不接受任何外部連線(除了

80 埠的

連線),但允許自己發起連線

場景:打算關閉所有埠(除了

80 埠),不接受任何資料,但自己發起的連線要能正常工作

理解:--syn

主動發起連線的一方會首先傳送

—syn

包,因此對外部來的

—syn

包全部drop

,而不是說關閉所有埠

iptables -a input -i ppp0 -p tcp --syn --destination-port ! 80 -j drop

6 )改變資料報的目標位址

場景:http

伺服器在內網,外網來的

請求,路由器需要將目標

ip 改為

htt 伺服器的內網位址

理解:–j dnat

進行目標位址轉換的動作

iptables –t nat –a prerouting –d 59.12.33.124 –j dnat –to-destination 192.168.0.191

(7)

改變資料報的源位址

場景:內網訪問外網的

伺服器,路由器需要改變這些資料報的源位址

理解:-j snat

進行源位址轉換的動作

iptables –t nat –a postrouting –s 192.168.12.0/24 –j snat –to-source 59.12.33.124

(8)

繫結mac

和ip

場景:路由器限定只有哪些

mac 的

pc 能夠上網

理解:預設

-t filter

-p forward drop

改變forward

鏈的預設規則,

forward

鏈中的所有規則全部

drop

-m mac –mac-source

匹配mac

iptables –p forward drop

iptables –a forward –s 192.168.1.122 –m mac –mac-source 11:22:33:44:a1:b3 –j accept

(9)限定網速

場景:路由器限定網速

理解:–m limit –limit 15/s

速度匹配

iptables –a forward –s 192.168.0.122 –m limit –limit 15/s –j accept

(10)使用初始化

場景:任何使用iptables

理解:forward功能預設是關閉的,需要顯示開啟;

-f清空鏈,如果指定表,則清空指定表中的鏈;如果什麼都沒有指定,則清空所有預設表的鏈;

-x刪除非內建鏈(使用者自定義鏈)

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -f

iptables -f input

iptables -t filter -f

iptables -x

iptables -x allowed

iptables -t filter -x

(11)禁用多個服務

場景:路由器禁用多個服務,只開啟forward功能

理解:路由器上的這些服務不能用,是目標埠;只開啟**功能。

(12) 建立新鏈

場景:使用者自定義鏈

理解:目標-j可以為自定義鏈,且可以jump到多個自定義鏈中

iptables -t filter -n firewall_input_in

iptables -t filter -a input -j firewall_input_in

(13)dscp: different service code point

場景:路由器設定不同資料報的優先順序

理解:ssh, telnet需要及時響應,而smtp則可以不用那麼及時

dscp target

differentiated services

iptables -t mangle -a forward -p tcp --dport 80 -j dscp --set-dscp 1

iptables -t mangle -a forward -p tcp --dport 80 -j dscp --set-dscp-class ef

資料報狀態

資料報中的

mark

完整的firewall

指令碼例子

iptables 配置例項

iptables f iptables x iptables f t mangle iptables t mangle x iptables f t nat iptables t nat x 首先,把三個表清空,把自建的規則清空。iptables p input drop iptables p ou...

iptables配置例項

bin bash export iptables sbin iptables export eth0 enp3s0 清除所有規則 iptables f iptables x 設定規則 iptables p input drop 不在此規則裡的資料報丟棄 iptables p output accep...

Iptables例項應用分析

iptables例項分析 1 單伺服器的防護 2 如何做閘道器 3 如何限制內網使用者 4 內網如何做對外伺服器 5 如何使用連線追蹤模組 1 單伺服器的防護 弄清對外服務物件 書寫規則 網路介面lo 的處理 狀態監測的處理 協議 埠的處理 例項 乙個普通的web 伺服器 iptables a in...