Добавление правил UFW во время предварительной установки

Я пытался автоматически добавить правила UFW, чтобы разрешить доступ SSH во время установки 16.04 при использовании файла preseed. Однако ни один из документированных методов не приводит к открытию порта 22 после первой загрузки.

В частности, я пробовал варианты следующих строк:

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

Но ни одна из них, казалось, не имела значения. Кроме того, мои попытки добавить правило в раздел после установки не увенчались успехом, поскольку модуль ядра iptables не загружен, что привело к ошибке.

Возможно ли это сделать в рамках предварительного файла? Или я должен просто сдаться и включить брандмауэр при загрузке с помощью хака?

2
задан 8 February 2017 в 00:20

1 ответ

Я пытался получить эту работу некоторое время, также. Ничто, кажется, не работает. Пока я наконец не сдался, и я зафиксировал его с простым 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

В основном я сделал пользовательский rc.local сценарий, который выполняется ufw allow ssh на первом запуске, который затем уничтожит себя путем переименования исходного rc.local сценария назад к исходному месту. Это, кажется, работает.

3
ответ дан 8 February 2017 в 10:20
  • 1
    сервисный перезапуск администратора сети sudo – Scott Stensland 26 November 2017 в 07:38

Другие вопросы по тегам:

Похожие вопросы: