|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|
Как "по учебнику" загружать правильно iptables в Ubuntu?11.09.2009, 21:39. Показов 22657. Ответов 30
Метки нет (Все метки)
С одной стороны, есть скрипт правил iptables (для chillispot). В Mandriva "борьба" с ними выглядит так - сначала сбрасываем iptables в дефаулт:
/etc/init.d/iptables stop потом запускаем скрипт, загружающий правила. /usr/share/doc/chillispot-1.0/firewall.iptables потом сохраняем текущие правиля в файл /etc/init.d/iptables save (имя файла, куда сохранять, мы не указываем и правиля сохраняются в "дефаултный" файлЮ который потом подхватывается при старте системы безо всяких дополнительных телодвижений). А с другой стороны, есть Ubuntuю Нагуглил вот такой мануал на их сайте: https://help.ubuntu.com/community/IptablesHowTo но в нем отличие в том, что при сохранении нужно указать имя файла в который сохраняем, а вдобавок еще и прилепитьь куда-то в загрузку (в указанном мануале примеры прилагаются) команду восстановления этих правил. Вопрос собственно в том - а нет ли какого-то "стандартного" механизма. ЗЫ. Используется в шлюзе, к которому ни клавы/мыши, ни монитор не пождключаются, десктоп не загружается, а потому надо как-то без иксов...
0
|
|
| 11.09.2009, 21:39 | |
|
Ответы с готовыми решениями:
30
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 12.09.2009, 02:40 | |
|
Не знаю, как насчет убунту, но часто юзаются стандартные утилиты, входящие в пакет iptables. Для сохранения iptables-save с перенаправлением в файло. А потом куда-нибудь в загрузку пихаем восстановление типа cat file | iptables-restore. Ничего сложного, все стандартно.
0
|
|
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
| 12.09.2009, 21:38 | |
|
Стандартно всегда в Linux делал так:
1) Набить кучу правил в iptables. 2) /etc/init.d/iptables save Все! При перезагрузке эаписанные правила сами будут загружены в iptables. Никаких загрузок сторонними методами из файла не нужно ! Мне интересно кто это вообще все придумал ? Сохраненные правила лежат обычно в /etc/sysconfig/iptables.save
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 12.09.2009, 21:40 | |
|
odip, тот, кто знает, что не на всех системах правила будут ресторится. И если ты еще не в курсе, то iptables save сохраняет правила используя утилиту iptables-save. И действительно, кто ж это придумал
а ты догадываешься, как она их восстанавливает? Вот и замечательно.
0
|
|
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
||
| 12.09.2009, 21:45 | ||
|
iptables-save & iptables-restore - это несколько другие утилиты.
И служат они видимо если нужно иметь несколько наборов ! Кстати разработчики iptables наконец-то опомнились и делают принципиально новую версию firewall, синтаксис которого чем-то будет похож на известный OpenBSD-ный firewall pf. Принцип работы там будет похож на работу с pf. То есть - имеется конфиг /etc/new-iptables.conf, где сразу описаны все правила без всяких номеров правил и абсолютного идиотского синтаксиса через ключи как в iptables. Правила будут описываться на формальном очень простом языке. Более того - правила будут подгружаться в ядро атомарно одной командой. И много других плюшек против iptables. Добавлено через 1 минуту
Насколько я понимаю нужно просто выставить в загрузку сервис iptables, а он уже сам восстанавливает свой конфиг из файла.
0
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|||||
| 12.09.2009, 21:52 | |||||
![]() odip, блин, я те талдычу о том, что когда ты стартуешь свой фаервол, он запускает тот iptables-restore, чтобы восстановить правила. Когда ты вызываешь iptables save, он вызывает iptables-save, чтобы их сохранить.
Добавлено через 2 минуты
0
|
|||||
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|||
| 12.09.2009, 21:57 | |||
Я говорю про другое - нет смысла самому вызывать iptables-save & iptables-restore, когда достаточно сохранить c помощью: /etc/init.d/iptables save
В любом случае вот такой пример. Тебе нужно добавить 2 правила в iptables. Можешь ли ты добавить их атомарно ? С помощью /usr/sbin/iptables врядли. Хотя если ты говоришь что iptables-restore работает атомарно, то можно сделать так: 1) сохранить правила в конфиг. 2) Исправить конфиг. 3) Загрузить конфиг атомарно.
0
|
|||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|||||||||||||
| 12.09.2009, 22:06 | |||||||||||||
И номер два. Я с фаерволом по работе возился полгода. И мне встречались такие конфигурации систем, где нет никакого рестора на старте iptables. И не раз. И номер три. Смотрим в тот же инит скрипт и увидим, что при iptables save будет вызываться
Убунту я не пользовался, так как, от нее меня тошнит. Поэтому я понятия не имею, что там они могли сделать с инит-скриптом айпитэйблз или еще что. Поэтому приведенный мною пример, делает все, что делает стандартный инит-скрипт. И мы уже точно знаем, что этот код у нас есть и он будет работать.
0
|
|||||||||||||
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
||||||
| 12.09.2009, 22:28 | ||||||
![]() Я вроде уже согласился с тобой почти по всем пунктам ![]()
Просто мне не попадались и хочу знать в каких системах нет такой фичи заранее ![]()
![]()
![]() Вот тут я как раз с тобой не согласен ! Если в системе работает описанный мной метод (/etc/init.d/iptables save) тогда нужно использовать именно этот метод, а не корежить загрузочные скрипты костылями !!! Если же восстановления стандартно не происходит, то следует сначала убедиться в этом, а потом уже использовать например предложенный тобой способ. Я вспомнил - давно когда-то действительно не было даже команды такой: /etc/init.d/iptables save, но с тех пор как она появилась в Linux я все время ей пользуюсь и не видел пока систем, где при загрузки не происходит восстановления. Вобщем это довольно логично - зачем вообще делать команду сохранения настроек iptables, если потом при перезагрузке восстановления этих настроек не происходит ?
0
|
||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|||||
| 12.09.2009, 22:36 | |||||
|
Эта коммерческая ось, базирующаяся на линухе.
Это же линукс.
![]() такой же способ дал ему ты. Но при этом горделиво написав: "Никаких загрузок сторонними методами из файла не нужно !" так вот я и показал тебе, что во время твоих манипуляций bash выполнял такие же действия, как и я. Только он в инит-скрипте, а я в шелле. Поэтому тут никто не выиграл и не проиграл. Но в случае с ручной работой, мы знаем, что делаем. Нашу ручную работу можно заменить обычным просмотром инит-скрипта у iptables, что она содержит вызов iptables-restore
0
|
|||||
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|
| 12.09.2009, 22:50 [ТС] | |
|
Про пример без рестора - убунту 9.04. Про подтверждение - ссылка, которую я дал в самом первом посте - там на сайте хелпа самой убунты и предлагают рестор дописывать "куда-то" (предлагается как минимум пару вариантов).
Вариант, предложенный odip, прекрасен, он мной также написан в моем самом первом посте. Я им пользуюсь в своей мандриве - все ок. Просто тут подсунули повозится с бунту, к нее такого не оказалось. Причина в принципе (на мой взгляд) проста - там в init.d вообще нет скрипта iptables (естественно и в уровнях щагрузки тоже). Потому там никакой дефаулт никем и не восстанавливается... За ответы спасибо! Просто допишу куда-нибудь в загрузку рестор из сохраненного файла...
0
|
|
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|||||||
| 12.09.2009, 22:56 | |||||||
Костыли - это например попытка вставить код восстановления iptables куда попало в /etc/init.d/ !!! Там много всяких скриптов, которые работают в строго определенной посл-ти и попытка вставить загрузку iptables например после загрузки сетевых сервисов. Очевидно что iptables должен подгружаться до загрузки любого сетевого сервиса или до доступа к нему. Как правило в дистрибутиве все очень сильно завязано и все отлажено.
![]() Линукс - местами такая вот поделка на коленке и есть.
Без этого мне трудно указать какую-либо ошибку или скажать что все нормально. Я только знаю что не так все тривильно как тебе кажется и нужно учесть кучу тонких моментов. Можно конечно сделать все на коленке. Например поставить скрипт, который запускается через 10 минут загрузки системы. Работать будет ? Будет. Ну а то что 10 минут система без защиты работает - это же мелочи ? ![]()
А именно - если разработчик предусмотрел стандартный способ подгрузить правила в нужный момент, то мы доверяем ему в этом вопросе и будем использовать его способ. Можно чихать на разработчика и вставить свой код, но я не считаю это правильным администрированием.
Я глазами код не видел, поэтому буду сомневаться пока не увижу сам ![]() Практика показывает что лучше делить вещи на те, в которых убедился сам лично, и на те, которых пришли из других источников ![]() Добавлено через 3 минуты
Нужно в строго определенное место ! Прицелиться и точно попасть ! Кстати очень странно, что в Ubuntu нет восстановления iptables по умолчанию. Этот баг давно должны были заметить и исправить. Система позиционируется на чайников, а чайники не будет рыться в ней чтобы добавлять свои костыли для такого простого действия как поднять правила iptables при загрузке.
0
|
|||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||||
| 12.09.2009, 23:01 | ||||||||
Добавлено через 1 минуту
Добавлено через 1 минуту
0
|
||||||||
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
| 12.09.2009, 23:03 | |
|
Если ты считаешь себя умнее разработчиков системы, то я тебя переубеждать не буду - мне это не нужно.
Можешь вообще сделать rm -rf /etc/init.d/* и переписать все стартовые скрипты ![]() Да чего там - делай сразу rm -rf /
0
|
|
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|
| 12.09.2009, 23:05 [ТС] | |
|
У как у вас тут сердито получается.
В принципе, в той странице убунты предлагают сделать так - файл /etc/network/interfaces оформить таким образом: auto eth0 iface eth0 inet dhcp pre-up iptables-restore < /etc/iptables.rules тобишь, перед стартом интерфейса загружаются сохраненные ранее правила. Без дополнительных боев ответить можете - так пойдет?
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 12.09.2009, 23:05 | ||
0
|
||
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
||
| 12.09.2009, 23:07 | ||
Пойдет еще как !!!
0
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||
| 12.09.2009, 23:08 | ||||
dmkhn, пойдет.
Вот тебе пример еще одной системы, где iptables не ресторится (какого-то лешего...)
0
|
||||
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
||
| 12.09.2009, 23:08 | ||
Надо Ubuntu у кого-нибудь взять и посмотреть.
0
|
||
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|
| 12.09.2009, 23:09 [ТС] | |
|
Понял, ссылку никто и не читал. Потому цитирую первый абзац:
Iptables is a firewall, installed by default on all official Ubuntu distributions (Ubuntu, Kubuntu, Xubuntu). When you install Ubuntu, iptables is there, but it allows all traffic by default. Ubuntu 8.04 Comes with ufw - program for managing the iptables firewall There is a wealth of information available about iptables, but much of it is fairly complex, and if you want to do a few basic things, this How To is for you. Basic Commands Typing # iptables -L lists your current rules in iptables. If you have just set up your server, you will have no rules, and you should see Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
0
|
|
| 12.09.2009, 23:09 | |
|
Помогаю со студенческими работами здесь
20
Как правильно загружать изображения?
Как правильно загружать БД SQL на хостинг? Как правильно загружать и раздавать видео? Маршрутизация: как правильно записать правило для iptables Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|