libiptc TEE No chain/target/match by that name

用 iptables 1.8.7 中的 libip4tc 來建以下的規則:

iptables -t mangle -A INPUT -i eth0 -d 255.255.255.255 -m ttl --ttl-gt 0 -j TEE --gateway 192.168.123.255

結果 iptc_commit 一直失敗,錯誤是回傳 No chain/target/match by that name

這部份程式碼參考網路,一開始失敗,後來莫名其妙可以了,沒特別去挖。
結果換台機器,這問題又出現了。

搞到最後去挖 libiptc 的原始碼,又去挖 iptables 的原始碼。
看的並不是很懂,但是有發現 iptables 在 append 這條規則時,其 struct ipt_entry_target 中的 u.user.revision 值是 1

這個值在原本是設 0,設 1 就可以是怎樣?

同樣類似建 target 結構,假如果對 TTL 的話,revision 設成 1 反而會失敗(原本的 revision 0 都沒失敗過)。

其實也有點不明就理,但總之目前看似好了。之後如果再出問題再說吧。

留言

熱門文章