[linux] route - kde sa uklada

Ivan Malich malich na decef.elf.stuba.sk
Pátek Duben 18 09:51:07 CEST 2003


> ahoj
> xcem sa opytat, kde sa uklada (ak vobec niekam) route
> proste, ak zmenim routovaciu tabulku, co nastane po reboote
> ak nieco ako konfigurak neexistuje - musim to vzdy osetrit skriptom, alebo
> ako sa to zvykne robit?
> proste mi len na PC1 vzdy po starte treba 1*route add a na PC2 1*route del a
> 1*(2?)*route add
> 
> cize konfigurak/skript/inak - ako to bezne robite?

Ja som vyhodil vsetky skripty, ktore citali /etc/sysconfig/network a
podobne veci. Urobil som si vlastne skripty typu /etc/init.d/network a
do nich som presne napisal, co treba urobit, aby mi ozila siet takym
sposobom, akym chcem (mam to aj pre ine veci, nie len siet).

Mozno to nie je najkrajsi sposob na svete, mat N nejakych konfigurakov
by bolo mozno "krajsie", ale toto je totalne funkcne a nemam nastavenie
siete porozliezane po celom systeme, proste vsetko je na 1 mieste a
hotovo.

Schematicky by to mohlo byt takto:

$ cat /etc/init.d/network
#!/bin/sh

start()
{
	ifconfig eth0 <ip1> netmask <mask1> broadcast <bcast1>

	ifconfig eth01 <ip2> netmask <mask2> broadcast <bcast2>
	route add -net <siet3> gw <ip2>

	ifconfig eth02 <ip4> netmask <mask4> broadcast <bcast4>
	route add -net <siet5> gw <ip4>

	...toto pokracuje asi este 7x

	ifconfig eth1 <ip6> netmask <mask6> broadcast <bcast6>

	...a rovnako aj pre eth1 a eth2

	route add default gw <ip7>

	echo 1 > /proc/sys/net/ipv4/ip_forward
}

stop()
{
	echo 0 > /proc/sys/net/ipv4/ip_forward

	interfaces=`ifconfig | egrep '^eth' | cut -f 1 -d ' ' | sort -r`
	for i in $interfaces; do
		ifconfig $i down
	done
	modprobe -r eth0
	modprobe -r eth1
	modprobe -r eth2
}

case "$1" in
        start)
                echo -n "Starting network... "
                start
		echo "done."
                ;;

        stop)
                echo -n "Stopping network... "
                stop
		echo "done."
                ;;

        restart)
                $0 stop
                sleep 1
                $0 start
                ;;

        *)
                echo "Usage: $0 {start|stop|restart}"
                exit 1
                ;;
esac

ico

--
Ico <ico na podvodnik.cz> <malich na decef.elf.stuba.sk>
UNIX is user friendly. It's just selective about who its friends are.
Why use Windows, since there's a door???



Další informace o konferenci linux