Страница 1 из 1
ipfw - переименовать таблицу
Добавлено: 2010-10-20 13:37:11
Alex Keda
сабж - возможен или нет?
в мане ничё такого не нашёл, но, может не так искал просто...
======
сама задача.
есть открытый файрволл
Код: Выделить всё
ipfw flush
ipfw deny from table(80) to me
ipfw table 80 add ....
ipfw table 80 add ....
таблица долго заполняется.
ускорить не предлагать - ускорено в другой теме и рассылка с полгода назад - через считывание правил из файла.
чего хочется.
вместо тупого флюша создавать таблицу с другим номером, заполнять её и подменять 80-тую...
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-20 14:08:30
rmn
Поменять номер, вроде, нельзя.
Но простой скрипт:
Код: Выделить всё
#!/bin/sh
ipfw table 2 flush
ipfw table 1 list |
(
while read ip id
do
ipfw table 2 add $ip $id
done
)
переносит 100000 адресов за 75 сек. на
Код: Выделить всё
CPU: Intel(R) Celeron(R) M CPU 520 @ 1.60GHz (1596.01-MHz 686-class CPU)
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-20 19:15:45
Alex Keda
товарисч, я могу переписать ваш скрипт чтоб он за 10 сделал сделал тоже самое
но и это много - когда у меня 300 запросов в секунду валится - посчитайте сколько он пропустить успеет и каково будет серверу?
мне надо именно переименовать
пока накинул костыль - раз в сутки сделал полную перестройку файрволла. остальное динамически меняется.
но это не гуд...
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-20 19:24:20
rmn
Alex Keda писал(а):товарисч, я могу переписать ваш скрипт чтоб он за 10 сделал сделал тоже самое
ok. у тебя длиннее
Alex Keda писал(а):
мне надо именно переименовать
Ну, не предоставляет ipfw таких функций. Так что, только костылями...
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-20 19:30:00
Alex Keda
та я и сам это понимал..
хотел убедиться, что не пропустил чего-то очевидного
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-21 17:55:52
vitar
Мне кажеться самый разумный вариант - выделить 2 правила и 2 таблицы.
Код: Выделить всё
ipfw table 81 add $ip1
....
ipfw table 81 add $ipn
ipfw add 81 deny all from table\(81\) to me
ipfw dele 80
ipfw table 80 flush
И соответственно во второй раз создать правило и таблицу 80, а снести 81.
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-21 18:18:38
hizel
используй set на уровне правил, с ними можно
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-21 19:03:31
Alex Keda
hizel писал(а):используй set на уровне правил, с ними можно
непонял идею...
с примером мона?
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-21 21:00:43
hizel
Код: Выделить всё
ipfw set enable 30 disable 31
ipfw add 100 set 30 deny ip from table(80) to me
ipfw add 100 set 31 deny ip from table(81) to me
когда заполнишь табличку 81 пишешь
как-та так
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-21 21:08:45
hizel
перечитал топик, так и не понял зачем тебе что-то переименовывать,
кстати ты не думал , что вместо файла ipfw можно подсунуть именованный пайп фифиошку?
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-21 21:45:39
Alex Keda
э... а как все мои скрипты узнают что вместо 80 надо юзать другую таблицу?
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-21 21:55:25
hizel
я хз, а как твой скрепты вообще узнают чо во чо переименовывать?

Re: ipfw - переименовать таблицу
Добавлено: 2010-10-21 22:04:16
Alex Keda
а пока и не знают.
но, многие знают что таблица 80 а не 81
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-21 22:12:14
hizel
я ментально истощен футболом и пара-способности на нуле

Re: ipfw - переименовать таблицу
Добавлено: 2010-10-22 0:03:30
FiL
Alex Keda писал(а):э... а как все мои скрипты узнают что вместо 80 надо юзать другую таблицу?
ну узнать, положим, не проблема (ipfw show ...|awk ...). Но таки переписать скрипты на предмет узнавания и использования - это может быть несколько морока, да.
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-22 9:14:10
gonzo111
а зачем собствно переименовывать ?
и колись уже каким макаром ты мега быстро таблицу заполняешь за 10сек

Re: ipfw - переименовать таблицу
Добавлено: 2010-10-22 9:22:32
gonzo111
допиши туда новое и удали старое с помощью
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-22 9:28:50
gonzo111
можешь после запяттой в таблице указать переменную что это типа новый список
If an optional 32-bit unsigned value is also specified, an entry will match only if it has this value.

Re: ipfw - переименовать таблицу
Добавлено: 2010-10-23 11:26:21
gonzo111
лис мой ответ помог?*
выложи плиз, свой быстрый скрипт занесения в таблицу ipfw )))
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-23 21:18:25
Alex Keda
ipfw умеет правила из файла читать
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-23 22:22:20
gonzo111
заебись какой информативный ответ
наверно же так
Код: Выделить всё
/sbin/ipfw -qn /tmp/block1.txt && /sbin/ipfw -q /tmp/block1.txt
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-23 22:28:21
Alex Keda
Код: Выделить всё
dc7700p# ipfw table 1 list
dc7700p# ipfw -f /tmp/1.txt
dc7700p# ipfw table 1 list
1.2.3.1/32 0
1.2.3.2/32 0
1.2.3.3/32 0
1.2.3.4/32 0
1.2.3.5/32 0
1.2.3.6/32 0
dc7700p# more /tmp/1.txt
table 1 add 1.2.3.1
table 1 add 1.2.3.2
table 1 add 1.2.3.3
table 1 add 1.2.3.4
table 1 add 1.2.3.5
table 1 add 1.2.3.6
dc7700p#
а самому подумать - не?
вы даже не попытались куда-то мои слова привернуть
просто не хотите думать.
Re: ipfw - переименовать таблицу
Добавлено: 2010-10-23 22:39:07
gonzo111
так даже лучше, пасиб
