[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