Ubuntu: Як додати правило iptables, яке UFW не може створити


15

UFW працює для мене дуже добре, за винятком випадків, коли цього немає ...

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

  • куди мені поставити це правило?
  • як слід змусити його запускатись під час завантаження?
  • як змусити його грати чудово з UFW?

1
ufw - одна з тих речей, "які ти бачиш - все отримуєш", що полегшує для новачків. Якщо вам потрібно зробити більше, ніж це можливо, подумайте про перехід до iptables повністю. Те, що «добре працює для мене», є хорошим доказом того, що ви можете спробувати щось (iptables) складніше (але і більш гнучко).
halp

Відповіді:


14

Відповідно до цієї сторінки вікі Ubuntu (прокрутіть униз до "Розширена функціональність"), ви можете досягти того, що ви хочете, помістивши власні iptablesправила у такі файли:

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

beforeФайл оцінюється до того , як ufwзастосовуються правила; afterфайл обчислюється після. (Для ваших правил також є відповідні файли before6та after6файли ip6tablesправил.)

Очікується, що ці файли правил будуть iptables-restoreнесумісними синтаксисом, імовірно, тому що ufwпросто завантажують їх за допомогою iptables-restore. Нарешті, зауважте, що вам потрібно зупинити та перезапустити ufwпісля внесення будь-яких змін у файли правил.


3
Зауважте, що ви можете (можливо ненавмисно) змінити пріоритет правил iptables, якщо ви забудете стандартизувати використання -I або -A при використанні цих файлів. -I (вставка) додає правила до ТОП ланцюга, оцінених спочатку, тоді як -A (додавання) додає їх до низу ланцюга. Це може спричинити несподівані результати, якщо, наприклад, ви використовуєте -I у файлі .after. Просто думка.
Сем Галіке

0

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 ) UFW.

Це дійсно контрінтуїтивна поведінка і зовсім не документально підтверджене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.