Форум программистов, компьютерный форум, киберфорум
Ubuntu, Mint Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/112: Рейтинг темы: голосов - 112, средняя оценка - 4.89
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.09.2009, 21:39
Ответы с готовыми решениями:

Можно изучать Mint по учебнику для Ubuntu ?
Привет. Я тут погуглил и почитал о различиях Убунту и Минт. И я так понял, что вся разница в дизайне: У меня есть книжка "Денис...

Ubuntu 18.04.3. Как применить скрипт для обновления iptables при перезапуске системы?
Создаём инициализирующий скрипт с дампом правил iptables: nano /etc/firewall.v4.init Копируем в инициализирующий скрипт правила для...

Как включить в iptables исходящие соединения из приложения, работающего в Ubuntu на удалённые серверы и общение с ними?
Есть такие настройки. Как мне разрешить моему приложению, развёрнутому на Ubuntu, общаться по HTTP и HTTPS с удалённым сервером. То есть...

30
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
12.09.2009, 02:40
Не знаю, как насчет убунту, но часто юзаются стандартные утилиты, входящие в пакет iptables. Для сохранения iptables-save с перенаправлением в файло. А потом куда-нибудь в загрузку пихаем восстановление типа cat file | iptables-restore. Ничего сложного, все стандартно.
0
Эксперт С++
 Аватар для odip
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
Эксперт С++
 Аватар для odip
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
iptables-save & iptables-restore - это несколько другие утилиты.
Конечно. Совсем другие
odip, блин, я те талдычу о том, что когда ты стартуешь свой фаервол, он запускает тот iptables-restore, чтобы восстановить правила. Когда ты вызываешь iptables save, он вызывает iptables-save, чтобы их сохранить.
Мне такие не попадались.
это не значит, что их нет.

Добавлено через 2 минуты
Более того - правила будут подгружаться в ядро атомарно одной командой.
Уй, ты умница какой вырос. Да. И эта команда iptables-restore.
То есть - имеется конфиг /etc/new-iptables.conf, где сразу описаны все правила без всяких номеров правил и абсолютного идиотского синтаксиса через ключи как в iptables.
Отличный синтаксис. Очень простой и понятный. Никаких номеров правил там нет.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
12.09.2009, 21:57
когда ты стартуешь свой фаервол, он запускает тот iptables-restore, чтобы восстановить правила. Когда ты вызываешь iptables save, он вызывает iptables-save, чтобы их сохранить.
Раз ты говоришь, то видимо так и есть.
Я говорю про другое - нет смысла самому вызывать iptables-save & iptables-restore, когда достаточно сохранить c помощью: /etc/init.d/iptables save
Уй, ты умница какой вырос. Да. И эта команда iptables-restore.
Я вот не уверен что ты прав.

В любом случае вот такой пример.
Тебе нужно добавить 2 правила в iptables.
Можешь ли ты добавить их атомарно ?
С помощью /usr/sbin/iptables врядли.
Хотя если ты говоришь что iptables-restore работает атомарно, то можно сделать так:
1) сохранить правила в конфиг.
2) Исправить конфиг.
3) Загрузить конфиг атомарно.
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
12.09.2009, 22:06
1) сохранить правила в конфиг.
2) Исправить конфиг.
3) Загрузить конфиг атомарно.
легко. Дело в том, что iptables-restore сначала прочитает их все из конфига. А не по одному. А потом атомарно применит.
Я вот не уверен что ты прав.
Смотри фокус, у нас есть init-скрипт для фаервола. Который в функции start, которая вызывается на старте фаервола, ясным английским текстом запускает iptables-restore. Так что, тут сам код инит-скрипта:
Bash
1
$IPTABLES-restore $OPT $IPTABLES_DATA
доказывает, что ты не прав. Это был номер раз.

И номер два. Я с фаерволом по работе возился полгода. И мне встречались такие конфигурации систем, где нет никакого рестора на старте iptables. И не раз.

И номер три. Смотрим в тот же инит скрипт и увидим, что при iptables save будет вызываться
Bash
1
$IPTABLES-save $OPT > $TMP_FILE
Вот все выше приведенное отлично работает почти везде. Но не везде.
Убунту я не пользовался, так как, от нее меня тошнит. Поэтому я понятия не имею, что там они могли сделать с инит-скриптом айпитэйблз или еще что. Поэтому приведенный мною пример, делает все, что делает стандартный инит-скрипт. И мы уже точно знаем, что этот код у нас есть и он будет работать.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
12.09.2009, 22:28
Дело в том, что iptables-restore сначала прочитает их все из конфига. А не по одному. А потом атомарно применит.
Ты уже говорил что он работает атомарно.
доказывает, что ты не прав. Это был номер раз.
Не прав в чем именно ?
Я вроде уже согласился с тобой почти по всем пунктам
И мне встречались такие конфигурации систем, где нет никакого рестора на старте iptables. И не раз.
Примеры - в каких ОС и если можно конкретные версии ?
Просто мне не попадались и хочу знать в каких системах нет такой фичи заранее
при iptables save будет вызываться
Опять же - я уже согласился
И мы уже точно знаем, что этот код у нас есть и он будет работать.
А вот он пункт, где я не согласен
Вот тут я как раз с тобой не согласен !
Если в системе работает описанный мной метод (/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
Эта коммерческая ось, базирующаяся на линухе.
а не корежить загрузочные скрипты костылями !!!
Тогда напиши разработчикам iptables, что у них в загрузочном скрипте костыли. Или это как? если у них в скрипте - это круто, если такой же код, или еще лучше у меня - это костыли? не смеши Это же линукс.
Если же восстановления стандартно не происходит, то следует сначала убедиться в этом,
Автор не просил его в чем-то убеждать. Я ему дал нормальный стандартый способ. Который будет работать функционально абсолютно аналогично твоему
такой же способ дал ему ты. Но при этом горделиво написав:
"Никаких загрузок сторонними методами из файла не нужно !"
так вот я и показал тебе, что во время твоих манипуляций bash выполнял такие же действия, как и я. Только он в инит-скрипте, а я в шелле. Поэтому тут никто не выиграл и не проиграл. Но в случае с ручной работой, мы знаем, что делаем. Нашу ручную работу можно заменить обычным просмотром инит-скрипта у iptables, что она содержит вызов iptables-restore
а потом уже использовать например предложенный тобой способ.
Этому кому как больше нравится. Я вообще стандартного скрипта iptables не юзаю. Я ему свой уже давно написал.
Не прав в чем именно ?
в том, что сомневаешься про восстановление правил через iptables-restore. Как ты видел, именно эта команда вызывается, когда у тебя выполняется iptables start
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
12.09.2009, 22:50  [ТС]
Про пример без рестора - убунту 9.04. Про подтверждение - ссылка, которую я дал в самом первом посте - там на сайте хелпа самой убунты и предлагают рестор дописывать "куда-то" (предлагается как минимум пару вариантов).

Вариант, предложенный odip, прекрасен, он мной также написан в моем самом первом посте. Я им пользуюсь в своей мандриве - все ок. Просто тут подсунули повозится с бунту, к нее такого не оказалось. Причина в принципе (на мой взгляд) проста - там в init.d вообще нет скрипта iptables (естественно и в уровнях щагрузки тоже). Потому там никакой дефаулт никем и не восстанавливается...

За ответы спасибо! Просто допишу куда-нибудь в загрузку рестор из сохраненного файла...
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
12.09.2009, 22:56
это костыли? не смеши
Костыли - это не код /etc/init.d/iptables.
Костыли - это например попытка вставить код восстановления iptables куда попало в /etc/init.d/ !!!
Там много всяких скриптов, которые работают в строго определенной посл-ти и попытка вставить загрузку iptables например после загрузки сетевых сервисов. Очевидно что iptables должен подгружаться до загрузки любого сетевого сервиса или до доступа к нему.
Как правило в дистрибутиве все очень сильно завязано и все отлажено.
Это же линукс.
Это ты не смеши меня
Линукс - местами такая вот поделка на коленке и есть.
Ни твой метод, ни мой.
Я не знаю в какой именно системе и куда именно ты вставляешь код загрузки iptables.
Без этого мне трудно указать какую-либо ошибку
или скажать что все нормально.
Я только знаю что не так все тривильно как тебе кажется и нужно учесть кучу тонких моментов.
Можно конечно сделать все на коленке.
Например поставить скрипт, который запускается через 10 минут загрузки системы.
Работать будет ?
Будет.
Ну а то что 10 минут система без защиты работает - это же мелочи ?
горделиво написав:
"Никаких загрузок сторонними методами из файла не нужно !"
Я написал так как считаю правильным.
А именно - если разработчик предусмотрел стандартный способ подгрузить правила в нужный момент, то мы доверяем ему в этом вопросе и будем использовать его способ.
Можно чихать на разработчика и вставить свой код, но я не считаю это правильным администрированием.
что сомневаешься про восстановление правил через iptables-restore.
А это нормально.
Я глазами код не видел, поэтому буду сомневаться пока не увижу сам
Практика показывает что лучше делить вещи на те, в которых убедился сам лично,
и на те, которых пришли из других источников

Добавлено через 3 минуты
За ответы спасибо! Просто допишу куда-нибудь в загрузку рестор из сохраненного файла...
Вот "куда-нибудь" не нужно !
Нужно в строго определенное место !
Прицелиться и точно попасть !

Кстати очень странно, что в Ubuntu нет восстановления iptables по умолчанию.
Этот баг давно должны были заметить и исправить.
Система позиционируется на чайников, а чайники не будет рыться в ней чтобы добавлять свои костыли для такого простого действия как поднять правила iptables при загрузке.
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
12.09.2009, 23:01
Костыли - это например попытка вставить код восстановления iptables куда попало в /etc/init.d/ !!!
Там много всяких скриптов, которые работают в строго определенной посл-ти и попытка вставить загрузку iptables например после загрузки сетевых сервисов. Очевидно что iptables должен подгружаться до загрузки любого сетевого сервиса или до доступа к нему.
Как правило в дистрибутиве все очень сильно завязано и все отлажено.
Товарищ, надо голову на плечах иметь прежде чем что-то писать. Вы, конечно, извиняйте, но половина того, что в init.d натолкал туда я сам. И у меня все отлично работает.
Это ты не смеши меня
Линукс - местами такая вот поделка на коленке и есть.
А раз поделка, как хочу, так для себя и настраиваю. Из поделки делаю нормальную вещь для себя.
А именно - если разработчик предусмотрел стандартный способ подгрузить правила в нужный момент, то мы доверяем ему в этом вопросе и будем использовать его способ.
Систему использую я, а не разработчик. Хочешь - юзай то, что тебе скажут. А моя система работает так, как нужно мне.
Я только знаю что не так все тривильно как тебе кажется и нужно учесть кучу тонких моментов.
В данном случае все очень тривиально.
Я глазами код не видел, поэтому буду сомневаться пока не увижу сам
Практика показывает что лучше делить вещи на те, в которых убедился сам лично,
и на те, которых пришли из других источников
А если глазами не видел, то нефиг успорять то, что другим уже сниться скоро будет.

Добавлено через 1 минуту
Кстати очень странно, что в Ubuntu нет восстановления iptables по умолчанию.
Ай-ай, че, не по "стандартам" пошло?

Добавлено через 1 минуту
в ней чтобы добавлять свои костыли
Слушай. Костыли у нас будешь добавлять ты. А нормальные люди будут добавлять "нужную им функциональность и capabilities". У тебя какая-то фобия на доработку напильником.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
12.09.2009, 23:03
Если ты считаешь себя умнее разработчиков системы, то я тебя переубеждать не буду - мне это не нужно.
Можешь вообще сделать rm -rf /etc/init.d/* и переписать все стартовые скрипты
Да чего там - делай сразу rm -rf /
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
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
там в init.d вообще нет скрипта iptables (естественно и в уровнях щагрузки тоже).
очень странно. А какие же тогда правила в netfilter на старте системы? Че, все ACCEPT?
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
12.09.2009, 23:07
файл /etc/network/interfaces оформить таким образом
Ну да - в Ubuntu используется новая система настройки сети - /etc/network/
Пойдет еще как !!!
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
12.09.2009, 23:08
Если ты считаешь себя умнее разработчиков системы, то я тебя переубеждать не буду - мне это не нужно.
Так как, система для меня, то да. Для нее я умнее разработчиков. Так как, линукс создан для того, чтобы его настроить полностью для себя, а не чтобы трястись над каждым редизайном и называть любую лишнюю строчку в скрипте - костылем.

dmkhn, пойдет.

Можешь вообще сделать rm -rf /etc/init.d/* и переписать все стартовые скрипты
Если нужно будет - сделаю без вопросов.
Да чего там - делай сразу rm -rf /
Если понадобится для моей цели - сделаю
Вот тебе пример еще одной системы, где iptables не ресторится (какого-то лешего...)
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
12.09.2009, 23:08
А какие же тогда правила в netfilter на старте системы? Че, все ACCEPT?
Видимо да - иначе может не прогрузиться система - зависнет например на DNS-запросах.
Надо Ubuntu у кого-нибудь взять и посмотреть.
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2009, 23:09
Помогаю со студенческими работами здесь

Как правильно загружать изображения?
Есть БД Access, Есть DBGrid с таблицой, в таблице есть столбик для фотографий(Поле MEMO). Собственно как загружать в него разные...

Как правильно загружать изображения?
Разрабатываю приложение для игры. Уже выпустил тестовую версию и из первой сотни установивших у двух человек вылезла такая ошибка: ...

Как правильно загружать БД SQL на хостинг?
При импорте БД на хост на другой БД выдает ошибку. Как решить проблему? Ошибка SQL-запрос: -- -- Dumping data for table...

Как правильно загружать и раздавать видео?
В общем, хочу сделать онлайн кинотеатр, и хотелось бы загружать фильмы на свой хостинг. Только вот не знаю как загружать их с чужих сайтов...

Маршрутизация: как правильно записать правило для iptables
три сетевые карты: одна локальная, две принимают инет от двух провайдеров. мне нужно все запросы из локальной сети на определенный IP...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru