Все ниче, но мне надо сделать проверку текущего дефалтового шлюза, чтобы лишний раз ничего не дергать, а как это сделать с помощью perl я не знаю. Можно было вывернуться и написать скрипт на shell, но там я не знаю как сделать проверку удаленного хоста
Вот текущий перловский скрипт:
Код: Выделить всё
#!/usr/bin/perl
use Net::Ping;
my $ISP = "192.168.0.1";
my $ping_timeout = 3;
my $ping_object = Net::Ping->new( "icmp", $ping_timeout ) || die;
if($ping_object->ping($ISP))
{
system("/sbin/route del default");
system("/sbin/route add default gw 192.168.0.1");
system("/sbin/iptables -t nat --flush");
system("/sbin/iptables -t nat -A POSTROUTING -s 10.112.1.0/24 -j SNAT --to-source 192.168.0.21");
}
else
{
system("/sbin/route del default");
system("/sbin/route add default gw 192.168.1.1");
system("/sbin/iptables -t nat --flush");
system("/sbin/iptables -t nat -A POSTROUTING -s 10.112.1.0/24 -j SNAT --to-source 192.168.1.21");
}Если кто-нибудь чем-нибудь поможет, буду очень благодарен. Или представит листинг на shell...