pf - ftp gond

Fórumok

Sziasztok !

Akadt egy problémám, melyet a pf.faq idevágó részének elolvasása után sem tudtam megoldani. Biztos rém egyszerű de kisé már frusztrál. Adott egy PF-es NATolást is végző gép, melyen az ftp-proxy segítségével a belső háló gépei is vidáman kiftpznek és töltenek. Magáról a gépről azonban nem tudok rendesen ftpz-ni mert nem kapok könyvtárlistát sehogyan, vagyis vmiért eldobom a választ.

A manual szerint írtam meg a proxyzáshoz szükséges szabályokat:
rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021

pass in on $ext_if inet proto tcp from port 20 to ($ext_if) user proxy flags S/SA keep state

A logokban ez jelenik meg:

rule 9/(match) [uid 0, pid 27361] block in on rl1: [uid 1000, pid 17241] (CÉL IP).20 > (FORRÁS IP).49681: [|tcp] (DF) (ttl 54, id 50090, len 60)

Olyan mintha a gépről indított ftp-ket nem irányítaná át a 8021-re és így eldobom a PORT-ra adott választ a helytelen uid miatt. A gondot az rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021 szabályban lévő $int_if-ben véltem felfedezni, mert ugye elvileg én egyből az $ext_if felé nyitok csatornát, de úgy sem megy ha átírom. Vmit nem csinálok jól csak tudnám mit.

Hozzászólások

Használd a Sentia ftpsesame megoldását. Szerintem egyszerűbb és nagyszerűbb. ;)

Google-n keress rá a PFTPX nevű progira, az ftpsesame NAT-hoz nem jó.
Ja, és asszem OBSD 3.8 már natívan tartalmazza a ftpsesame-ot, pftpx-et én forrásból raktam rá, tehát azt asszem, nem.

edit. majd besshzok a gépre, amire ezt fölraktam, és megmondom, mit hogyn, így fejből nem vágom - mindenesetre nem ördöngős... ;)

Sziasztok !

Köszönet a válaszokért ! A 3.9-ben lévő ftp-proxy már az anchoros megoldást használja, de ezzel sem tudok magáról a NAT-os gépről ftpt használni. A rulesetben benne van a rdr proto tcp from an any to any port 21 -> 127.0.0.1 port 8021, de olyan mintha a localhostra ez nem vonatkozna. Persze a többi is amit a man ftp-proxy ír, csak ezzel van sztem vmi gubanc.

Ja és esetleg arról hogy mikorra várható hogy lesznek megint i386 snapshot csomagok (most eltűntek gondolom a 3.9 májusi kiadása miatt) info ?

Az alábbi szösszenetre az IP filter FAQban akadtam:

I've set up to use the ftp-proxy in my ipnat.conf file, and it works fine from NAT'ed machines, but I can't ftp from the firewall machine unless I put a rule in ipf.conf to pass port 20/tcp in from remote machines. How do I get the ftp proxy to work from the firewall machine too?
Add a second ftp proxy rule to your ipnat.conf:

map ext-interface firewall-ip/32 -> firewall-ip/32 proxy port ftp ftp/tcp

Ezt hogyan kéne PF-ben megadni ? (és miért kéne ?)
Ha vki vágja mindkét témát az beírhatná, mert ezt nem értem igazán.
köszönet érte

rdr pass on $if proto tcp from $firewall_ip to any port 21 -> 127.0.0.1 port 8021

vagy valami ilyesmi, tehát a firewall ip-jéről is átirányítod a proxyra.

--//EDIT

Jobban belegondoltam. Van egy ext_if aminek pub ipje van, és egy int_if ami RFC1918-as belső IP. Namost be kell engedned az ftpdata forgalmat az ext_if-re:

pass in quick on $ext_if proto tcp from any to ($ext_if) port 20 flags S/SA modulate state

($ext_if) -- így adod meg azt, hogy a külső iface IP-je dinamikus. Ha statikus, értelemszerűen az IP-jével helyettesíted. Ha magáról a wallról ftpzel, azt ne redirecteld proxyra, sztem fölösleges.