Adicionando regras ufw durante uma instalação pré-configurada

Adicionando regras ufw durante uma instalação pré-configurada

Tenho tentado adicionar automaticamente regras UFW para permitir acesso SSH durante uma instalação do 16.04 ao usar um arquivo de pré-configuração. No entanto, nenhum dos métodos documentados resulta na abertura da porta 22 após a primeira inicialização.

Especificamente, tentei variações das seguintes linhas:

ufw     ufw/enable      boolean true
ufw     ufw/allow_custom_ports  string 22/tcp
ufw     ufw/allow_known_ports  string 22/tcp
ufw     ufw/allow_known_ports   string  SSH

Mas nenhum deles parecia fazer diferença. Além disso, minhas tentativas de adicionar a regra na seção pós-instalação falharam porque o módulo do kernel iptables não foi carregado, resultando em um erro.

Isso é possível dentro do arquivo preseed? Ou devo simplesmente desistir e ativar o firewall na inicialização com um hack?

Responder1

Eu também tenho tentado fazer isso funcionar há algum tempo. Nada parece funcionar. Até que finalmente desisti e consertei o problema com uma solução alternativa simples do rc.local:

d-i preseed/late_command string \
    mv /target/etc/rc.local /target/etc/rc.local.orig; \
    echo '#!/bin/sh -e' > /target/etc/rc.local; \
    echo '/usr/sbin/ufw allow ssh' >> /target/etc/rc.local; \
    echo 'mv -f /etc/rc.local.orig /etc/rc.local' >> /target/etc/rc.local; \
    echo 'test -x /etc/rc.local && /etc/rc.local' >> /target/etc/rc.local; \
    echo 'exit 0' >> /target/etc/rc.local; \
    chmod +x /target/etc/rc.local

A solução alternativa adicionará um rc.localscript personalizado preseed/late_commandque irá:

  1. Faça um backup do original rc.localcomo rc.local.orig(usando mv)

  2. Então o novo rc.localé criado - que é um script que será executado na primeira inicialização do sistema

  3. O novo script irá:

    1. Habilite o acesso SSH usandoufw
    2. Restaurar o original rc.local(movendo rc.local.origpara rc.local, excluindo-se)
    3. Teste se o original rc.localé executável e execute-o
    4. Sair com sucesso

informação relacionada