Собственно стоит freebsd 7.3 три сетевых интерфейса один в локалку, два во внешку и один из них резервный. Как бы скрипт переключения есть и работает, но с небольшим недостатком если инет обвалится за шлюзом он не сработает. Как сделать что бы скрипт пинговал какой ни будь ip допустим googl'а именно через основной канал. Вот сам скрипт:
#!/usr/bin/perl -w
use strict;
use warnings;
use Net::Ping::External qw(ping);
# 1 - автоматический режим переключение канала
# 2 - принудительное переключение на второй канал.
my $action = 1;
my $host_gw = «111.111.111.111»; # default gateway
my $gw = «222.222.222.222»; # backup gateway
my $now = localtime time;
my $log = «/var/log/route-change.log»;
if($action == 1){
my $command = `netstat -rn | grep default`;
my @b = split('\s+',$command,3);
if (ping(hostname=>$host_gw, count=>5)){
print «host $host_gw is ok\n»;
if($b[1] ne $host_gw){
if($b[1] eq ""){
`route add default $host_gw`;
}else{
`route change default $host_gw`;
open(LOG,«>>$log»);
print LOG «[!] $now Route change to $host_gw\n»;
close(LOG);
}
}
}else{
print «host $host_gw is bad.\n»;
if($b[1] ne $gw){
`route change default $gw`;
open(LOG,«>>$log»);
print LOG «[!] $now Route change to $gw\n»;
close(LOG);
}
}
}
if($action == 2){
my $command = `netstat -rn | grep default`;
my @b = split('\s+',$command,3);
if($b[1] ne $gw){
if($b[1] eq ""){
`route add default $gw`;
}else{
`route change default $gw`;
open(LOG,«>>/change_route.log»);
print LOG «[!] $now Route change to $gw\n»;
close(LOG);
}
}
}
Ответ на:
комментарий
от Nefer
Ответ на:
комментарий
от grog666
Ответ на:
комментарий
от Nefer
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум 2 канала инета, скрипт автопереключения на резервный и обратно (2018)
- Форум Скрипт переключения на резервного провайдера (2011)
- Форум Получить интерфейс, за которым находится mac адрес хоста (2015)
- Форум Скрипт по смене каналов провайдера (2017)
- Форум Поправить bash-скрипт. (2017)
- Форум centos. 2 провайдера, iptables, geoip (2011)
- Форум Переключение между двумя провайдерами (2014)
- Форум Резервирование канала интернет (2017)
- Форум [FreeBSD] Настройка маршрутизации (route) (2012)
- Форум [Help me!] FreeBSD, PPP, не работает как надо (2010)