Не хочется добавлять ручками в фаревол для каждой сети своё правило. проще и красивее, на мой взгляд сделать это скриптом, взяв из отдельного файла список сетей. а вот как это сделать на shell не знаю:-(
Собственно вопрос, как средствами шелл брать из файла по одной строке и запхивать их в переменные?
[snapback]6354[/snapback]
Как на shell сделать не скажу, а на перле это быстро
add_rules.pl
##################################3
#!/usr/bin/perl
$count = xxx;
open(ff, "/root/firewall/tomsknet");
@nets = <ff>;
close(ff);
foreach $net (@nets)
{
chomp $net;
system("/sbin/ipfw add $count pass tcp from $net to me 20-22,25,80,143");
$count++;
}
print "Rules for Tomsk Local Network has been added\n";
чтобы удалить по необходимости только их
del_rules.pl
##########################################
#!/usr/bin/perl
$count = xxx;
open(ff, "/root/firewall/tomsknet");
@nets = <ff>;
close(ff);
foreach $net (@nets)
{
chomp $net;
system("/sbin/ipfw dele $count");
$count++;
}
print "Rules for Tomsk Local Network has been deleted\n";
В строчках $count = xxx; вместо ххх поставь свой номер с которого будут идти правила. Чтобы при загрузке они загружались автоматически, пропиши add_rules.pl в /etc/rc.local Файл с томскими сетями возьми у своего провайдера.