Тема: Потеряли контроль над Firewall? Вам сюда!
#!/usr/bin/perl
my $host = 'mail.ru'; #Ваш самый близкий хост,
#куда будем слать пакет,
#для проверки на доступность машины в интернет.
my $count = 3; #Сколько пакетов слать
(не вечно же слать их..)
my $debug = 1; #Надо смотреть чего пишет скрипт?
my $pinger = '/sbin/ping'; #какой программой пингуем. Проверьте там ли она у Вас...
my $ipfw = '/sbin/ipfw'; #чем прикрываемся от врагов. Проверьте, там ли он у Вас?
open (PING, "$pinger -c $count $host|") or die($!);
$x=0;
while (<PING>) {
$x ++ if (/.*time=(.*)\sms$/i);
}
close (PING);
if ($x > 0) {
print "Ping successfully tested! Netz is good!\n" if ($debug);
exit;
}
`$ipfw add 10 allow ip from any to any`;
exit;
Смысл происходящего в скрипте:
Если нет пинга, автоматически добавляем руль в ipfw который разрешает с самого начала все пакеты на машину.
Теперь войдите в crontab
#crontab -e
*/5 * * * * /usr/local/cpanel/pinger.pl 1>/dev/null 2>&1
После всего можно пить пиво и иногда в строке рутовой, набирать #ipfw add 15 deny ip from any to any