LINUX iptable應用手冊 六

2021-04-19 04:51:10 字數 4259 閱讀 1326

第六篇

實際的日誌訊息會被記錄在哪個檔案,取決於當時系統的syslog.conf組態是如何設定的。對於 iptables的訊息而言,右於它是位於linux核心的機制,所以.如果你使用 - -log-level info選項,你應該尋找kern.=info path 。如果需要更高階的日誌記錄能力,請參考《ulog目標》。

mac過濾條件

此擴充模組讓iptables可以使用ethernet介面的「media access controller」(mac)位址為過濾條件。《表44》說明此過濾條件唯一的選項。

嚴格來說,mac位址不算ip協議的過濾條件,因為在osi layer架構中,ethernet的位階低於ip;然而,由於許多ip網路路架設在ethernet 上,也就是說,大多數系統可以取得mac資訊,也因此mac成為重要的的擴充模組之一。

*************************====

訣竅本過濾條件必須在核心支援config_ip_nf_match_mac組態時才有效。

******************************

由 於mac擴充模組只能過濾傳訊方的mac位址(過濾dest mac是沒有意義的),所以此過濾條件只能用於prerouting、forward或input鏈結裡的規則,而且只對來自ethernet裝置的封包 才有效。舉例來說,下列規則限制ethl介面只能夠與特定ethernet裝置通訊:

iptables -a prerouting -i ethl -m mac - -mac-source

! 0d:bc:97:02:18:2l -j drop

上述規則很適合用於無線網路環境裡.

mark過濾條件

過濾含有特定標記值的封包。封包標記功能,通常搭配ip命令(iproute2套件的工具程式之一)使用,用以執行高階的選徑應用。《表45》說明此過濾條件唯一的選項。

linux 核心容許你貼乙個「標記」(乙個整數值)到某個封包,然後將該封包(連同標記)傳給核心的另乙個部門接手處理。請注意,「標記」並非儲存於封包本身(也就 是說,被貼標記的封包,其header與body都不會被改變),而是核心另外維護的一段中介資料(metadata),所以,當封包離開貼它們帖標記的 電腦(當封包被轉交給其它電腦時,就會發生這種現象),標記資訊就會跟著消失。

*************************==

訣竅本過濾條件必須在核心支援config_ip_nf_match_mark組態時才有效。

*************************==

mask可用來讓你將核心的標記值當成一組位元欄來處理.不過,mark目標擴充模組並不支援mask的使用,所以你不能利用iptables來漸進地設定位元欄。

相關參考:

mark目標

設定包的標記。包的標記功能,通常搭配ip命令(iproute2套件的工具程式之一)使用,用以執行高階的選徑應用。《表46》說明mark目標唯一的選項。

*************************====

訣竅本目標必須在核心支援config_ip_nf_target_mark組態時才有效。

mark目標只能用於mangle**。

*************************====

相關參考:

● (mark過濾條件)

● 如果你希望標記資訊能跨越不同電腦,請參閱《tos目標》。

masquerade目標

具有連線追蹤能力的snat操作,特別適用於具有動態ip位址的介面。《表47》是本目標唯一的選項。

masquerade擴充模組只能處理tcp與udp連線。

*************************===

訣竅本目標必須在核心支援config_ip_nf_target_masquerade組態時才有效。

*************************===

相關參考:

(snat目標) :提供相似的snat功能性,但是不理會封包之間的關係(連線追蹤),適用於具有固定ip位址的連線。

mumport過濾條件

讓iptables可同時以多個tcp或upd通訊埠為過濾條件。

《表48》說明本過濾條件的選項。

只能搭配tcp和udp恊定使用(-p tcp或-p udp)。

*************************===

訣竅本過濾條件必須在核心支援config_ip_nf_match_multiport組態時才有效。

*************************===

portspec可以是通訊埠的正式名稱(定義於/etc/services檔案)或編號,或是一連串以逗號分隔通訊埠編號(最多15個),或是p1 : p2格式的編號範圍。

netlink目標

透過netlink socket將包傳送到userspacc。利用netlink,你可將符合條件的封包傳給userspace的包處理程式,或是交給 fwmon之類外部的應用程式(參閱

http://www.scaramanga.co.uk/fwmon/)。《表49》說明本目標的選項。

*************************=

竅門過濾選條件必須在核心支援config_ip_nf_queue組態時才有效。

*************************=

舉例來說,若要將所有icmp ping封包全部注入netlink然後才丟棄,使用下列命令:

iptables -a input -p icmp - -icmp type ping -j netlink -nldrop

相關參考:

● (ulog目標) :透過netlink sockets與userspace的ulogd記錄程式通訊。

● netlink manpages(使用man 7 netlink或marl 3 netlink命令檢視)。

● rfc 3549 《linux netlink as an ip services protoco1》

(位於http://www.rfc-editor.org/rfc/rfc3549.txt)。

netmap目標

*************************====

訣竅奉篩選條件必須在核心支援config_ip nf_target_netmap組態時才有效。

*************************====

舉例來說,若要在192.168.1.0/24與172.17.5.0/24兩個網路之間做對應,使用下列兩個命令:

iptables -t nat -a prerouting -d 192.168.1.0/24

-j netmap - -to 172.17.5.0/24

iptables -t nat -a postrouting -s 172.17.5.0/24

-j netmap - -to 192.168.1.0/24

nth過濾條件

用於將符合先前條件的包分成每 n個一組。《表51》說明本過濾條件的選項。

舉例來說,若要將外來包(假設來自eth0)平均分散到三部伺服器:

iptables -t nat -a prerouting -i eth0 -p udp -dpor $port

-m nth - -every 3 - -packet 0 -j dnat - -to-destination $server0

iptables -t nat -a prerouting -i eth0 -p udp -dport $port

-m nth - -every 3 - -packet 1 -j dnat - -to-destination $server1

iptables -t nat -a prerouting -i eth0 -p udp -dport $port

-m nth - -every 3 - -packet 2 -j dnat - -to-destination $server2

你甚至可使用nth過濾條件搭配drop目標來**封包漏失現象。

關於更好的負載均攤方法,讀參閱(dnat目標)。

owner過濾條件

以產生封包的行程(擁有者)之資訊為過濾條件。本過濾條件只能用於output鏈結,因為它需要能夠取得關於產生封包的本地行程之資訊。 請注意,owner過濾條件對於icmp封包無

效,因為icmp封包沒有擁用者。《表52》說明本過濾條件的選項。

*************************===

訣竅本過濾條件必須在核心支援config_ip_nf_match_owner組態時才有效。

*************************===

to be continued........ 

Vue單頁面應用手動搭建基礎

1.vue檔案 vue檔案由三部分組成 template style script html template cssstyle js script 2.vue loader瀏覽器本身並不認為.vue檔案,所以必須對.vue檔案進行載入解析,此時需要vue loader 需要注意的是vue load...

Android系統應用手動安裝公升級版重啟還原問題

1 系統應用能否被公升級的問題?系統應用主要分為兩類,b 定製手機的自帶應用,主要是運營商和廠商合作的定製手機,參考物件華為的電信定製手機內建了很多電信的應用以及qq uc瀏覽器的應用等,這類應用剛開始是不能被解除安裝的,但是 可以通過第三方應用市場公升級應用,公升級後的應用重啟不消失但可以被解除安...

海思Hi3510 HiBoot移植應用手冊

本文描述在 hi3510 vsevb 評估板上如何移植 hiboot hi3510 解決方案平台中的 bootloader 和燒寫 hiboot 的相關操作及工具使用。內容組織如下 1 概述 簡單描述hi3510 vsevb評估板的bootloader hiboot。2 目錄結構 介紹 hiboot...