iptables數據包、鏈接標記模塊MARK/CONNMARK的使用(打標籤)

MARK標記用於將特定的數據包打上標籤,供iptables配合TC作QOS流量限制或應用策略路由。html

看看和MARK相關的有哪些模塊:tcp

ls /usr/lib/iptables/|grep -i mark libxt_CONNMARK.so libxt_MARK.so libxt_connmark.so libxt_mark.so

其中大寫的爲標記模塊,小寫的爲匹配模塊,它們之間是相輔相成的,分別做用以下:spa

iptables -j MARK --help --set-mark #標記數據包 iptables -t mangle -A PREROUTING -p tcp -j MARK --set-mark 1 #全部TCP數據標記1
iptables -m mark --help --mark value #匹配數據包的MARK標記 iptables -t mangle -A PREROUTING -p tcp -m mark --mark 1 -j CONNMARK --save-mark #匹配標記1的數據並保存數據包中的MARK到鏈接中
iptables -j CONNMARK --help --set-mark #標記鏈接 --save-mark #保存數據包中的MARK到鏈接中 --restore-mark #將鏈接中的MARK設置到同一鏈接的其它數據包中 iptables -t mangle -A PREROUTING -p tcp -j CONNMARK --set-mark 1
iptables -m connmark --help --mark value #匹配鏈接的MARK的標記 iptables -t mangle -A PREROUTING -p tcp -m connmark --mark 1 -j CONNMARK --restore-mark #匹配鏈接標記1並將鏈接中的標記設置到數據包中

說明:.net

一、之前MARK標記只能用在mangle表上,而如今能夠使用在nat表上。rest

二、MARK標記不能做爲擴路由的傳遞,只能在內核上傳遞。若是要實現,那麼能夠使用TOS標記。code

三、使用時注意iptables的版本,不一樣的版本支持的方法不同。htm

 

參考:blog

https://www.haiyun.me/archives/iptables-mark-connmark.html(以上內容轉自此篇文章)ip

http://www.voidcn.com/article/p-qahliwak-ru.html路由

https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html#MARKTARGET

相關文章
相關標籤/搜索