hilpers


  hilpers > comp.os.* > comp.os.linux.netwerken

 #1  
07.05.2010, 09:21
Burg
Hallo lieden,

We hebben hier thuis 5 Ubuntu (8.10) bakkies.
We hebben 2 telefoonlijnen.
Op lijn 1 zit een router die connect naar provider 1.
Op lijn 2 zit een router die connect naar provider 2.
router 1 heeft als gateway 192.168.1.1
router 2 heeft als gateway 192.168.1.2

Een voorbeeld van een configuratie op een workstation:

$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

iface eth0 inet static
address 192.168.1.102
netmask 255.255.255.0
gateway 192.168.1.2

auto eth0
$

Provider 2 is de default. Maar die valt soms weg. Dan wil ik dat alle
workstations via gateway 1 naar buiten gaan.

Ik kan handmatig op elke machine op de prompt intypen:

$ sudo route add default gw 192.168.1.1 eth0

Dat werkt. Workstation kan nu ook naar buiten via gateway 1

$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 192.168.1.2 0.0.0.0 UG 100 0 0 eth0
$

Ik wil dus dat elke bak via of gateway 1 of gateway 2 naar buiten kan.
Hoe kan ik dit nu automatisch configureren? 2 gateways in
/etc/network/interfaces (accepteert hij volgens mij niet)?
Of bij de boot van een workstation een script starten die een gateway add?
Of..?

Thanks in advance.
 #2  
07.05.2010, 10:08
Paul van der Vlis
Burg schreef:
[..]
> Iface
> 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
> 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
> 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
> 0.0.0.0 192.168.1.2 0.0.0.0 UG 100 0 0 eth0
> $
>
> Ik wil dus dat elke bak via of gateway 1 of gateway 2 naar buiten kan.
> Hoe kan ik dit nu automatisch configureren? 2 gateways in
> /etc/network/interfaces (accepteert hij volgens mij niet)?


Op zich wel, maar voor verschillende netwerken.

> Of bij de boot van een workstation een script starten die een gateway add?
> Of..?


je zou al het verkeer via een server/router/firewall of zoiets kunnen
laten lopen waar je dat dan maar eenmalig op hoeft in te stellen.

je zou het omzetten ook kunnen automatiseren door te pingen naar een
gateway van de provider, als die niet bereikbaar is dan ga je je route
veranderen. Onderstaande heeft vast verbetering nodig ;-)
----------
if ! ping -c 1 machine.provider.com > /dev/null; then
sudo route add default gw ....
fi
----------


Met vriendelijke groet,
Paul van der Vlis.
 #3  
07.05.2010, 16:23
tjoen
Op 05/07/10 12:08, Paul van der Vlis schreef:
> Burg schreef:


>> Provider 2 is de default. Maar die valt soms weg. Dan wil ik dat alle
>> workstations via gateway 1 naar buiten gaan.


> je zou al het verkeer via een server/router/firewall of zoiets kunnen
> laten lopen waar je dat dan maar eenmalig op hoeft in te stellen.
>
> je zou het omzetten ook kunnen automatiseren door te pingen naar een
> gateway van de provider, als die niet bereikbaar is dan ga je je route
> veranderen. Onderstaande heeft vast verbetering nodig ;-)
> ----------
> if ! ping -c 1 machine.provider.com> /dev/null; then
> sudo route add default gw ....
> fi
> ----------


Geen ervaring mee, maar er bestaan gated en routed
 #4  
07.05.2010, 20:01
Huub Reuver
On 2010-05-07, tjoen <tjoen> wrote:
> Op 05/07/10 12:08, Paul van der Vlis schreef:
>>

> Geen ervaring mee, maar er bestaan gated en routed


Ik gok dat dat niet gaat werken als een router met NAT gaat werken.
De 2 routes zijn niet meer gelijkwaardig.

Met meerdere routes begin je met het zo configureren dat verkeer dat
ontvangen worden altijd via de juiste router wordt teruggestuurd
(iproute2: ip rule table/ip route table). Ik geloof dat de info
daarover in de advanced routing howto stond.

En als je dan met ping gaat experimenteren geef dan in elk geval de
-W optie mee. Het scheelt als je weet hoelang je op een antwoord wacht.

Met vriendelijke groet,
Huub Reuver
 #5  
08.05.2010, 06:13
Burg
* Paul van der Vlis <paul>:

> je zou het omzetten ook kunnen automatiseren door te pingen naar een
> gateway van de provider, als die niet bereikbaar is dan ga je je route
> veranderen.


Dat doe ik al op 1 machine, dat werkt OK.

Wat ik niet snap: als ik op de prompt doe

$ sudo route add default gw 192.168.1.1 ethX

Dan toont mijn 'route -n' 2 gateways en dat schijnt te werken.

Dit commando moet ik toch ook ergens in de config of in een boot-script
kunnen zetten?
 #6  
08.05.2010, 10:23
richard lucassen
On 08 May 2010 06:13:30 GMT
Burg <burginthailand> wrote:

> > je zou het omzetten ook kunnen automatiseren door te pingen naar een
> > gateway van de provider, als die niet bereikbaar is dan ga je je
> > route veranderen.

>
> Dat doe ik al op 1 machine, dat werkt OK.
>
> Wat ik niet snap: als ik op de prompt doe
>
> $ sudo route add default gw 192.168.1.1 ethX
>
> Dan toont mijn 'route -n' 2 gateways en dat schijnt te werken.
>
> Dit commando moet ik toch ook ergens in de config of in een
> boot-script kunnen zetten?


Je moet policy routing gebruiken D.w.z.: gebruik meerdere route
tabellen (het gebruik van "route" en "ifconfig" is eigenlijk al jaren
obsolete en zijn nog voor downward compatibility aanwezig) Voorbeeld:

Zet eth0 op *met* een "normale" gateway en hang daar modem1 aan:

ip link set eth0 up
ip address add 192.168.1.254/24 dev eth0
ip route add default via 192.168 1.1 dev eth0

Maak een nieuwe route tabel aan voor eth0 (tabel 10):

ip route add 192.168.1.0/24 dev eth1 src 192.168.1.254 table 10
ip route add default via 192.168.1.1 table 10
ip route add 127.0.0.0/8 dev lo table 10
ip rule add from 192.168.1.254 table 10
ip route flush cache

Zet eth1 op *zonder* een "normale" gateway en hang daar modem2 aan:

ip link set eth1 up
ip address add 192.168.2.254/24 dev eth1

Maak een nieuwe route tabel aan voor eth1 (tabel 11):

ip route add 192.168.2.0/24 dev eth1 src 192.168.2.254 table 11
ip route add default via 192.168.2.1 table 11
ip route add 127.0.0.0/8 dev lo table 11
ip rule add from 192.168.2.254 table 11
ip route flush cache

Nu is de machine over beide modems van buiten te benaderen, dat is wel
zo handig. Je gebruikt beide gateways.

Nu kun je simpelweg omschakelen:

##################################################
#!/bin/bash

case $1 in

modem1)
ip route del default via 192.168 1.1 dev eth0
ip route add default via 192.168 2.1 dev eth1
;;

modem2)
ip route del default via 192.168 2.1 dev eth1
ip route add default via 192.168 1.1 dev eth0
;;

esac
##################################################

Het wel of niet up zijn van een lijn zou je kunnen detecteren door met
fping een stuk of wat ip-adressen te pingen en als er ook maar 1
terugkomt is de lijn up (gebruik ip-nummers en geen namen want als de
lijn plat is waar je dns queries overheen lopen dan zit je)

Om te kijken wat er gebeurt zijn deze commando's handig:

ip rule show

ip route show table 10

En ip is geschreven door iemand die lui is want dit werkt ook:

ip r

ip r s t 10

Op deze manier met policy routing kun je met fwmarking bijvoorbeeld ssh
over lijn1 laten lopen en gesurf over lijn2. Als je er wat dieper
induikt is de sky de limit. Gaat niet bestaat niet is het motto ;-)

O ja: niet getest. Voor service en garantie is Richard met vakantie.

R.
 #7  
08.05.2010, 10:25
richard lucassen
On Sat, 8 May 2010 12:23:03 +0200
richard lucassen <spamtrap> wrote:

> Om te kijken wat er gebeurt zijn deze commando's handig:
>
> ip rule show
>
> ip route show table 10
>
> En ip is geschreven door iemand die lui is want dit werkt ook:
>
> ip r


moet zijn: ip ru s

> ip r s t 10


Met "ip r" zie je de "normale" routetabel die je ook met "route -n"
ziet.
 #8  
10.05.2010, 07:27
Paul van der Vlis
Burg schreef:
> * Paul van der Vlis <paul>:
>
>> je zou het omzetten ook kunnen automatiseren door te pingen naar een
>> gateway van de provider, als die niet bereikbaar is dan ga je je route
>> veranderen.

>
> Dat doe ik al op 1 machine, dat werkt OK.
>
> Wat ik niet snap: als ik op de prompt doe
>
> $ sudo route add default gw 192.168.1.1 ethX
>
> Dan toont mijn 'route -n' 2 gateways en dat schijnt te werken.


Ik denk dat hij maar 1 van beide routes gebruikt. De bovenste verwacht ik.

> Dit commando moet ik toch ook ergens in de config of in een boot-script
> kunnen zetten?


Uiteraard, je kunt elk commando daarin zetten. Vaak is er een bestandje
waar je wat in kunt zetten. In Debian is dat /etc/rc.local.

Groet,
Paul.
 #9  
10.05.2010, 07:28
Paul van der Vlis
Paul van der Vlis schreef:
> Burg schreef:
>
> Ik denk dat hij maar 1 van beide routes gebruikt. De bovenste verwacht ik.
>> Uiteraard, je kunt elk commando daarin zetten. Vaak is er een bestandje

> waar je wat in kunt zetten. In Debian is dat /etc/rc.local.


Gebruikelijker is echter in /etc/network/interfaces.


Met vriendelijke groet,
Paul van der Vlis.
 #10  
15.05.2010, 19:35
Burg
* Paul van der Vlis <paul>:

> Gebruikelijker is echter in /etc/network/interfaces.


Die accepteert geen 2 gateways blijkt. Ik heb het quick and dirty opgelost.
pingen om de X secs en dan evt gateway bijzetten. ach ja .. het zijn maar 5
bakkies, dus dat trekt papa ook nog wel ;-)
Soortgelijke onderwerpen
Twee Gateways

Ik ben van plan om te switchen van DSL aanbieder. Om in de eerste periode het nieuwe abonnement te kunnen testen en om in geval van problemen een uitwijkmogelijkheid te...

exchange 2003 over 2 gateways?

Wij zijn bezig een nieuwe (2e) breedband internetverbinding voor onze mail en internettoegang in gebruik te nemen, een sdsl lijn voor te verwachten toenemend verkeer. We...

2 gateways, zakelijk én prive

Hoi, Ik heb het al eens vaker gevraagd én gelezen, maar het probleem is niet echt opgelost: Ik werk met 1 wifi laptop, zowel zakelijk als prive. Zakelijk via gateway op het...

Routing via 2 gateways (beetje lang)

Situatieschets: eth1 eth0 Internet ----- Linux ----- Local Lan ---- 3rd party router. 80.x.x.x 192.168.223.243 ...


Alle tijden zijn in GMT. De tijd is nu 11:54. | Privacy Policy