Iptables

用於保護尚未定義的介面的防火牆

  • April 25, 2016

我打算使用 Shorewall 過濾源自 OpenVPN 創建的虛擬介面的流量(我們稱之為 tap0)。如果 OpenVPN 在 Shorewall 啟動之前沒有成功創建這個介面,但是在 中定義了該介面/etc/shorewall/interfaces,如果以後創建成功該介面,是否會過濾流量?這是否取決於腳本掛鉤,或者 Shorewall 是否為配置中定義但不存在的介面預先創建規則?

Shorewall 是用於配置 iptables/netfilter 防火牆規則的工具,因此 netfilter 的文件是一個更有效的地方。 它說

指定目前不存在的介面是完全合法的;在界面出現之前,該規則不會匹配任何內容。這對於撥號 PPP 鏈路(通常是介面 ppp0)等非常有用。

作為一種特殊情況,以“+”結尾的介面名稱將匹配以該字元串開頭的所有介面(無論它們目前是否存在)。例如,要指定匹配所有 PPP 介面的規則,將使用 -i ppp+ 選項。

經過粗略的檢查,使用不存在的介面執行 Shorewall似乎可以創建-i-o規則,這將起作用。

此設置會導致需要了解 ip/路由資訊才能執行的功能出現問題,例如路由過濾器。

引用自:https://unix.stackexchange.com/questions/275878