我正在尝试将新规则添加到iptables中。我想要的是将规则放入倒数第二行(即就在DENY ALL语句之前)。例如:
[vagrant@controller ~]$ sudo iptables -L INPUT --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
2 ACCEPT icmp -- anywhere anywhere
3 ACCEPT all -- anywhere anywhere
4 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
5 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited然后,
sudo iptables -I INPUT 5 -t filter -d 192.168.33.10 -m state --state NEW -j ACCEPT将是:
[vagrant@controller ~]$ sudo iptables -L --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
2 ACCEPT icmp -- anywhere anywhere
3 ACCEPT all -- anywhere anywhere
4 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
5 ACCEPT all -- anywhere 192.168.33.10 state NEW
6 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited问题是,在不明确知道最后一个行号的情况下,我不知道如何使用salt自动执行此操作?有没有办法在salt堆栈中运行一个命令,并将该命令的结果用作jinja模板的变量?
sudo iptables -L INPUT --line-numbers | tail -n1 | awk '{print $1}'发布于 2015-12-08 16:45:57
我不知道有什么简单的方法可以像上面描述的那样做。出现在脑海中的一些变通方法:
require)您需要插入的规则。然后,Salt会确保它们的顺序是正确的。cmd.run调用它。相当不优雅,但需要对配置的其他部分进行较少的更改。这两个选项都不是完美的,可能不适合您的用例。然而,组合第一个to方法会让你走得更远,也会得到一个整体上更整洁的设置。
https://stackoverflow.com/questions/34146571
复制相似问题