← Back to team overview

sslug-teknik team mailing list archive

RE: Oversætte port nummer til andet port nummer

 

On Mon, 5 Mar 2012 15:44:49 +0100
Jesper Langkjær <jl@xxxxxxxxxxx> wrote:

>> >  Forstår stadig ikke hvorfor det ikke bare kan løses med en
>> > statisk
>> >ip route til dr's net hvor du router ud gennem IP på wan
>> >interface 2
>> 
>> >  Der kan være ting som at du ikke har styr på routen tilbage og
>> > andre
>> >protrokoller du gerne vil have til at køre på andre interfaces
>> >osv men vil du bare gerne have traffiken til dr skal følge en
>> >bestemt route ud af huset så skulle jeg mene du kan nøjes men en
>> >simpel statisk route.
>> 
>> Nogle personer skal have adgang til www.xxx.dk på alm. port 80 og
>> andre skal have adgang til www.xxx.dk på port 81. Nu var dr.dk
>> kun et eksemple, det er drejer sig som 65 forskellige url'er der
>> skal tilgåes på denne måde.
>> 
>> /Jesper

>Desværre har jeg ikke prøvet at filtrere til forskellige interfaces
>på portnummer, men jeg undrer mig over om du bruger iptables rigtigt.
>
>-dport og -sport er filter udtryk, d.v.s. du kan ikke om-dirigere
>med -dport 81 #(destination port), -dport undersøger om target er
>x.x.x.x:81, laver ikke pakkerne om.

>Til Andreas' forslag må man sige, at man ikke kan nøjes med en
>statisk route, fordi router-tabellen jo ikke tager hensyn til
>portnummer.

>Hvis du både forlanger -sport 81 og -dport 80, så fanger du kun
>trafik FRA x.x.x.x:81 TIL x.x.x.x:80 og det har du garanteret
>ikke noget af!

>Mit bedste gæt er, at du kan "fange" pakkerne med et filter udtryk
>i retning af --source x.x.x.x -sport 81 (dem der kommer fra
>domain.com:81, source er fra port 81) og så bruger 

>--out-interface eth1

>som er en omdirigerings-kommando, faktisk en routing kommando
>midt inde i iptables (som ellers først og fremmest filtrer ting
>væk eller omskriver adresser :)

>Du kan kun bruge --out-interface med FORWARD eller med
>NAT tabellens PREROUTING og OUTPUT chains (check selv).

>Hvis man gør den slags, ved jeg ikke om svar-pakker kommer
>tilbage ad samme rute, det tror jeg ikke de behøver at gøre (det
>tror jeg ikke de nødvendigvis vil gøre. Åh sproget ...)

>Men hvis det vigtigste er at få volumen-streams til at gå over
>den ene wireless, så er det jo ligegyldigt hvad vej de i antal
>meget få request pakker vil blive sendt.



>Et exempel på udefra kommende trafik til to Apache-servere:

>De to nedenstående exempler fra man-page for iptables viser IKKE
>det du har brug for, men tilsvarende hvordan man kan sprede
>indgående trafik TIL port 80 til 8080 og 8081. Det vises
>i exemplet at man fordeler til flere CPU'er - formentlig med hver
>deres apache, og de lytter på hhv. port 8080 og 8081; der er ikke
>tale om separate maskiner eller netværks-interfaces.

>cpu
>[!] --cpu number
>      Match cpu handling this packet.  cpus  are  numbered  from  0  to
>      NR_CPUS-1  Can  be  used  in  combination with RPS (Remote Packet
>      Steering) or multiqueue NICs to spread network traffic on differ-
>      ent queues.

>Example:

>iptables  -t nat -A PREROUTING \
>-p tcp --dport 80 -m cpu --cpu 0 -j REDIRECT --to-port 8080

>iptables -t nat -A PREROUTING \
>-p tcp --dport 80 -m cpu --cpu 1 -j  REDIRECT --to-port 8081

>Available since Linux 2.6.36.



>Jeg håber jeg ramte noget, du kan bruge - sætter pris på
>feedback.


>-- 
>Donald Axel <donax@xxxxxx>


Hej Donald og i andre.

Tusind tak for hjælpen.

Som jeg nok havde regnet med, så var det ikke "bare lige til".
Jeg har derfor valgt en mere lowtech løsning, nemelig at få flere wan ipadresser fra TDC.
Lidt bøvlet, men det virker :-)

Igen tak for hjælpen.

/Jesper


References