From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <471D223A.8070801@gmail.com> Date: Tue, 23 Oct 2007 01:20:42 +0300 From: Andrew Kornilov MIME-Version: 1.0 To: ALT Linux sysadmin discuss References: <200710211929.59041.skompan@kspu.kr.ua> <200710221130.58912.peet@altlinux.ru> <471C8BB6.5030301@gmail.com> <200710222145.23682.peet@altlinux.ru> In-Reply-To: <200710222145.23682.peet@altlinux.ru> X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Subject: Re: [Sysadmins] =?koi8-r?b?ydPQz8zY2s/Xwc7JxSDLz87T1NLVy8PJyiDDycvM?= =?koi8-r?b?z9cg1yDQ0sHXyczByCBmaXJld2FsbCDXIGV0Y25ldA==?= X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: ALT Linux sysadmin discuss List-Id: ALT Linux sysadmin discuss List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Oct 2007 22:25:24 -0000 Archived-At: List-Archive: Peter V. Saveliev wrote: >> Да, в том-то и дело. Можно, конечно, взять пяток каких-то наиболее >> распространенных случаев (циклы, условия) и для них что-то нарисовать. >> Но всегда найдется тот, кто захочет шестой случай. >> Попробую подумать, может все-таки получится легко сделать обычный shell >> скрестить до конца. В принципе, оно и сейчас можно...Но делать ЯВУ >> типа firehall не хочется, их и так достаточно. > > > В смысле - сделать обычный шелл? Децл раскрой тему, если не сложно. Ну в смысле, что варианта есть два: 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 поддерживается в таком случае. Мда...чего ж я раньше не сообразил ;-)