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

相关文章
相关标签/搜索