natd problema

Ferenc Szentpétery szefe at lino.kvif.hu
1999. Már. 9., K, 23:45:28 CET


> > ipfw add 1000 divert natd tcp from 192.168.227.201 to ftp.sztaki.hu ftp via tx0
> > ipfw add 1001 divert natd tcp from ftp.sztaki.hu ftp to 193.224.167.1 via tx0
> > ipfw add 1002 divert natd tcp from 192.168.227.201 to ftp.sztaki.hu 20 via tx0
> > ipfw add 1003 divert natd tcp from ftp.sztaki.hu 20 to 193.224.167.1 via tx0
> >
> > A 193.224.167.1 a tx0 cime.
>
> qrva erdekes !!! valaki tud ra jo magyarazatot ?
>
> szerintem ugyanis a kovetkezo tortenik:
> a 192.168.227.201 nyit egy tcp socketet az ftp.sztaki.hu fele, a natd-s
> gep csinalja a dolgat, es a visszafele jovo csomagokrol tudja, hogy a
> 192-es gep fele kell kuldeni... (1-es sor)
> (szerintem a kettes sor nem kell, de lehet, hogy tevedek)
> viszont amikor kiadsz pl egy get utasitast, akkor az ftp szerver nyit egy
> socketet (20-as port, ftp-data) a masik gep fele, de az ftp.sztaki.hu azt
> hiszi, hogy a 193.224.167.1 gep a kliens, szoval arra az ip cimre nyit.
> honnan tudja a natd, hogy az ilyet tovabb kell kuldeni a 192-es gep fele
> ?? en mar csinaltam par natd-s dolgot, de ilyet csak statikus
> osszerendezessel lattam....
> ezert javasoltam a passive modot, mert ott forditva ulnek a programok a
> bilin, es a masodik socketet is a kliens nyitja, igy aztan nincs
> problema...

En nem tudok ra magyarazatot, mivel a man natd szerint, ha egyszer
kifele a natd-n at megy a packet, akkor a befele jovot magatol
tovabbkuldi a megfelelo gepnek. Tapasztalatom szerint ha a
masodik sort kitorlom, nem mukodik. Megneztem natd -v -n tx0
paranccsal is, ez terminalra irja, mit csinal. A masodik sor nelkul
csak OUT muveletek voltak, a masodik sor megadasa utan IN
muveletek is lettek. Az IN muveleteknel kiirta, hogy konvertalta
a packet celcimet a belso halozati gep cimere, tehat tudta, honnan
kezdemenyeztek a kapcsolatot.

natd -v -n tx0 outputja:

Masodik sor nelkul az ftp kliens probalkozik:

Out [TCP]  192.168.227.201:1090 -> 193.225.86.1:21 aliased to
           193.224.167.1:1090 -> 193.225.86.1:21
Out [TCP]  192.168.227.201:1090 -> 193.225.86.1:21 aliased to
           193.224.167.1:1090 -> 193.225.86.1:21
Out [TCP]  192.168.227.201:1090 -> 193.225.86.1:21 aliased to
           193.224.167.1:1090 -> 193.225.86.1:21

Itt mar megvan a masodik sor is, ftp kapcsolatfelvetele:

Out [TCP]  192.168.227.201:1095 -> 193.225.86.1:21 aliased to
           193.224.167.1:1095 -> 193.225.86.1:21
In  [TCP]  193.225.86.1:21 -> 193.224.167.1:1095 aliased to
           193.225.86.1:21 -> 192.168.227.201:1095
Out [TCP]  192.168.227.201:1095 -> 193.225.86.1:21 aliased to
           193.224.167.1:1095 -> 193.225.86.1:21
In  [TCP]  193.225.86.1:21 -> 193.224.167.1:1095 aliased to
           193.225.86.1:21 -> 192.168.227.201:1095
Out [TCP]  192.168.227.201:1095 -> 193.225.86.1:21 aliased to
           193.224.167.1:1095 -> 193.225.86.1:21

A passziv ftp mod itt nem tul jo, mert a belso halon log egy
csomo laikus felhasznalo, akiknek a dir, ill. ls is meghaladja
a kepessegeit. Most kezdjem elmagyarazni nekik, mit csinaljanak,
vagy beallitgatni egy rakas windowsos ftp progit?
Ezenkivul Win95-ben hogyan lehet a beepitett (karakteres) ftp-t
passziv modban hasznalni?

Valojaban most mar nem a fenti 4 parancssor-t hasznalom, hanem:

ipfw add 60001 divert natd all from 192.168.227.201 to any via tx0
ipfw add 60002 divert natd all from any to 193.224.167.1 via tx0

A jelenseg (hogy mindket iranyt meg kell adni) tovabbra is fennall.

ipfw show jelenleg:

60001         10        421 divert 8668 ip from 192.168.227.201 to any via tx0
60002         78       4698 divert 8668 ip from any to 193.224.167.1 via tx0
60011          0          0 divert 8668 tcp from 192.168.1.7 to 193.6.241.65 21
via tx0
60012          0          0 divert 8668 tcp from 193.6.241.65 21 to 193.224.167.
1 via tx0
60013          0          0 divert 8668 tcp from 192.168.1.7 to 193.6.241.65 20
via tx0
60014          0          0 divert 8668 tcp from 193.6.241.65 20 to 193.224.167.
1 via tx0
64199      75710   13239644 allow ip from any to any via lo0
64200          0          0 deny ip from any to 127.0.0.0/8
65000    1856942  666543893 allow ip from any to any
65535          8        504 deny ip from any to any

SzeFe




További információk a(z) BSD levelezőlistáról