(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...