我试图弄清楚+号在这样的规则中意味着什么:
-A FORWARD -i tun0+ -j ACCEPT
我非常肯定它与 VPN 有关。我注意到 ifconfig 中有一个 /dev/net/tun 接口和一个 tun0,但为了彻底起见,我想了解那个 + 符号。有谁知道什么吗?
答案1
从这里:要匹配某种类型的所有接口,请使用加号,例如 eth+。
是的,“ +
”符号在这里的含义就像*
模式匹配中的“ ”或正则.*
表达式中的“ ”。
这条规则是错误的,是+
不必要的,尽管它不会造成损害(因为隧道被命名为tun01
或tun05
是非常不可能的)。这个脚本的开发者可能只想写tun+
。
答案2
实际上,它确实适用于该接口中的所有 ip 块。这意味着,如果您有tun0
、tun0:0
、 和tun0:1
,并且需要管理所有内容,您可能会想在tun0+
那里写。
答案3
如果您在同一服务器上运行 OpenVPN 等多个实例,则使用“tun+”而不是“tun0”非常有意义。多个实例将创建多个名为 tun0、tun1、tun2 等的设备,并且它们的所有流量都必须通过防火墙(并且必须正确转发)。