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