Re: two routes, non-permanent higher proiority

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday 12 April 2007 14:45, Bob Beers wrote:
> On 4/11/07, Randy Wallace <randywallacejr@xxxxxxxxx> wrote:
>
> Hi Randy, thanks for the reply,
>  I'll leave it intact, but I have a few comments/questions at the end.
>
> > I would write a script that would check for connectivity to the
> > internet over the ethernet port for internet.
> >
> > If your slackware router is always connected, and communicating, with
> > the satellite modem, though not always passing real internet traffic,
> > you could leave the interface 'up'.  From there, you could write a
> > simple ping-check type script that would ping the satellite gateway,
> > which would only be visible when the dish is communicating to the NOC.
> >
> > For example:
> >
> > if
> >
> > ping -I eth0 xx.xx.xx.xx
> >
> > is successful then
> >
> > ip route del default via xx.xx.xx.xx dev ppp0
> > ip route add default via xx.xx.xx.xx dev eth0
> >
> > else
> >
> > ip route del default via xx.xx.xx.xx dev eth0
> > ip route add default via xx.xx.xx.xx dev ppp0
> >
> > otherwise, if eth0 is not always talking to the modem (ethernet), then
> > you could use ethtool to check for ethernet connectivity before trying
> > to ping, i.e.
> >
> > if
> >
> > (ethtool eth0 | grep 'Link detected: ')  == 'yes'
> >
> > then
> >
> > ip addr add xx.xx.xx.xx/xx brd + dev eth0
> >
> > and whatever routes you need to get the satellite gateway.
> > then run the ping script above.
> >
> > hope i helped a little,
> >
> > -Randy
>
> This is a good plan, and I'm doing something like this already,
>  but I was really hoping that there was some static way to
>  set up two default routes, maybe two route tables even,
>  and that the kernel would be smart enough to know if the
>  satellite route was reachable, and prefer it based on some
>  priority or metric setting.  I think the satellite modem may be
>  powered even if the dish is stowed, so the ethtool check of
>  "Link detected" may be always true, so not much help.
> I suppose maybe this is what the dynamic routing protocols
>  (OSPF?, or BGP?) was designed to handle?  But I suppose
>  a script from a cronjob would adjust the routing with only
>  a -- worst case -- 60 second delay.

You can setup two or more default routes, the kernel automaticaly switches
to the next defaultroute after a timeout.
The timeout can be set via /proc/sys/net/ipv4/inet_peer_gc_maxtime
To switch back to the first route IMHO simply flush the routing cache (not 
tested)
  
regards,
      Paul
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux