The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"/etc/netstart"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"/etc/netstart" 
Сообщение от Евгений emailИскать по авторуВ закладки(??) on 20-Май-05, 18:28  (MSK)
У меня проблема в следующем. Когда удаленно запускаю на машине /etc/netstart для перезагрузки правил фаервола из файла, доступ к машине прекращается. Иду в серверную и вижу, что там только первые два правила остались и последнее!!!
Потом при запуске /etc/netstart локально все правила загружаются нормально.
У меня FreeBSD 5.4. На 4.11 такой фигни нету. В чем проблема?
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • /etc/netstart, dvsarc, 18:39 , 20-Май-05, (1)  
    • /etc/netstart, Евгений, 20:15 , 20-Май-05, (2)  
      • /etc/netstart, Brainbug, 10:44 , 24-Май-05, (3)  
  • /etc/netstart, RCOleg, 19:33 , 01-Июн-05, (4)  
  • /etc/netstart, AMDmi3, 21:00 , 01-Июн-05, (5)  
    • /etc/netstart, Azazelo, 17:27 , 06-Июн-05, (6)  
      • /etc/netstart, Azazelo, 17:31 , 06-Июн-05, (7)  
      • /etc/netstart, AMDmi3, 18:37 , 06-Июн-05, (8)  
        • /etc/netstart, секрет, 06:09 , 07-Июн-05, (9)  
          • /etc/netstart, Alexey Leonchik, 08:46 , 07-Июн-05, (10)  

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "/etc/netstart" 
Сообщение от dvsarc Искать по авторуВ закладки on 20-Май-05, 18:39  (MSK)
>У меня проблема в следующем. Когда удаленно запускаю на машине /etc/netstart для
>перезагрузки правил фаервола из файла, доступ к машине прекращается. Иду в
>серверную и вижу, что там только первые два правила остались и
>последнее!!!
>Потом при запуске /etc/netstart локально все правила загружаются нормально.
>У меня FreeBSD 5.4. На 4.11 такой фигни нету. В чем проблема?
>

sh /etc/netstart

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "/etc/netstart" 
Сообщение от Евгений emailИскать по авторуВ закладки(??) on 20-Май-05, 20:15  (MSK)

>sh /etc/netstart

не помогло. Загружает первое правило и последнее. Пробовал переставить верхние правила в середну. После загрузки первого, файервол дальше правила не грузит.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "/etc/netstart" 
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 24-Май-05, 10:44  (MSK)
>
>>sh /etc/netstart
>
>не помогло. Загружает первое правило и последнее. Пробовал переставить верхние правила в
>середну. После загрузки первого, файервол дальше правила не грузит.

I pravilno delajet.
Jesli pomostret skript zagruzki pravil, to mozno uvidet, 4to pervoje
4to delajetca - flush, posemu srazu obrivajetca svaz i vse. Pravila do
konca ne zagruzeni i ostajutca default (ACCEPT libo DENY).
Dla udalennoi perezegruzki pravil ispolzui at ili cron.
Zdes v uzhe obsuzdalos kak i 4to nado delat.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "/etc/netstart" 
Сообщение от RCOleg Искать по авторуВ закладки(ok) on 01-Июн-05, 19:33  (MSK)
>У меня FreeBSD 5.4. На 4.11 такой фигни нету. В чем проблема?
И на 4.11 такая трабла есть! Такого рода пост я уже поднимал,
http://www.opennet.ru/openforum/vsluhforumID1/51206.html#32.
Мое решение:
Webmin - Задания cron etc /etc/rc.firewall - выполнить сейчас. Все правила применяются.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "/etc/netstart" 
Сообщение от AMDmi3 Искать по авторуВ закладки on 01-Июн-05, 21:00  (MSK)
>У меня проблема в следующем. Когда удаленно запускаю на машине /etc/netstart для
>перезагрузки правил фаервола из файла, доступ к машине прекращается. Иду в
>серверную и вижу, что там только первые два правила остались и
>последнее!!!
>Потом при запуске /etc/netstart локально все правила загружаются нормально.
>У меня FreeBSD 5.4. На 4.11 такой фигни нету. В чем проблема?

Уж сколько раз твердили миру...

nohup /etc/netstart
daemon /etc/netstart
screen /etc/netstart
at
cron

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "/etc/netstart" 
Сообщение от Azazelo Искать по авторуВ закладки(??) on 06-Июн-05, 17:27  (MSK)
>>У меня проблема в следующем. Когда удаленно запускаю на машине /etc/netstart для
>>перезагрузки правил фаервола из файла, доступ к машине прекращается. Иду в
>>серверную и вижу, что там только первые два правила остались и
>>последнее!!!
>>Потом при запуске /etc/netstart локально все правила загружаются нормально.
>>У меня FreeBSD 5.4. На 4.11 такой фигни нету. В чем проблема?
>
>Уж сколько раз твердили миру...
>
>nohup /etc/netstart
>daemon /etc/netstart
>screen /etc/netstart
>at
>cron


вот начало моего firewalla

#!/bin/sh
ipfw="/sbin/ipfw -q"
${ipfw} -f flush
.....

в таком случае работает без проблем , даже если запустить так .
#sh /etc/rc.fire  

а если такая шапка .
#!/bin/sh
ipfw="/sbin/ipfw -q"
/sbin/ipfw -f flush

то работает #sh /etc/rc.fire &

правда тогда ssh конект отвалится , но можно опять подключится .


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "/etc/netstart" 
Сообщение от Azazelo Искать по авторуВ закладки(??) on 06-Июн-05, 17:31  (MSK)
забыл добавить , по умолчанию стоит deny .
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "/etc/netstart" 
Сообщение от AMDmi3 Искать по авторуВ закладки on 06-Июн-05, 18:37  (MSK)
>правда тогда ssh конект отвалится , но можно опять подключится .

Происходит примерно следующее:

1) Вы запускаете скрипт, меняющий правила firewalla, который, разумеется, первым делом делает flush. Т.к. стоит default to deny, любой траффик блокируется.
2) Скрипт работает дальше, добавляя правила по одному. Если нет опции -q, строчки с правилами правила пишутся в stdout.
3) sshd берет stdout скрипта и пытается отправить его вам по сети,
4) и, естественно, обламывается, потому что траффик блокируется. Ошибка считается фатальной и sshd считает сессию разорваной.
5) Вместе с сессией прибивается (сигналом HUP) все, что в ней запущено, т.е. наш скрипт.

Все, сессии нет, в firewall'e пара-тройка правил. Финита.

Как бороться:
1) Можно сделать так, чтобы ipfw не писал ничего в stdout, тогда sshd нечего будет отправлять клиенту во время работы скрипта, и период, когда траффик блокируется, мы успешно минуем. Это делается при помощи указания ipfw опции -q или так: ./my_cool_firewall_script >/dev/null 2>&1. Это будет работать, но все равно гарантии, что sshd не приспичит нам что-нибудь послать пока работает скрипт, нету, так что в один прекрасный миг можно жестоко наколоться.

2) Простейшие варианты:
- Запускать скрипт как nohup имя_скрипта. Наш скрипт будет игнорировать сигнал HUP, который пошлет ему sshd в случае обрыва сессии и отработает целиком. Вывод будет перенаправлен в файл nohup.out в текущем каталоге. Вывод можно будет посмотреть, правда файл можно забыть стереть. Со временем их может много накопиться в разных местах файловой системы :)
- Запускать скрипт как daemon -cf имя скрипта. Тогда скрипт демонизируется, т.е. отвалится от псевдотерминала, и уже не будет частью сессии, т.е. HUP ему не пошлется. Вывода вы не увидите.
- Запускать скрипт в screen. И вывод можно будет посмотреть и скрипт не прервется, и файлов не будет. Если запускать screen в обычном режиме (т.е. не detached), вывод все-таки пойдет через sshd и сессия может отвалиться.
- Запускать скрипт через at. Например at "now +1 min". Вывод придет вам в виде письма, обрыв сессии, разумеется, не страшен.
- Запускать скрипт через cron. Добавить задание как, например, ежеминутное (* * * * *), потом убрать. Дурацкий способ, тем не менее кто-то его использует.

3) Продвинутый способ.
Идеальным решеним будет иметь программу, меняющую правила ipfw, перенаправляя вывод в какой-либо файл (чтобы не беспокоить sshd и не рвать сессию), позаботившись о защите от SIGHUP (чтобы, если сессия все-таки порвется, скрипт доработал и правила не пропали). Кроме того, через некоторый промежуток времени, она должна восстановить предедущую конфигурацию firewall'а. Таким образом вы будете надежно защищены от ошибок при удаленной настройке ipfw. Пожно копнуть еще глубже и, например, останавливать (SIGSTOP/SIGCONT) sshd на время смены правил. Либо настроить ipfw на пропускание пакетов по умолчанию, а последним правилом добавлять deny all, хотя это не особо хороший способ. В общем, думайте. А я думаю кем-то все это уже написано :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "/etc/netstart" 
Сообщение от секрет Искать по авторуВ закладки on 07-Июн-05, 06:09  (MSK)
не проще для фаера:
sh /etc/rc.firewall ?

у меня так (примерно):
#cat /etc/rc.firewall
ipfw -q flush
ipfw add pass all from any to any

по идее надо вставлять #!/bin/sh в начало (да ладно, и так пашет)

а netstart использую редко и только для перезагрузки интерфейсов (добавления новых)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "/etc/netstart" 
Сообщение от Alexey Leonchik Искать по авторуВ закладки(??) on 07-Июн-05, 08:46  (MSK)
>не проще для фаера:
>sh /etc/rc.firewall ?

Поддерживаю. Тоже всегда пользовался sh /etc/rc.firewall

А /etc/netstart - когда надо было IP менять:

route default delete; /etc/netstart stop; /etc/netstart start

Соединение рвалось в обоих случаях, но разве это проблема?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру