Gå til innhold

default routes, flere "interfaces"


Anbefalte innlegg

Er det mulig å unngå at ifupdown IKKE legger til en default route knyttet til HVERT ENESTE nettverksgrensesnitt. Jeg legger inn nødvendig informasjon i /etc/network/interfaces, men man-sidene sier ikke dritten om det svært så realistiske scenarioet hvor jeg har en maskin som er gateway mellom to nettverk, slik at hvert nettverksgrensesnitt selvfølgelig ikke skal ha to default routes (noe som forresten vil skape fullt kaos når destinasjonen til en pakke skal avgjøres).

 

Jeg har altså to nettverksgrensesnitt, wlan0 og eth0. eth0 holder til på 192.168.0.0/24 og har statisk ip og gateway. wlan0 settes opp med dhcp, og ligger på nettverket 192.168.1.0/24. Default route skal også gå til dhcp-serveren(routeren koblet til adsl-modemet) som gir wlan0 en ip-adresse. Dette må da virkelig finnes en bedre løsning på dette enn å: a) Få ifupdown til å kjøre kommandoen route del -net(...) når nettverket blir tatt opp (og dermed må man også ta høyde for at det andre grensesnittet kanskje er nede osv....) eller b) slette default-routen manuelt og få iptables til å gjøre routingen.

 

Det er litt sent nå og jeg har kastet bort hele (gårs)dagen på å få ndiswrapper til å ikke virke på maskinen denne posten angår, så jeg er lettere irritert og vil derfor sette stor pris om noen gidder å tenke litt for meg

Lenke til kommentar
Videoannonse
Annonse

Hm. La meg seie ein ting. Eg hatar «route». Makan til drittprogram skal ein leite

lenge etter. Normalt leverer GNU prosjeketet flotte verktøy. Men «route» er

langt under par. -- Og nei, eg klarar ikkje fikse det sjølv om me har nokon

plagsomme «programmér betre sjølv»-folk her. «Route» i UNIX osb. har fleire

features GNU «route» ikkje har.

 

Eg sleit ein heil dag med å slette routes osb. -- Eg har òg eit WLAN og eit

vanleg nett, eg har ikkje klart å kobla dei saman. Det er utruleg plagsomt,

men eg har ein wlan-router mellom dei (SMC BARRICADE G), men eg finner

ikkje noko om «bridging» i han. Dårleg...

 

Skulle gjerne ha hjulpe - om eg hadde visst korleis, men eit slikt oppsett er

ikkje heilt naturleg i Linux virkar det som. Når verktøya er så lite intuitive.

(Jaja, rant, rant)

Lenke til kommentar

Jeg grublet litt på det, og fant ingen løsning via google eller ved å skumme gjennom nettverksskriptene i Debian. Det virker rett og slett som at utviklerne ikke engang har tatt høyde for et slikt scenario. En mulig løsning på det er å legge til et skript som kjøres hver gang et interface taes opp - et skript som sjekker om det "utgående" interfacet er oppe, og hvis det er tilfellet, sletter "sin egen" default route. Et forsøk på dette førte for min del til at jeg ikke engang kunne pinge ip-adresser som helt klart var definert innenfor subnettet, og jeg fant ingen løsning på det.

 

Jeg får nok la iptables fikse jobben, selv om jeg hadde tenkt til å legge til dette på et senere tidspunkt når jeg visste at alt annet var helt sikkert og "fool proof".

Lenke til kommentar

Dette har eg minimal peiling på, men kan det ikkje vere at route ikkje har fått så mykje funksjonalitet i Linux nett avdi iptables skal gjere jobben?

 

To eller fleire default gateways vil vi vel få i routaren kvar gong to eller fleire nett skal koplast saman? Og i alle andre maskinar som har to grensesnitt - må det vere eit problem, kan det ikkje fiksast med nokre få, velvalde iptables-reglar?

Eg har prøvd å forstå problemet, og eg kan ikkje tru anna enn at det finst greie løysingar på eit så realistisk scenario.

 

Når det gjeld wlan-routing, så køyrer jo Linux på fleire routarar, t.d. Asus WL-500G, no. Desse kan ein difor setje opp nokså presist som ein ønskjer, om ein legg inn høveleg firmware. Eg har tenkt å nytta ein slik som felles DHCP-tenar for fast (den har 4 LAN-uttak og) og trådlaust nett, og nytta iptables både til brannmur og til å portforwarde HTTP-, FTP- og SSH-portane til tenaren som tek seg av alt i dag. Kanhende må eg slå av bridge i ADSL-modemet (modem/routar) slik at dette "får att" den faste IP-adressa. Om eg vel ei delt løysing, der PC-tenaren tek seg av LAN-nettverket, og routaren tek seg av WAN, så får eg vel ein konfigurasjon som liknar på den det er spurd om her. Og routinga løysast ved ein kombinasjon av kommandoar som "route add default gw 192.168.1.1 dev wlan0" og iptables-reglar. Trur eg.

Lenke til kommentar

Det er slettest ikke meningen at ifup skal legge til default route på alle interfaces. Jeg går ut i fra at du har statisk konfigurasjon på interfacene(iallfall wlan interfacet)? Er du sikker på at du ikke har en gateway entry i konfigurasjonsblokken for wlan?

Ang. multiple 0.0.0.0/0 ruter så blir det ikke noe kaos av det, stacken vil bare route gjennom det første interfacet i "lista".

Ang. route(8). Trikset er alltid å inkludere netmaske og interface i tillegg til host/nettverk. Da skal det fungere. men er enig i at syntaksen kunne vært litt mer tilgivende. Hva med å gå over til ip(8) om du har store problemer med route(8)?

Til sist ang. route vs. iptables. Nei, disse er ikke ment å overlappe hverandre. "vanlig" IP ruting skal styres av rutene lagt til i kjernen og ikke av netfilter.

Endret av kattemat
Lenke til kommentar

Det er fysisk umulig å ha to default routes, det vil jeg gjerne se før jeg tror det. Jeg har aldri vært borti at ifup tukler med default ruter. det høres merkelig ut.

 

Det eneste som lages default, er en rute til det subnettet som interfacet står på - er ikke det ganske hyggelig gjort?

 

Velmont: installer iproute2 istedet,

http://lartc.org/howto/

 

This document hopes to enlighten you on how to do more with Linux 2.2/2.4 routing. Unbeknownst to most users, you already run tools which allow you to do spectacular things. Commands like route and ifconfig are actually very thin wrappers for the very powerful iproute2 infrastructure.

 

ip er en langt kraftigere/mer anvendelig kommando enn route/ifconfig

 

EDIT: Hvorfor ikke sette fast ip på wlan0?

Endret av Torbjørn
Lenke til kommentar
Det er fysisk umulig å ha to default routes, det vil jeg gjerne se før jeg tror det. Jeg har aldri vært borti at ifup tukler med default ruter. det høres merkelig ut.

Det er absolutt ingen problem å sette opp flere 0.0.0.0/0 ruter(prøv selv). Men trafikken rutes kun gjennom det ene interfacet.

Lenke til kommentar

jeg prøvde før jeg postet - uten at jeg fikk det til.

 

# netstat -nar
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0

 

# ip ro add default via 192.168.1.2 dev eth0
RTNETLINK answers: File exists

 

EDIT: ser imidlert nå at route add default gw 192.168.1.2 fungerer.

Endret av Torbjørn
Lenke til kommentar

Det er forskjell på fysiske lag 2 interfaces og nettstakkens syn på et lag 3 interface. Om du refererer til mitt forslag om å lage et alias interface(som selvfølgelig skulle være eth0:1) så kommer selvfølgelig begge rutene til å legges via samme fysiske interface.

Lenke til kommentar

Jeg referer til din meldin om ikke å kunne ha to identiske ruter på samme interface.

 

Det viser seg å gå fint. Jeg trenger ikke angi interface alias.

 

Av to kommandoer som utfører samme operasjon, er det bare den ene som lar seg gjennomføre.

 

netstat -nar etter andre route add viser at route add kan legge til det som ip route nekter.

Lenke til kommentar
Jeg referer til din meldin om ikke å kunne ha to identiske ruter på samme interface.

 

Det viser seg å gå fint. Jeg trenger ikke angi interface alias.

 

Av to kommandoer som utfører samme operasjon, er det bare den ene som lar seg gjennomføre.

 

netstat -nar etter andre route add viser at route add kan legge til det som ip route nekter.

Mkay... Om en bruker vanlig SIOCADDRT ioctl så nekter netstacken å legge til identiske ruter(returnerer File already exists), Det går selvfølgelig med to forskjellige gatewayer eller samme gw med forskjellig metric, men da er heller ikke rutene identiske. Gir du meg en paste av rutingtabellen med to identiske ruter så tror jeg deg :-)

Lenke til kommentar

Noe slikt?

 

root@enterprise[~]# netstat -nar
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
root@enterprise[~]# route add default gw 192.168.1.2
root@enterprise[~]# netstat -nar
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.1.2     0.0.0.0         UG        0 0          0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
root@enterprise[~]# ip ro del default via 192.168.1.2 dev eth0
root@enterprise[~]# netstat -nar
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
root@enterprise[~]# ip ro add default via 192.168.1.2 dev eth0
RTNETLINK answers: File exists

Lenke til kommentar

Ser ikke to identiske ruter der :) Ser dog to router til 0.0.0.0/0 med forskjellige gatewayer. Det jeg var ute etter var:

0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0

Noe kjernen hadde nektet å godta.

 

Vel - vi missforstod hverandre litt. Ikke så mye mer å diskutere egentlig ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...