Ubuntu: Как добавить правило iptables, которое UFW не может создать

UFW работает очень хорошо для меня, за исключением случаев, когда это не...

Я хочу иметь возможность добавить другое правило вручную, которое будет применяться при загрузке?

  • где я должен поставить это правило?
  • как сделать так, чтобы он запускался при загрузке?
  • как мне заставить его играть с UFW?

1 ответ

Решение

Согласно этой вики-странице Ubuntu (прокрутите вниз до "Advanced Functionality"), вы можете достичь того, чего хотите, поставив свой собственный iptables правила в следующие файлы:

  • /etc/ufw/before.rules
  • /etc/ufw/after.rules

before файл оценивается перед любым ufw правила применяются; after файл оценивается после. (Есть также соответствующие before6 а также after6 файлы правил, для вашего ip6tables правила.)

Эти файлы правил должны находиться в iptables-restore-совместимый синтаксис, вероятно, потому что ufw просто загружает их, используя iptables-restore, Наконец, обратите внимание, что вам нужно остановить и перезапустить ufw после внесения каких-либо изменений в файлы правил.

UFW удалит любое добавленное вручную правило в /etc/ufw/user.rules которому НЕ предшествует комментарий:

### tuple ### allow tcp 80 0.0.0.0/0 any 0.0.0.0/0 out
-A ufw-user-output -p tcp --dport 80 -j ACCEPT

Когда UFW sanity проверяет правила при запуске, он ожидает сопровождающий комментарий. Если он НЕ присутствует, даже если синтаксис правила правильный, UFW все равно удалит его.

И не просто используйте произвольный комментарий: это ДОЛЖЕН быть комментарий, который UFW вставит при создании пользовательского правила через cli, то есть:

sudo ufw allow http/tcp

Поэтому, если вы хотите предварительно заполнить серию правил в наборе правил в простом файле, вам все равно нужно создать правила через интерфейс CLI UFW, чтобы узнать синтаксис комментариев, которые он ожидает, чтобы правило прошло проверку и сохранялось.,

Попробуйте описанное выше и БЕЗ комментария и перезагрузите приведенное выше правило HTTP для образца; Вы заметите только с комментарием, что добавленное вручную правило выдержит перезапуск (UFW Enable) UFW.

Это действительно нелогичное поведение и совсем не задокументировано.

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