The OpenNET Project / Index page

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




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

    sh /etc/netstart

    • /etc/netstart, !*! Евгений, 20:15 , 20-Май-05 (2)

      >sh /etc/netstart

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

      • /etc/netstart, !*! Brainbug, 10:44 , 24-Май-05 (3)
        >
        >>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.

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


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

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

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

    • /etc/netstart, !*! Azazelo, 17:27 , 06-Июн-05 (6)
      >>У меня проблема в следующем. Когда удаленно запускаю на машине /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 конект отвалится , но можно опять подключится .


      • /etc/netstart, !*! Azazelo, 17:31 , 06-Июн-05 (7)
        забыл добавить , по умолчанию стоит deny .
      • /etc/netstart, !*! AMDmi3, 18:37 , 06-Июн-05 (8)
        >правда тогда 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, хотя это не особо хороший способ. В общем, думайте. А я думаю кем-то все это уже написано :)

        • /etc/netstart, !*! секрет, 06:09 , 07-Июн-05 (9)
          не проще для фаера:
          sh /etc/rc.firewall ?

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

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

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

          • /etc/netstart, !*! Alexey Leonchik, 08:46 , 07-Июн-05 (10)
            >не проще для фаера:
            >sh /etc/rc.firewall ?

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

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

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

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




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

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