我有以下删除规则:
iptables -t mangle -P FORWARD DROP
iptables -P FORWARD DROP
iptables -t mangle -P INPUT DROP
iptables -P INPUT DROP
iptables -t mangle -P OUTPUT DROP
iptables -t nat -P OUTPUT DROP
iptables -P OUTPUT DROP
iptables -t nat -P PREROUTING DROP
iptables -t mangle -P PREROUTING DROP
iptables -t nat -P POSTROUTING DROP
iptables -t mangle -P POSTROUTING DROP
我必须把所有链放到所有表上,并将删除规则作为默认规则(我认为都是;如果有遗漏或不好的地方请指出)。然后我必须编写一条接受任何类型数据包的规则。不要问我为什么,这就是任务。
接受任何类型数据包的规则是什么样的?我必须使用 iptables。
答案1
关于术语的一个小问题(如果我在这里吹毛求疵,请忽略这一点):如果你使用
iptables -P [chain] ACCEPT/DROP
这称为设置链的“策略”。不会改变上述内容的效果(因为链的策略实际上是“默认规则”,如果通过链的所有数据包没有被其他规则接收,则将根据该规则进行评估),但在复杂的环境中,避免因术语模糊而导致通信问题始终是件好事。
答案2
对于你在问题中列出的每个表和链,
iptables -t [table] -A [chain] -j ACCEPT
如果没有其他参数,这将匹配所有数据包并允许它们通过。