2016-11-21 45 views
1

如何使用Ansible来刷新iptables?不要将自己锁定在目标系统之外,因为您在冲刷中拒绝了端口22?Flushing iptables with ansible

iptables模块与Ansible 2.0一起发布,并且在Ansible 2.2中添加了flush参数。所以我想知道如何使用这个新选项。

我想要做的这相当于:

$ iptables -F 
$ iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
$ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
$ etc etc 
$ iptables-save 

我试图做一个:

- name: Reset iptables to blank slate 
    command: "{{item}}" 
    with_items: 
    - 'iptables -F' 
    - 'iptables -A INPUT -p tcp --dport 22 -j ACCEPT' 
    - 'iptables-save' 

,其中被锁定我出去SSH的。

我假设使用下面将有同样的效果:

-iptables: flush 
become: yes 

回答

0

写一个shell脚本,将执行你需要的所有命令和async模式火了。

此外,您可以在刷新之前将默认策略更改为ACCEPT,然后再将其恢复。
iptables_raw自定义模块,可以为你做。