Adicionando regras ufw durante uma instalação preseed

2

Eu tenho tentado adicionar automaticamente as regras do UFW para permitir o 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 de pós-instalação falharam porque o módulo do kernel iptables não foi carregado, resultando em um erro.

É possível realizar isso dentro do arquivo preseed? Ou devo desistir e ativar o firewall na inicialização com um hack?

    
por zymhan 10.05.2016 / 23:17

1 resposta

3

Eu tenho tentado fazer isso funcionar por um tempo também. Nada parece funcionar. Até eu finalmente desistir e corrigi-lo com uma simples solução alternativa 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

Basicamente eu fiz um script rc.local personalizado que executa ufw allow ssh na primeira inicialização, que então se destrói renomeando o script rc.local original de volta para o local original. Isso parece funcionar.

    
por jheusala 04.02.2017 / 23:05