2015-08-28 53 views
6

我想配置UFW在Ansible這樣的:如何在不斷線的情況下配置UFW拒絕策略?

- name: Set firewall default policy 
    ufw: state=enabled policy=reject 
    sudo: true 

- name: Allow SSH in UFW 
    ufw: rule=allow port=22 proto=tcp 

的問題是,一旦「設置防火牆默認策略」執行ansible下降到服務器的連接:

TASK: [Set firewall default policy] ******************************************* 
changed: [xxx] 

TASK: [Allow SSH in UFW] ****************************************************** 
fatal: [xxx] => {'msg': 'FAILED: [Errno 61] Connection refused', 'failed': True} 

FATAL: all hosts have already failed -- aborting 

對我來說,當應用reject策略時,SSH會話終止。我該如何解決這個問題?我使用用戶名/密碼身份驗證(即沒有SSH密鑰)登錄,如果這有所幫助。

回答

10

您向UFW添加規則的順序並不重要。所以你可以顛倒規則的順序。訣竅是在添加默認規則之前添加規則以允許當前連接,這會拒絕它(因此會立即斷開連接)。

- name: Allow SSH in UFW 
    ufw: rule=allow port=22 proto=tcp 

- name: Set firewall default policy 
    ufw: state=enabled policy=reject 
    sudo: true 
相關問題