Cén fáth a bhfanann liostaí FTP taobh thiar de gheata VPN a dhéanann NAT
Éiríonn leis an logáil isteach agus le PWD, ach stopann LIST agus RETR nuair nach n-athscríobhann NAT ach na ceanntáisc. Féach cá gcaithfidh an cúntóir FTP a bheith agus conas an mód éighníomhach a shocrú.
Oibríonn an logáil isteach, oibríonn PWD, agus ansin fanann LIST go dtí go dtagann an cliant suas nó go n-aistríonn sé go mód sonraí eile. Is é an deighilt sin an tsíniú: tá an nasc rialaithe chuig port 21 sláintiúil, agus an nasc sonraí á thógáil ó sheoladh nó ó phort nach féidir leis an taobh eile a shroicheadh. Taobh thiar de gheata VPN a dhéanann NAT freisin, is é an t-ionsaitheoir is gnáth ná ordú FTP a ainmníonn a ualach seoladh tolláin ar nós 10.8.0.6. Ní bhaineann aistriú ceanntásc leis an luach sin riamh.
Seo a leanas cá as a dtagann an luach sin, agus cén bosca a bhfuil cead aige é a athrú.
Is é an t-ualach a bhriseann, ní an tollán
Cuireann FTP an pointe deiridh sonraí taobh istigh den sruth rialaithe. Sa mhód gníomhach seolann an cliant PORT lena sheoladh agus a phort féin, agus glaoann an freastalaí ar ais chuig an bpéire sin. Sa mhód éighníomhach freagraíonn an freastalaí 227 le péire, agus glaoann an cliant ar an bpéire sin ina áit.
Iompraíonn an dá fhoirm an cineál céanna ráitis: nasc leis an seoladh seo, ar an bport seo. Fágann gléas nach n-athscríobhann ach ceanntáisc IP agus TCP an ráiteas gan mhórán, mar sin leanann taobh amháin ag iarraidh seoladh a shroicheadh nach bhfuil ann ach ar an taobh eile de thollán. Stopann an nasc sonraí tar éis an nasc rialaithe a bheith fógartha sláintiúil cheana.
Trí mhód, trí ualach
Taispeánann an tábla thíos cén taobh a n-iarrtar air glao, agus cad is féidir le NAT nach n-athscríobhann ach ceanntáisc a dhéanamh faoi sin.
Léigh an colún deiridh mar an rud a theipeann ar dtús. Sa mhód gníomhach is é an freastalaí a ghlaonn ar sheoladh próbháideach; sa mhód éighníomhach is é an cliant; le FTPS is téacs sifeartha an t-ualach agus tá níos lú fós ag an mbosca idirmheánach le hoibriú leis.
| Mode | Value in the control stream | Who dials whom | Header-only NAT leaves |
|---|---|---|---|
| Active (PORT) | client address and port | server dials the client | a server dialing an unreachable tunnel address |
| Passive (227) | server address and port | client dials the server | a client dialing an address it cannot route to |
| FTPS | the same values, inside TLS | as above | ciphertext, so no rewrite happens at all |
Cuir an cúntóir san áit a dtarlaíonn an aistriú
Ar Linux is é an cúntóir nf_conntrack_ftp a dhéanann athscríobh an ualaigh. Déanann sé faireachán ar an nasc rialaithe, foghlamaíonn sé an port a rinneadh comhaontú air, cruthaíonn sé ionchas don sruth sonraí agus ar bhosca NAT athscríobhann sé an seoladh agus an port taobh istigh den ualach. Ní dhéanann sé cúnamh ach ar an ngléas a aistríonn seoladh an chliaint. Má luchtaítear ar an gcliant é, nó ar ródaire nach ndéanann ach an sruth a sheoladh ar aghaidh, ní athraíonn sé aon rud faoin seisiún.
Taispeánann na trí ordú seo an bhfuil an modúl i láthair, an bhfuil sé ceangailte agus an bhfuil ionchas ann fad a bhíonn seisiún oscailte:
modprobe nf_conntrack_ftp
lsmod | grep nf_conntrack_ftp
conntrack -L expect | grep ftp
Ní hionann an modúl a luchtaítear agus é a cheangal. Tagann eithne ó 4.7 ar aghaidh le net.netfilter.nf_conntrack_helper=0, mar sin fanann an cúntóir le riail shainráite, mar shampla iptables -t raw -A PREROUTING -p tcp --dport 21 -j CT --helper ftp. Má fhanann an liosta ionchas folamh fad a dhéantar iarracht aistrithe, is é an ceangal atá le seiceáil, ní an modúl.
Mód éighníomhach: abair leis an bhfreastalaí cad a fhógairt
Tá an mód éighníomhach níos éasca a dhéanamh cinntitheach mar is féidir a rá leis an bhfreastalaí cad a chuirfidh sé sa fhreagra 227. In vsftpd is é sin pasv_address, mar aon le pasv_min_port agus pasv_max_port; úsáideann ProFTPD MasqueradeAddress agus PassivePorts. Socraigh iad sin ar dtús, mar baineann seoladh fógartha ceart an gá atá le haon rud a athscríobh ar an taobh sin.
Ansin lig don raon port sin go díreach tríd an ngeata, mar shampla -A FORWARD -i tun0 -p tcp --dport 30000:30100 -j ACCEPT, ionas go n-oireann an riail don rud a fhógraíonn an freastalaí.
Caithfidh an dá shocrú teacht le chéile. Teipeann ar fhreastalaí a n-iarrtar air 30000-30100 a fhógairt agus an geata ag ligean 40000-40100 isteach ar an mbealach is lú cabhrach: breathnaíonn an chomhrá rialaithe sláintiúil agus faigheann gach nasc sonraí bás. Déan comparáid idir na huimhreacha sula ndéanann tú aon rud eile a dhífhabhtú.
Dhá shíniú teipe, agus cad a bhaineann FTPS amach
Cuireann stad ar LIST in iúl don chéad nasc sonraí den seisiún, áit a gcaithfidh athscríobh seolaidh agus an t-ionchas araon oibriú. Cuireann stad ar RETR tar éis LIST a oibríonn in iúl don aistriú féin, is é sin an raon éighníomhach nó MTU an tolláin. Ní fadhb ualaigh é an dara síniú sin, agus ní dheiseoidh socruithe an chúntóra é.
Baineann FTP thar TLS an t-ualach a léann an cúntóir amach. Ní féidir le bosca idirmheánach luach PORT nó PASV a athscríobh nach féidir leis a dhíchriptiú, mar sin is iad na roghanna atá fágtha seachfhreastalaí a chríochnaíonn TLS, freastalaí a fhógraíonn seoladh inrochtana laistigh de raon teoranta, nó prótacal aistrithe eile.
Ord gearr seiceálacha
Oibrigh amach ón symptom. Deimhnigh go dteipeann ar LIST agus PWD ag éirí leis, gabh an seoladh taobh istigh den ualach PORT nó 227, agus fiafraigh cén gléas a aistríonn an seoladh sin. Ceangail an cúntóir ann, breathnaigh ar an liosta ionchas le linn aistriú amháin, ansin socraigh an mód éighníomhach ar an bhfreastalaí agus scáthaigh an raon i riail an gheata.
Coinnigh teip an chosáin sonraí ar leithligh ó theip an aistrithe mhóir, mar chuig socruithe éagsúla a thugann siad thú.