В настоящее время я пытаюсь настроить избыточную маршрутизацию на RHEL 5. Целевая цель - иметь основной маршрут к подсети и резервный маршрут к этой подсети, который будет использоваться только в том случае, если шлюз основного маршрута становится недоступным.
Есть идеи, как этого добиться? Плюс тут интеграция со стандартными файлами RHEL :)
Заранее спасибо,
Вы можете использовать quagga и OSPF
# yum info quagga
Loaded plugins: changelog, fastestmirror, presto, security, versionlock
Loading mirror speeds from cached hostfile
* base: ftp.colocall.net
* epel: ftp.colocall.net
* extras: ftp.colocall.net
* ius: ius.cu.be
* rpmforge: ftp.colocall.net
* updates: ftp.colocall.net
Available Packages
Name : quagga
Arch : x86_64
Version : 0.99.15
Release : 7.el6_3.2
Size : 1.1 M
Repo : base
Summary : Routing daemon
URL : http://www.quagga.net
License : GPLv2+
Description : Quagga is a free software that manages TCP/IP based routing
: protocol. It takes multi-server and multi-thread approach to resolve
: the current complexity of the Internet.
:
: Quagga supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, and RIPng.
:
: Quagga is intended to be used as a Route Server and a Route Reflector. It is
: not a toolkit, it provides full routing power under a new architecture.
: Quagga by design has a process for each protocol.
:
: Quagga is a fork of GNU Zebra.
И использовать разный вес (стоимость) для каждого шлюза
router1.example.net# conf t
router1.example.net(config)# int tun0
router1.example.net(config-if)# ip ospf authentication message-digest
router1.example.net(config-if)# ip ospf message-digest-key 1 md5 SHdJLapbQ1
router1.example.net(config-if)# ip ospf cost 10
router1.example.net(config-if)# write
Configuration saved to /etc/quagga/ospfd.conf
router1.example.net# conf t
router1.example.net(config)# int tun1
router1.example.net(config-if)# ip ospf authentication message-digest
router1.example.net(config-if)# ip ospf message-digest-key 1 md5 SHdJLapbQ1
router1.example.net(config-if)# ip ospf cost 20
router1.example.net(config-if)# write
Configuration saved to /etc/quagga/ospfd.conf
Вау, это круто, никогда не слышал о квагге. Я бы сделал это по-старому, написал сценарий и запустил из cron :) (ОЧЕНЬ КЛУДЖИ)
что-то вроде создания сначала двух файлов.
# cat /root/route1.txt
1.1.1.1
# cat /root/route2.txt
2.2.2.2
затем такой скрипт из cron (или в цикле "while true")
#!/bin/bash
route1=`cat /root/route1.txt`
route2=`cat /root/route2.txt`
$status=`ping -n -c 1 -q $route1 | grep -c "1 received"`
if [ "$status" == "1" ];
then
echo "good stuff" > /dev/null
else
echo "bad stuff" > /dev/null
route del [rest of command to delete current default $route1]
route add default gateway $route2
echo "$route1" > /root/route2.txt
echo "$route2" > /root/route1.txt
fi
Как я уже сказал, очень глупо, да? :)