|
| Flere netværksinterfaces under linux Fra : Lars Kongshøj |
Dato : 22-12-00 17:53 |
|
Jeg skal til at sætte en linux-server op. Denne har to
internet-interfaces, med hver sin 'private' ip-adr. Undervejs mod
internettet sker NAT til to forskellige ip-adr.
Spørgsmålet er så for at korte det lidt ned: Hvis der etableres en
forbindelse til serveren via eth0, og eth1 er serverens default gw, vil
svar-pakkerne så ryge via eth1 tilbage? Og hvis ja: Kan man gøre noget
for at sikre at svar-pakkerne ryger samme vej tilbage, som klientens
pakker ankom ad?
Kerne-version er pt 2.2.17, men det kan der om nødvendigt laves om på.
Hvis der er nogen, der kender til spørgsmålet, eller har et link, vil
jeg være taknemmelig.
Mvh.
Lars Kongshøj
| |
Svend Bjerrum Jensen (22-12-2000)
| Kommentar Fra : Svend Bjerrum Jensen |
Dato : 22-12-00 19:42 |
|
Lars Kongshøj <kongshoj@my-deja.com> writes:
> Jeg skal til at sætte en linux-server op. Denne har to
> internet-interfaces, med hver sin 'private' ip-adr. Undervejs mod
> internettet sker NAT til to forskellige ip-adr.
>
> Spørgsmålet er så for at korte det lidt ned: Hvis der etableres en
> forbindelse til serveren via eth0, og eth1 er serverens default gw, vil
> svar-pakkerne så ryge via eth1 tilbage? Og hvis ja: Kan man gøre noget
> for at sikre at svar-pakkerne ryger samme vej tilbage, som klientens
> pakker ankom ad?
Nu har jeg godt nok ikke den store erfaring med nat-routere, men
udmiddelbar vil jeg tro, at den trafik, der kommer ind på eth0 vil se
ud somom den kommer fra nat-routeren. Og trafikken til den nat-router
som eth0 er forbundet til har du jo routet via eth0, så jeg vil tro
det går den vej.
--
Med venlig Hilsen
Svend Bjerrum Jensen
http://www.sbj.esenet.dk
| |
Jesper Jakobsen (23-12-2000)
| Kommentar Fra : Jesper Jakobsen |
Dato : 23-12-00 00:03 |
|
> > Spørgsmålet er så for at korte det lidt ned: Hvis der etableres en
> > forbindelse til serveren via eth0, og eth1 er serverens default gw, vil
> > svar-pakkerne så ryge via eth1 tilbage? Og hvis ja: Kan man gøre noget
> > for at sikre at svar-pakkerne ryger samme vej tilbage, som klientens
> > pakker ankom ad?
>
> Nu har jeg godt nok ikke den store erfaring med nat-routere, men
> udmiddelbar vil jeg tro, at den trafik, der kommer ind på eth0 vil se
> ud somom den kommer fra nat-routeren. Og trafikken til den nat-router
> som eth0 er forbundet til har du jo routet via eth0, så jeg vil tro
> det går den vej.
Hej
Jeg er enig med Svend..... Det NAT-Routeren gør at den stempler sin egen
IP-Adresse, fra det externe interface, ind over den som afsenderen har sat
på, derfor vil den server du logger op mod tro at den kommunikerer direkte
med NAT-Routeren. (Ja, de vil ryge ind på eth1, først).
For at svare på tit 2. spørgsmål, en lille forklaring:
Når NAT-Routeren modtager en pakke på det interne interface(Eth0), vil den
huske hvor pakken kom fra, så når din pakke får svar(Adresseret til det ext.
interface), vil routeren kunne se at det er en pakke der er et svar til en
tidligere forespørgsel (kaldes en SYN pakke).
Så vil den sende pakken fra det ext. interface til det int. interface og
give pakken sin rigtige modtager adresse tilbage.
Håber det gav dig svar
Jesper Jakobsen
Ps: I tvivl så skriv en mail...
| |
Lars Kongshøj (23-12-2000)
| Kommentar Fra : Lars Kongshøj |
Dato : 23-12-00 09:58 |
|
Tak for svarene, som dog så vidt jeg kan se, ikke løser mit problem.
Lad mig forklare på en anden måde:
Router A, extern ip 20.20.20.20, NAT, forbundet til linux-serveren på
eth0 med ip 10.20.20.20.
Router B, extern ip 30.30.30.30, NAT, forbundet til linux-serveren på
eth1 med ip 10.30.30.30 (default-route).
Kurt fra Ledøje browser nu udefra til 20.20.20.20. Linux-serveren får en
pakke ind på eth0. Sender linux så svar-pakken til eth1 (defaultroute),
eller tilbage via ankomstinterfacet (eth0).
Pakken som linux-serveren modtager, har jo efter NAT Kurts ip
(100.100.100.100) som afsender og 10.20.20.20 som modtager. Hvis linux
svarer via default route, får Kurt jo svar fra en anden ip
(30.30.30.30), end den han sendte til (20.20.20.20), og det er jo ikke
sikkert at det er så godt.
Mvh.
Lars Kongshøj
| |
Jesper Jakobsen (23-12-2000)
| Kommentar Fra : Jesper Jakobsen |
Dato : 23-12-00 20:15 |
|
> Tak for svarene, som dog så vidt jeg kan se, ikke løser mit problem.
Havde det godt på fornemmelsen...
> Lad mig forklare på en anden måde:
Tak!!
> Router A, extern ip 20.20.20.20, NAT, forbundet til linux-serveren på
> eth0 med ip 10.20.20.20.
> Router B, extern ip 30.30.30.30, NAT, forbundet til linux-serveren på
> eth1 med ip 10.30.30.30 (default-route).
>
> Kurt fra Ledøje browser nu udefra til 20.20.20.20. Linux-serveren får en
> pakke ind på eth0. Sender linux så svar-pakken til eth1 (defaultroute),
> eller tilbage via ankomstinterfacet (eth0).
>
> Pakken som linux-serveren modtager, har jo efter NAT Kurts ip
> (100.100.100.100) som afsender og 10.20.20.20 som modtager. Hvis linux
> svarer via default route, får Kurt jo svar fra en anden ip
> (30.30.30.30), end den han sendte til (20.20.20.20), og det er jo ikke
> sikkert at det er så godt.
Aha... Så bliver det straks mere komplekst.
Som jeg ser det vil linux kværnen se "Kurts" pakke, og tænke den her pakke
kommer fra 100.100.100.100
så vil den kikke i sin routertabel og tænke 100 nettet kender jeg ikke så
den skal til default gateway.
Alt efter hvad serveren skal bruges til kan løsningen f.eks. være at
definere det ene interface til ftp og det andet til http.
Mvh Jesper Jakobsen
Don't fear the penguins....
| |
Lars Kongshøj (27-12-2000)
| Kommentar Fra : Lars Kongshøj |
Dato : 27-12-00 20:52 |
|
Jesper Jakobsen wrote:
> > Router A, extern ip 20.20.20.20, NAT, forbundet til linux-serveren på
> > eth0 med ip 10.20.20.20.
> > Router B, extern ip 30.30.30.30, NAT, forbundet til linux-serveren på
> > eth1 med ip 10.30.30.30 (default-route).
> >
> > Kurt fra Ledøje browser nu udefra til 20.20.20.20. Linux-serveren får en
> > pakke ind på eth0. Sender linux så svar-pakken til eth1 (defaultroute),
> > eller tilbage via ankomstinterfacet (eth0).
> >
> > Pakken som linux-serveren modtager, har jo efter NAT Kurts ip
> > (100.100.100.100) som afsender og 10.20.20.20 som modtager. Hvis linux
> > svarer via default route, får Kurt jo svar fra en anden ip
> > (30.30.30.30), end den han sendte til (20.20.20.20), og det er jo ikke
> > sikkert at det er så godt.
....
> Som jeg ser det vil linux kværnen se "Kurts" pakke, og tænke den her pakke
> kommer fra 100.100.100.100
> så vil den kikke i sin routertabel og tænke 100 nettet kender jeg ikke så
> den skal til default gateway.
En praktisk test har nu afsløret, at dette er tilfældet. Hvilket ikke
giver noget godt resultat!
> Alt efter hvad serveren skal bruges til kan løsningen f.eks. være at
> definere det ene interface til ftp og det andet til http.
Den skal køre http. Jeg havde også en formodning om at man, som du
skriver, at kan få ipchains til at lede trafik, der stammer fra port 80
af en anden route end default. Hvis der her efter jul skulle være dukket
nogen op, der kender en bedre løsning, er den stadig savnet.
--
Lars Kongshøj
| |
Claus Alboege (28-12-2000)
| Kommentar Fra : Claus Alboege |
Dato : 28-12-00 12:15 |
|
>>>>> "Lars" == Lars Kongshøj <kongshoj@my-deja.com> writes:
[snip]
Lars> Den skal køre http. Jeg havde også en formodning om at man,
Lars> som du skriver, at kan få ipchains til at lede trafik, der
Lars> stammer fra port 80 af en anden route end default. Hvis der
Lars> her efter jul skulle være dukket nogen op, der kender en bedre
Lars> løsning, er den stadig savnet.
Har du kigget paa Linux 2.4 Advanced Routing HOWTO ?
http://new.linuxnow.com/docs/content/HOWTO/Adv-Routing-HOWTO/Adv-Routing-HOWTO-8.html
Her har du mulighed for at markere pakker, fx http trafik, og sende
dem via een "default" gw, mens alt andet trafik sendes via en anden
"default" gw. Dog kraever det 2.4 kerne.
Maaske det kunne vaere en hjaelp?
--
Mvh Claus Albøge
--
% rm -f *;o
% command not found: o
| |
Lars Kongshøj (29-12-2000)
| Kommentar Fra : Lars Kongshøj |
Dato : 29-12-00 09:46 |
|
Claus Alboege wrote:
> >>>>> "Lars" == Lars Kongshøj <kongshoj@my-deja.com> writes:
> Lars> Den skal køre http. Jeg havde også en formodning om at man,
> Lars> som du skriver, at kan få ipchains til at lede trafik, der
> Lars> stammer fra port 80 af en anden route end default. Hvis der
> Lars> her efter jul skulle være dukket nogen op, der kender en bedre
> Lars> løsning, er den stadig savnet.
> Har du kigget paa Linux 2.4 Advanced Routing HOWTO ?
> http://new.linuxnow.com/docs/content/HOWTO/Adv-Routing-HOWTO/Adv-Routing-HOWTO-8.html
Ja, men jeg syntes ikke lige jeg kunne finde noget der løste noget, der
løste mit egentlige problem, nemlig at route pakker tilbage til en host
via det interface, som hosten havde kontaktet serveren på, uanset
defaultroute.
> Her har du mulighed for at markere pakker, fx http trafik, og sende
> dem via een "default" gw, mens alt andet trafik sendes via en anden
> "default" gw. Dog kraever det 2.4 kerne.
Ja, det er så en for at omgå problemet. Det tror jeg nu, at man allerede
at man kan i 2.2-kernen, hvis jeg forstår man-siden til ipchains ret.
--
Lars Kongshøj
| |
|
|