To routes på et NIC
Jeg har en NAS som kører en webserver og lidt andre services som gerne skulle være tilgængelig fra Internettet.
Der er kun et netværks interface i min NAS, men jeg har to routere på mit LAN.
Router #1 er tilsluttet en ADSL forbindelse, hvor NAT er aktiveret.
Router #2 er tilsluttet et fælles netværk med 100/100 mbps Internetforbindelse.
Derfor vil jeg gerne have, at når min NAS skal forbinde til nettet, så skal den gøre det gennem #2, men indgående trafik fra Internettet via #1 skal besvares gennem #1.
Derfor har jeg forsøgt at opsætte forskellige gateways, men det fungerer ikke rigtigt. E.g. hvis jeg sætter #1 til en højere metric end #2, så er der ingen forbindelse ind gennem #1:
Så nogen ideer om hvordan jeg kan gøre dette når jeg kun har et NIC i min NAS?
Der er kun et netværks interface i min NAS, men jeg har to routere på mit LAN.
Router #1 er tilsluttet en ADSL forbindelse, hvor NAT er aktiveret.
Router #2 er tilsluttet et fælles netværk med 100/100 mbps Internetforbindelse.
Derfor vil jeg gerne have, at når min NAS skal forbinde til nettet, så skal den gøre det gennem #2, men indgående trafik fra Internettet via #1 skal besvares gennem #1.
Derfor har jeg forsøgt at opsætte forskellige gateways, men det fungerer ikke rigtigt. E.g. hvis jeg sætter #1 til en højere metric end #2, så er der ingen forbindelse ind gennem #1:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
255.255.255.255 * 255.255.255.255 UH 0 0 0 eth0
10.0.0.9 * 255.255.255.255 UH 0 0 0 eth0
10.0.0.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 10.0.0.1 0.0.0.0 UG 5 0 0 eth0
default 10.0.0.2 0.0.0.0 UG 2 0 0 eth0
Så nogen ideer om hvordan jeg kan gøre dette når jeg kun har et NIC i min NAS?
Kommentarer12
Re: To routes på et NIC
http://www.linuxforums.org/forum/suse-linux-help/124680-how-create-virt…
traffic control og ip
mener det er iproute pakken du skal finde .
http://tldp.org/HOWTO/Traffic-Control-HOWTO/overview.html#o-why-use
Re: To routes på et NIC
her er et eksempel:
http://zlin.dk/p/?Njc1ZjMz
(code markering fucker op herinde)
som du ser, har jeg bare en ekstra ip på det andet netværk, og min default route går via mit "første" netværk, så alt internet vil gå via der..
du kan også bare tilføje et ip alias(den gamle metode) istedet for ip addr add, det gøres sådan her: ifconfig eth0:1 192.168.1.2 netmask 255.255.255.0
så vil den også blive vist via "ifconfig", men iproute2 (ip kommandoen) er den nye og anbefalede metode
Re: To routes på et NIC
Det er lidt bøvlet, da jeg f.eks. ikke har iproute2 på min NAS, og kan ikke umidddelbart lige få det ind, men har fået oprettet et virtuelt NIC, eth0:1,
ifconfig eth0:1 10.0.1.9 netmask 255.255.255.0
og kan godt oprette en route til routeren på det net, så jeg har to default routes
route add default gw 10.0.1.1
men så er det bare lidt tilfældigt om router #1 eller #2 brugers til udgående trafik[1]. Hvis #1 bruges, så er der fint forbindelse til min server fra WAN af, men hvis #2 bruges så er der ingen svar fra serveren fra WAN via #1.
Hvordan dælen får jeg opsat route, så router #2 er default route, men så indgående trafik på mit NIC eth0:1 besvares via router #1?
Har prøvet at sætte forskellige routes op til de to nic:
route add -net 10.0.1.0 netmask 255.255.255.0 gw 10.0.1.1 eth0:1
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.2 eth0
men det er stadigt default route der bestemmer alt..
[1]
Router #1 er tilsluttet en ADSL forbindelse, hvor NAT er aktiveret, og skal bruges til indgående trafik til servere. [10.0.1.1]
Router #2 er tilsluttet et fælles netværk med 100/100 mbps, som gerne skal bruges til download. [10.0.0.2]
#4:
hvad mener du med at
hvad mener du med at indgående trafik på eth0:1 skal besvares via router 1?
du kan sagtens klare dig uden iproute2, så er det ENESTE(hvis jeg forstår dig ret med dit setup): ifconfig eth0:1 10.0.0.4 netmask 255.255.255.0 for eksempel.
basically, du kan ikke have 2 default routes der giver mening, i en routing tabel, sådan er det ikke beregnet, du kan tilgengæld(med iproute2, og advanced routing i kernen) oprette flere routing tabeller, men det har du jo så ikke mulighed for, og det lyder bestemt heller ikke som det du har brug for...
Re: To routes på et NIC
Igen:
Router "#1" er tilsluttet en ADSL forbindelse, hvor NAT er aktiveret, og skal bruges til indgående trafik til serveren. [Router IP 10.0.1.1]
Router "#2" er tilsluttet et fælles netværk med 100/100 mbps, er bag firewall, men skal bruges til download [Router IP 10.0.0.2]
Server "$3", den det hele handler om..
To eksempler.
En person ønsker at tilgå min webserver:
Det indgående request går gennem Router #1, bliver vha. NAT sendt til webserveren på Server $3. Server $3 skal behandle dette request, og skal sende svaret tilbage til Router #1, som sender det tilbage til klienten via Internettet.
Serveren skal downloade en fil:
Serveren $3 bliver sat til at downloade en fil fra http://xxx.xx/. Server $3 sender sit request til Router #2, som så sørger for at oprette forbindelsen og Server $3 henter downloader dermed filen gennem Router #2.
Så alle forespørgsler som bliver sendt til Server $3 fra Router #1 skal besvares gennem Router #1. Eller skal alle forespørgsler fra Server $3 sendes gennem Router #2.
Problemet er, at enten sendes al trafik til Router #1 eller til Router #2. Dette betyder, at enten foregår al trafik gennem min langsomme ADSL linie, eller også besvares forespørgsler fra min ADSL router (#1) til min LAN router (#2), og svaret når dermed ikke frem til modtager.
det er jo meget nemt...
du
du skal KUN have en default route til router 2, altså default routen skal sige 10.0.0.2, det vil så gøre at alle forbindelser du opretter på serveren(for eksempel ved at starte en download PÅ serveren), vil gå igennem router 2.
Så skal du bare have en ip på router 1's netværk på din eth0, og så når din router 1 laver NAT og forwarder porten, så vil din server automatisk bare svare tilbage via den, og IKKE via din default route..
det er vigtigt du forstår konceptet med default route'en.. default routen er den router du sender trafik til, som ikke er addresseret til et netværk du er på..
Re: To routes på et NIC
Når serveren modtager et request gennem Router #1 sender den stadigt svaret tilbage til Router #2.. Kan se i Router #2s log:
Blocked outgoing TCP packet from 10.0.1.9:80 to 130.225.243.71:52386 as SYN:ACK received but there is no active connection
Router #1 er på subnettet 255.0.0.0 og router #2 er på 255.255.255.0..
Så der går et eller andet galt et sted, det er jeg klar over, for Router #2 burde ikke modtage noget der er sendt fra et NIC på et andet subnet?
Config: http://zlin.dk/p/?YjQyMjI0
Re: To routes på et NIC
se her, og så bare lav om fra 192.168 til 10.0
studer det nøje, se på ip, netmask, broadcast osv i ifconfig output, og kig på hele route outputtet...
http://zlin.dk/p/?OTM1MmJj
Re: To routes på et NIC
http://zlin.dk/p/?ZmM4NzJj
Indrømmet, jeg er ikke den skarpeste til at gennemskue routing, men kan godt se pointen med default route. Kan bare ikke se hvorfor pokker min Router #2 stadigt siger:
Blocked outgoing TCP packet from 10.0.1.9:80 to 130.225.243.71:22286 as SYN:ACK received but there is no active connection
Derfor antager jeg, at svaret stadigt bliver sendt til Router #2, selvom den indgående forespørgsel kommer fra Router #1.
Re: To routes på et NIC
det er fordi din router kun laver DNAT(hvilket egentlig er meget normalt), uheldigvis for dig gør det at sådan et "simpelt" setup ikke vil virke..
du kan kun fikse det her ved enten at også få din router(kun den som ikke er default gateway) til at lavet SNAT også, eller ved at bruge advanced routing, og oprette 2 routing tabeller, og 2 routing rules - dette kræver iproute2 og support for avanceret routing i kernen
Re: To routes på et NIC
Men tak for hjælpen da :)