TGViewer
LinuxSkill - Сводки с прода и Шпаргалки LinuxSkill - Сводки с прода и Шпаргалки @linuxskill · 10.7K subscribers
Post #618 3.95K
🧠 Как управлять iptables на лету — без sudo, без потерь

Привет, сетевой волшебник! Если ты хоть раз пытался автоматически обновлять правила iptables из приложения или скрипта — ты знаешь, насколько это боль.
Сегодня разберём, как это делать программно, безопасно и эффективно — даже без API.

🤯 Проблема: у iptables нет API

- libiptc не предназначена для использования — она нестабильна и может быть удалена в будущем.
- Прямого, документированного API в C, Python, Rust и т.д. не существует.

📌 Официальный ответ от Netfilter:
> “Нет, API не предусмотрен. Используйте system() или iptables-restore.”
Источник: Netfilter FAQ

✅ Что работает на практике:

#1. iptables-restore (атомарная загрузка правил)
Можно применять *весь ruleset сразу*, не теряя соединений:

iptables-restore < my_ruleset.conf


✔️ Безопасно: правила применяются при COMMIT, в один вызов ядра
✔️ Работает из любой программы через stdin


#2. ipset — для добавления IP без пересборки

ipset create allowlist hash:ip
ipset add allowlist 1.2.3.4
iptables -A INPUT -m set --match-set allowlist src -j ACCEPT


✔️ Отлично подходит для динамических списков
✔️ Есть поддержка timeout и swap
✔️ Работает быстро и без потерь


#3. rfw — REST API для iptables (open source)

Позволяет управлять правилами через HTTP-запросы:

PUT /drop/input/eth0/11.22.33.44


👉 Проект: https://github.com/gluczywo/rfw
✔️ Поддерживает JSON, GET, PUT, DELETE, сериализацию
✔️ Работает на localhost без SSL
✔️ Подходит для распределённых систем


#4. python-iptables

Обёртка над libiptc (но будь осторожен):

🔗 https://github.com/ldx/python-iptables
✔️ Удобен для скриптов
❗ Требует осторожности при работе с низкоуровневым API

🛑 Что не делать:

- Не пиши правила через iptables -A в цикле
- Не используй libiptc напрямую в проде
- Не забывай про iptables-save как бэкап перед внесением правок

🌳 Ветка: https://stackoverflow.com/questions/109553/how-can-i-programmatically-manage-iptables-rules-on-the-fly

📩 Завтра: Вопрос №17 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Настрой cron за 5 минут и забудь о ручной работе навсегда!
🧠 - Ты больше никогда не запутаешься в systemd: разбор по шагам!
🧠 - 10 секретов команды ping, которые знают только сетевые гуру

#stackoverflow @LinuxSkill #iptables #ipset #Linux #SysAdmin #DevOps #firewall #rfw #сетибезопасность
  • 👍 14
More from @linuxskill
  1. Oct 9, 2026💀 df показывает 100%, а du молчит? 5 шагов спасения прода Сервисы падают с «No space left…
  2. Oct 7, 2026Post #1243
  3. Oct 6, 2026GitOps-практики: развёртываем сервис через ArgoCD Классический CI/CD запускает деплой. Но…
  4. Oct 5, 2026Post #1241
  5. Oct 2, 2026📊 Диск тормозит, а iostat показывает норму? Ищем хвост задержек Приложение подвисает на з…
  6. Sep 30, 2026💀 CPU под 100%, а в top пусто? Ловим невидимые процессы через eBPF Сервер греется, в шапк…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →