Ansible
Blockinfile在ansible中不起作用
我需要使用 ansible 在遠端主機上輸入數據塊,我嘗試過“blockinfile”但不成功..
但是當我在 omy 本地主機上執行相同的東西時它工作正常不知道為什麼
--- - hosts: 1.1.0.1 tasks: - name: putting /tmp/fire.txt File on all machine. blockinfile: dest: /tmp/fire.txt Block: | *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -p tcp --tcp-flags ALL NONE -j DROP -A INPUT -p tcp ! --syn -m state --state NEW -j DROP -A INPUT -p tcp --tcp-flags ALL ALL -j DROP -A INPUT -p udp --sport 53 -j ACCEPT -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 443 -j ACCEPT -A INPUT -p tcp --dport 23 -j ACCEPT -A INPUT -p tcp --dport 22 -j ACCEPT -A INPUT -p tcp --dport 3260 -j ACCEPT --comment "Enable iscsi port" -A INPUT -p tcp --dport 119 -j ACCEPT --comment "Enable nfs TCP port" -A INPUT -p tcp --dport 2049 -j ACCEPT --comment "Enable nfs UDP port" COMMIT
我看到你的劇本有兩個(也許三個)問題。參數
Block
不存在,為block
小寫b。然後該塊沒有正確縮進。您需要將塊縮進超出塊參數的縮進。/tmp/fire.txt
如果文件不存在,這也會失敗。這是工作形式的劇本:
--- - hosts: 1.1.0.1 tasks: - name: putting /tmp/fire.txt File on all machine. blockinfile: dest: /tmp/fire.txt block: | *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -p tcp --tcp-flags ALL NONE -j DROP -A INPUT -p tcp ! --syn -m state --state NEW -j DROP -A INPUT -p tcp --tcp-flags ALL ALL -j DROP -A INPUT -p udp --sport 53 -j ACCEPT -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 443 -j ACCEPT -A INPUT -p tcp --dport 23 -j ACCEPT -A INPUT -p tcp --dport 22 -j ACCEPT -A INPUT -p tcp --dport 3260 -j ACCEPT --comment "Enable iscsi port" -A INPUT -p tcp --dport 119 -j ACCEPT --comment "Enable nfs TCP port" -A INPUT -p tcp --dport 2049 -j ACCEPT --comment "Enable nfs UDP port" COMMIT