#ssh #ansible
Типичный плейбук у меня включает обычно конфигурирование фаервола и ssh: - hosts: api roles: - sshd - apf Для sshd просто копируется темплейт с нужным портом в /etc/ssh/sshd_config, где: # What ports, IPs and protocols we listen for Port {{ ssh_port }} После чего установка apf происходит, настройка /etc/apf-firewall/allow_hosts.rules и основного /etc/apf-firewall/conf.apf. Как понимаете в conf.apf: IG_TCP_CPORTS="{{ ssh_port }}" Предпосылка: скажем у нас уже установлен sshd и apf и порт для ssh прописан 22. При реконфигурации (например хотим сменить порт на 222) может статься так, что между настройкой sshd и настройкой apf что-то пойдёт не так. В итоге ssh будет на 222 порту, но в apf будет открыт старый 22 порт. В итоге по ssh уже не присоединиться, придётся ребутить машину в recovery mod и ручками исправлять всё. Данный пример я привёл так как сам столкнулся с подобным. Но и во многих других задачах при возникновении проблемы посередине выполнения role система в итоге останется в неконсистентом состоянии. Как можно подобные вещи предотвратить или свести к минимуму ущерб?
Ответы
Ответ 1
А что, если переходить постепенно? apf – открыть порт 222. Если сломается после этого шага, у вас просто будет лишний открытый порт 222. sshd – переключиться на порт 222 Если сломается здесь, то тоже останется лишний открытый 22, но по ssh вы уже сможете зайти на 222й. apf – закрыть порт 222
Комментариев нет:
Отправить комментарий