[Sysadmins] использование конструкций циклов в правилах firewall в etcnet
Andrew Kornilov
=?iso-8859-1?q?akornilov_=CE=C1_gmail=2Ecom?=
Вт Окт 23 02:20:42 MSD 2007
Peter V. Saveliev wrote:
>> Да, в том-то и дело. Можно, конечно, взять пяток каких-то наиболее
>> распространенных случаев (циклы, условия) и для них что-то нарисовать.
>> Но всегда найдется тот, кто захочет шестой случай.
>> Попробую подумать, может все-таки получится легко сделать обычный shell
>> скрестить до конца. В принципе, оно и сейчас можно...Но делать ЯВУ
>> типа firehall не хочется, их и так достаточно.
> <skip />
>
> В смысле - сделать обычный шелл? Децл раскрой тему, если не сложно.
Ну в смысле, что варианта есть два:
1. сделать поддержку shell syntax, то есть просто парсить это все самим bash-ем и
как-то обрабатывать; то есть, прямо вот так и писать:
for IP in $IP_LIST; do
$IPTABLES -mtcp -ptcp -s $IP -j ACCEPT (или allow tcp from $IP)
done
2. сделать некую поддержку неких примитивов типа того, что ты сделал, когда
токены раскрываются в набор команд или еще что-то подобное
p.s. Пока писал пункт номер один, понял, что я с шеллом не пересекаюсь вроде как по
зарезервированным словам. Гм...можно просто запускать это как набор команд
в памяти, прямо bash-ем. И обратная совместимость есть. Точно, так и сделаю,
наверное :) Просто до этого читал построчно файл, обрабатывал sed-ом синтаксис,
если надо, и отдавал iptables-у на съедение. А можно ведь весь файл сразу обработать
и запустить через bash, оно и быстрее и весь shell syntax поддерживается в таком
случае. Мда...чего ж я раньше не сообразил ;-)
Подробная информация о списке рассылки Sysadmins