запуск скрипта после ipfw

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-19 15:55:38

paradox писал(а):не понятно почему тот же for нельзя было сразу добавить в тот скрипт
а нужно какието сложности и лезть в crontab .... у вас кошмарно неправильная логика
Если честно, я вообще не понял зачем cron нужен в данном, довольно-таки щепетильном вопросе, так сказать. for не пойдет, while в самый раз :)
Последний раз редактировалось reLax 2009-09-19 15:57:09, всего редактировалось 1 раз.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

warzoni
сержант
Сообщения: 186
Зарегистрирован: 2008-07-04 17:17:59
Откуда: Ukraine,Kiev
Контактная информация:

Re: запуск скрипта после ipfw

Непрочитанное сообщение warzoni » 2009-09-19 15:56:59

reLax писал(а):
warzoni писал(а):
reLax писал(а):
paradox писал(а):к тому же еще тонкость
фаервол когда грузиться - стандартный
он все очищает :-D
так чтоотключи фаер
и посмотри что с таблицей после загрузки системы
есть или нет
Что он очищает когда грузится ? Грузится откуда ? с rc.firewall. Не понимаю, что он там очистить может после _грамотного_ добавления в таблицу IP-адресов в конце ? :)

Код: Выделить всё

rc.conf
firewall_enable="YES"
firewall_script="/usr/local/etc/ipfw"

Код: Выделить всё

#!/bin/sh

ipfw -q flush
ipfw -q pipe flush
ipfw -q queue flush

#########
ipfw -q add  pass all from any to any via lo0
ipfw -q add  deny all from any to 127.0.0.0/8
ipfw -q add  deny ip from 127.0.0.0/8 to any
#####

ipfw -q  add allow ip from 'table(2)' to 'table(1)' via vr1
ipfw -q  add allow ip from 'table(1)' to 'table(2)' via vr1
Зачем ты lo0 сначала разрешил а потом прирезал ?:)
Короче

Код: Выделить всё

#!/bin/sh

ipfw -q flush
ipfw -q pipe flush
ipfw -q queue flush

#########
ipfw -q add  pass all from any to any via lo0
ipfw -q add  deny all from any to 127.0.0.0/8
ipfw -q add  deny ip from 127.0.0.0/8 to any
#####
/root/ua
ipfw -q  add allow ip from 'table(2)' to 'table(1)' via vr1
ipfw -q  add allow ip from 'table(1)' to 'table(2)' via vr1
cat /root/ua (при условии, что IP вида 192.168.0.0/24\n192.168.1.0/24\n192.168.2.0/24\n и тд)

Код: Выделить всё

#!/bin/sh
FILE="/root/ua"
while read LINE
    do
     /sbin/ipfw -q table 1 add $LINE
     done < $FILE    
Зачем мне эти сложнасти ваши, зачем в одну линию..кикието слеши..у меня деградированный список скачанный с сервера его надо добавлять у меня скрипт готовый он работает всё добовляет но когда система уже работает я захожу выполяню и он загружает айпи адреса,каторые расположенны в файле ,у меня на видь простая задача как мне этот скрипт запустить после ipfw потомушто видемо cron запускаетца до ipfw а не после и айпи адреса попросту не пишутца...


парадокс,ну блин я незнаю как ещё сказать помогите мне добавить айпи адреса из текстового файла в таблицу фаервола чтобы не заходить на шел и не запускатьс крипт постоянно )) когда система ребутнётца или свет пропадёт )))

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-19 15:59:36

Символ "\n" - вообще-то это перенос строки. Это я так для наглядности. Тоже самое, что и:

Код: Выделить всё

192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
...
И в какую одну линию ??? Это всего-лишь построчное чтение файла - проще не придумаешь :)
Последний раз редактировалось reLax 2009-09-19 16:00:29, всего редактировалось 1 раз.

warzoni
сержант
Сообщения: 186
Зарегистрирован: 2008-07-04 17:17:59
Откуда: Ukraine,Kiev
Контактная информация:

Re: запуск скрипта после ipfw

Непрочитанное сообщение warzoni » 2009-09-19 16:00:22

reLax писал(а):Символ "\n" - вообще-то это перенос строки. Это я так для наглядности. Тоже самое, что и:

Код: Выделить всё

192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
...
ясно ну так помогите мне загружать айпи адреса!как их засунуть в table 1

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-19 16:03:43

warzoni писал(а):
reLax писал(а):Символ "\n" - вообще-то это перенос строки. Это я так для наглядности. Тоже самое, что и:

Код: Выделить всё

192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
...
ясно ну так помогите мне загружать айпи адреса!как их засунуть в table 1
я же уже показал как - http://forum.lissyara.su/viewtopic.php? ... 20#p192849

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: запуск скрипта после ipfw

Непрочитанное сообщение paradox » 2009-09-19 16:04:25

парадокс,ну блин я незнаю как ещё сказать помогите мне добавить айпи адреса из текстового файла в таблицу фаервола чтобы не заходить на шел и не запускатьс крипт постоянно )) когда система ребутнётца или свет пропадёт )))
вот я и не понял зачем ты полез в кронтаб
когда у тебя есть скрипт который все грузит
его и редактируй

warzoni
сержант
Сообщения: 186
Зарегистрирован: 2008-07-04 17:17:59
Откуда: Ukraine,Kiev
Контактная информация:

Re: запуск скрипта после ipfw

Непрочитанное сообщение warzoni » 2009-09-19 16:16:32

paradox писал(а):
парадокс,ну блин я незнаю как ещё сказать помогите мне добавить айпи адреса из текстового файла в таблицу фаервола чтобы не заходить на шел и не запускатьс крипт постоянно )) когда система ребутнётца или свет пропадёт )))
вот я и не понял зачем ты полез в кронтаб
когда у тебя есть скрипт который все грузит
его и редактируй
добовляю с крипт ipfw Это

Код: Выделить всё

#!/bin/sh

for i in `grep "^[1-9]" /root/ua`
do
 /sbin/ipfw -q table 1 add $i

done
либо это

Код: Выделить всё

#!/bin/sh
while read ip
do
 ipfw -q table 1 add $ip
done < /root/ua
пори старте системы айпишников в table 1 нету

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-19 16:21:26

Код: Выделить всё

sh -vx /etc/ipfw
в студию

Andy
ст. лейтенант
Сообщения: 1117
Зарегистрирован: 2007-03-04 7:48:58
Откуда: Mytischi

Re: запуск скрипта после ipfw

Непрочитанное сообщение Andy » 2009-09-19 16:27:45

reLax писал(а):

Код: Выделить всё

sh -vx /etc/ipfw
в студию
Какие люди! Мы о тебе с Лехой вчера позавчера вспоминали.
Я думал тебя завалили уже :)
Jul 16 19:37:15 freebsd sshd[4152]: Invalid user idiot from 210.75.200.104

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-19 16:43:03

Andy писал(а):
reLax писал(а):

Код: Выделить всё

sh -vx /etc/ipfw
в студию
Какие люди! Мы о тебе с Лехой вчера позавчера вспоминали.
Я думал тебя завалили уже :)
привет ! Да ну что ты ))

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35267
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: запуск скрипта после ipfw

Непрочитанное сообщение Alex Keda » 2009-09-19 17:23:38

2 тредстартер
а таблица есть в момент запуска скрипта?
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: запуск скрипта после ipfw

Непрочитанное сообщение Гость » 2009-09-19 17:34:35

lissyara писал(а):2 тредстартер
а таблица есть в момент запуска скрипта?
канешно есть
local# ipfw show
00100 4696 374940 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
00400 1735404 106358287 allow ip from table(2) to table(1) via vr1
00500 3160739 4409792228 allow ip from table(1) to table(2) via vr1
00600 0 0 reject log logamount 5 tcp from any to any tcpflags syn,fin,ack,psh,rst,urg

я просто ен пойму почему не добовляютца айпи адреса из скрипта при загрузки системы..как бы мне решить этот вопрос..
Когда система загрузилась я захожу выполняю скрипт то всё добовляетца...тоетсь списки айпи адресов загружаютца в table 1

warzoni
сержант
Сообщения: 186
Зарегистрирован: 2008-07-04 17:17:59
Откуда: Ukraine,Kiev
Контактная информация:

Re: запуск скрипта после ipfw

Непрочитанное сообщение warzoni » 2009-09-19 17:36:40

reLax писал(а):
Andy писал(а):
reLax писал(а):

Код: Выделить всё

sh -vx /etc/ipfw
в студию
Какие люди! Мы о тебе с Лехой вчера позавчера вспоминали.
Я думал тебя завалили уже :)
привет ! Да ну что ты ))
ну я не совсем пойму что это но на ))

l

Код: Выделить всё

ocal# sh -vx /etc/ipfw
/etc/ipfw: Can't open /etc/ipfw: No such file or directory

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: запуск скрипта после ipfw

Непрочитанное сообщение paradox » 2009-09-19 17:39:29

sh -vx /usr/local/etc/ipfw
он имел ввиду
вы ж тоже думайте что вам говорят

warzoni
сержант
Сообщения: 186
Зарегистрирован: 2008-07-04 17:17:59
Откуда: Ukraine,Kiev
Контактная информация:

Re: запуск скрипта после ipfw

Непрочитанное сообщение warzoni » 2009-09-19 17:50:34

paradox писал(а):
sh -vx /usr/local/etc/ipfw
он имел ввиду
вы ж тоже думайте что вам говорят

Код: Выделить всё

local# sh -vx /usr/local/etc/ipfw
#!/bin/sh

ipfw -q flush
+ ipfw -q flush
ipfw -q pipe flush
+ ipfw -q pipe flush
ipfw -q queue flush
+ ipfw -q queue flush

#########
ipfw -q add  pass all from any to any via lo0
+ ipfw -q add pass all from any to any via lo0
ipfw -q add  deny all from any to 127.0.0.0/8
+ ipfw -q add deny all from any to 127.0.0.0/8
ipfw -q add  deny ip from 127.0.0.0/8 to any
+ ipfw -q add deny ip from 127.0.0.0/8 to any
#####

ipfw -q  add allow ip from 'table(2)' to 'table(1)' via vr1
+ ipfw -q add allow ip from table(2) to table(1) via vr1
ipfw -q  add allow ip from 'table(1)' to 'table(2)' via vr1
+ ipfw -q add allow ip from table(1) to table(2) via vr1

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-19 17:55:48

у меня такое ощущение что с глухим говорю :)

я же явно написал ранее, что перед

Код: Выделить всё

ipfw -q  add allow ip from 'table(2)' to 'table(1)' via vr1
прописать

Код: Выделить всё

/там где-то/свой скрипт
:)

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-19 17:58:39

Ты сам чтоли не видишь, что у тебя таблицы изначально пустые и не назначены вообще ?

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-19 18:05:39

Я когда использовал ipfw (пока на pf не перешли) на серверах, то такие вещи типа этой проходили на ура просто, и в этом ничего удивительного нету просто вставить в rc.firewall скрипт:

Код: Выделить всё

#!/bin/sh

    fwcmd="/sbin/ipfw"
    iif="msk0"
    priv_dummynet="250 234 23 33"
    norm_dummynet="43 233 30 96"
    i=0

    ${fwcmd} -f pipe flush
    ${fwcmd} -f queue flush


  #---BEGIN DUMMYNET---#

  ${fwcmd} table 3 flush
      while  [ $i -le 255 ];
          do
          ${fwcmd} table 3 add 172.17.2.${i}
          i=`expr $i + 1`
          done

  ${fwcmd} table 1 flush
      for line in ${priv_dummynet}
        do
        ${fwcmd} table 1 add 172.17.2.${line}
        ${fwcmd} table 3 delete 172.17.2.${line}
        done

  ${fwcmd} table 2 flush
      for line in ${norm_dummynet}
        do
        ${fwcmd} table 2 add 172.17.2.${line}
        ${fwcmd} table 3 delete 172.17.2.${line}
        done


       #---PRIVELEGED---#

       ${fwcmd} pipe 1 config mask src-ip 0xffffffff bw 1024Kbit/s
       ${fwcmd} queue 11 config pipe 1 weight 80 queue 20 mask dst-ip 0xffffffff
       ${fwcmd} queue 12 config pipe 1 weight 80 queue 20 mask src-ip 0xffffffff
       ${fwcmd} add queue 11 ip from table\(1\) to any in via ${iif}
       ${fwcmd} add queue 12 ip from any to table\(1\) out via ${iif}

       #---NORMAL---#

       ${fwcmd} pipe 2 config mask src-ip 0xffffffff bw 368Kbit/s
       ${fwcmd} pipe 3 config mask src-ip 0xffffffff bw 128Kbit/s
       ${fwcmd} queue 21 config pipe 3 weight 50 queue 20 mask dst-ip 0xffffffff
       ${fwcmd} queue 22 config pipe 2 weight 50 queue 20 mask src-ip 0xffffffff
       ${fwcmd} add queue 21 ip from table\(2\) to any in via ${iif}
       ${fwcmd} add queue 22 ip from any to table\(2\) out via ${iif}

       #---OTHERS---#

       ${fwcmd} pipe 4 config mask src-ip 0xffffffff bw 256Kbit/s
       ${fwcmd} pipe 5 config mask src-ip 0xffffffff bw 64Kbit/s
       ${fwcmd} queue 31 config pipe 4 weight 30 queue 20 mask dst-ip 0xffffffff
       ${fwcmd} queue 32 config pipe 4 weight 20 queue 20 mask src-ip 0xffffffff
       ${fwcmd} queue 41 config pipe 5 weight 25 queue 20 mask dst-ip 0xffffffff
       ${fwcmd} queue 42 config pipe 5 weight 25 queue 20 mask src-ip 0xffffffff
       ${fwcmd} add queue 31 ip from table\(3\) to any not dst-port 143,5190 in via ${iif}
       ${fwcmd} add queue 32 ip from any not 143,5190 to table\(3\) out via ${iif}
       ${fwcmd} add queue 41 ip from table\(3\) to any dst-port 143,5190 in via ${iif}
       ${fwcmd} add queue 42 ip from any 143,5190 to table\(3\) out via ${iif}

warzoni
сержант
Сообщения: 186
Зарегистрирован: 2008-07-04 17:17:59
Откуда: Ukraine,Kiev
Контактная информация:

Re: запуск скрипта после ipfw

Непрочитанное сообщение warzoni » 2009-09-19 18:08:25

reLax писал(а):Ты сам чтоли не видишь, что у тебя таблицы изначально пустые и не назначены вообще ?
Они и должны быть пустыми изначально,их содаёт пустими скрипт каторый я прописал в rc.conf скирпт называетца ipfw каторый расположен /usr/local/etc/ipfw здесь

и так проблемма решилась путём добовление строчки прям в скрипт загрузки фаервола спасибо relax! конечный вид имеем такой

Код: Выделить всё

local# cat /usr/local/etc/ipfw
#!/bin/sh

ipfw -q flush
ipfw -q pipe flush
ipfw -q queue flush

#########
ipfw -q add  pass all from any to any via lo0
ipfw -q add  deny all from any to 127.0.0.0/8
ipfw -q add  deny ip from 127.0.0.0/8 to any
#####

/usr/local/etc/ipfwuaa.sh

ipfw -q  add allow ip from 'table(2)' to 'table(1)' via vr1
ipfw -q  add allow ip from 'table(1)' to 'table(2)' via vr1
Спасибо всем кто помог мне в данном вопросе. :smile:

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-19 18:30:19

Ну наконец-то понял )))

P.S. а насчет lo0 пересмотри правила - ты на lo0 сначала разрешаешь пакеты, потом с 127.0.0.1 (lo0) и банишь их.

warzoni
сержант
Сообщения: 186
Зарегистрирован: 2008-07-04 17:17:59
Откуда: Ukraine,Kiev
Контактная информация:

Re: запуск скрипта после ipfw

Непрочитанное сообщение warzoni » 2009-09-19 18:39:26

reLax писал(а):Ну наконец-то понял )))

P.S. а насчет lo0 пересмотри правила - ты на lo0 сначала разрешаешь пакеты, потом с 127.0.0.1 (lo0) и банишь их.

я понял ошибку серьёзную..в плане понятие создание Table...и понял теперя всё почему не получалось..у меня теперя вопрос..как просматреть все таблицы каторые созданны..они видь создаютца как pipe я просто не вижу каманды типа просмотра всех таблиц что есть в ipfw... :smile: в мане я так опнял токо по номерам показанно..

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-20 9:52:05

Знаешь, не помню точно. По моему по номерам можно только таблицы просматривать. Но опять же, на что Shell дан в руки Одмину ? Вот, простейший вариант (выведет только заполненные таблицы ipfw):

Код: Выделить всё

#!/bin/sh            
FWCMD="/sbin/ipfw"
COUNTER=0
COUNT_OF_TABLES=10
while [ $COUNTER -le $COUNT_OF_TABLES ]
         do
         COUNTER=`expr $COUNTER + 1`
         STDOUT=`$FWCMD table $COUNTER list`
         if [ -n "$STDOUT" ]
            then
            printf "Table $COUNTER list:\n$STDOUT\n"
         fi
         done
:roll:

sch
сержант
Сообщения: 282
Зарегистрирован: 2009-05-28 14:36:50
Откуда: Кишинев

Re: запуск скрипта после ipfw

Непрочитанное сообщение sch » 2009-09-21 15:23:50

reLax писал(а):Ну наконец-то понял )))

P.S. а насчет lo0 пересмотри правила - ты на lo0 сначала разрешаешь пакеты, потом с 127.0.0.1 (lo0) и банишь их.
между lo0 и 127.0.0.0/8 есть большая смысловая разница - loopback интерфейс и диапазон адресов.
Это ж традиционное правило для антиспуфинга. Пакеты с такими адресами теоретически могут быть получены системой от злоумышленника на реальном интерфейсе - и будут успешно обработаны. Хотя таких адресов не должно быть на реальных интерфейсах. Поэтому их надо блокировать. А блокировать на всех интерфейсах, явно указывая их названия - неудобно, когда можно сначала разрешить такие адреса на lo0, а потом все остальное закрыть одним правилом.

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: запуск скрипта после ipfw

Непрочитанное сообщение reLax » 2009-09-21 16:38:37

Вообщем правильно :) Привык просто к pf.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: запуск скрипта после ipfw

Непрочитанное сообщение hizel » 2009-09-21 16:45:36

професионалы такие професионалы
разрешается трафик 127.0.0.0/8 только на lo0, какие проблемы?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.