Tak, jsem se vyděsil, když jsem vás tu četl, tak jsem se musel zaregistrovat, abych vám mohl odpovědět.
Takže, podle všeho netušíte ani přibližně, jak ten firewall vlastně funguje, a jak funguje přenos souborů.
Jde o to, jak jste připojen k internetu a jakou máte adresu. Pokud máte veřejnou adresu, půjde to. Pokud máte privátní, spíš ne. Privátní adresy začínají 10.xxx.xxx.xxx, 172.16.xxx.xxx nebo 192.168.xxx.xxx. Pokud ji máte, jste schovaní za routerem. Pokud je ten router váš nebo máte možnost jej ovlivnit (kamarádův), dá se to možná ještě zachránit.
Takže, pokud máte veřejnou adresu - taky to poznáte tak, že přenos souborů funguje při vyplém firewallu - potřebujete, aby někdo zvenčí se mohl připojit na váš počítač. Pidgin přenáší soubory tak, že se "domluví" s pidginem toho, kdo posílá soubor, že jeden z nich otevře port, druhý se na něj připojí. Takže, musíte povolit, aby požadavky odcházející z vašeho počítače. Problém je, že pidgin se domluví na portech s protistranou, a ty si vymyslí jenom jedna strana. Co si vymýšlí váš pidgin si můžete nastavit - a budete muset.
V pidginu, záložka síť, je tam uvedený rozsah portů. 1024-65535. Tohle je třeba zůžit, třeba na 5 portů. Normálně by to mělo být použité jenom když se přenáší soubor, takže o nic nejde. Vyberu si port nad 1024, jedno jaký. Nastavím tam třeba 3500 - 3505. Pidgin by měl pro přenosy souborů používat jenom tyhle porty.
# nadefinuju porty ve fireholu
# doufam ze rozsah se dela dvojteckou, nezkousel jsem
server_pgtransfer_ports="tcp/3500:3505"
client_pgtransfer_ports="default"
#porom přidám do interface
# povoleni prenosu
server accept pgtransfer
# povolit veskery odchozi provoz
# co odchazi nehodlam povolovat po jednom, to muzu ovlivnit
# sam, povolim vsechno
client all accept
A teoreticky by to mělo být schopné navázat spojení a začít přenášet. Nezkoušel jsem, nemám veřejnou IP a tak mě tohle ani jít nemůže. Pokud nemáte taky, máte smůlu, přenášet nebudete. Řešení je jedině použít gajim, případně psi, s nastavením v poslední záložce účtu nastavit filetransfer proxy na: proxy.netlab.cz. Pidgin tohle neumí, s ním to nepůjde. Pozor! pokud je na výběr HTTP proxy, jsem na špatném místě, není proxy jako proxy, a filetransfer proxy je jenom na přenos souborů, v Psi je to jedno prázndé políčko. Pokud je tam výběr mezi SOCKS, HTTP a tak, jste na špatném místě.
Poslední věc, mě docela vyděsila. max007 má ve svém configu:
server accept ssh
server accept ping
server accept ftp
...
Prosím vás, já firehol nepoužívám, ale jestli se nepletu, jako že jsem se díval na dokumentaci, tímhle jste pustil kohokoliv z venku na sluzbu ssh, povolil mu ping, povolil se dostat na vase ftp a vsechny ostatni nebezpecne sluzby. Pokud neni zcela jiste, ze prave tohle chcete, rychle to dejte pryc. Timhle totiz krasne vyrazujete jakykoliv ochranny efekt firewallu, protoze nebezpecna individua poustite otevrenymi dvermi dovnitr, zatimco vlastniho pidgina ven pustit nechcete.
server znamena, ze vy chcete provozovat server na svem pocitaci a chcete, aby se na nej dostali i lide z internetu.
client znamena, ze vas program se chce pripojit nejakm do internetu k nejakemu serveru, tedy ze vy fungujete jako klient. Pokud nejste hodne paranoidni o zneuzivani osobnich informaci o vas, povolte vsechny odchozi spojeni (povolit vsechny klienty), zakazte vsechny servery, ktere nejsou nutne dostupne z internetu.
Pravdepdoobne jediny server, ktery chcete provozovat, je pidgin a jeho nabizeni souboru. Takze, podle me by melo nastaveni vypadat nejak takto:
version 5
DEFAULT_CLIENT_PORTS="1024:65535"
# nadefinuju porty ve fireholu
# doufam ze rozsah se dela dvojteckou, nezkousel jsem
server_pgtransfer_ports="tcp/3500:3505"
client_pgtransfer_ports="default"
interface eth+ internet
policy drop
protection strong 10/sec 10
server ident reject with tcp-reset
server pgtransfer accept
client all accept
Tohle by melo stacit, zadne speciality nejsou treba. Zakladni ochranu to udela. Pripadne pokud delate web na vlastnim pocitaci, povolte si http.
Pokud mate privatni IP adresu (adresa z prikazu ifconfig ma tvar 10.xxx.xxx.xxx, 172.16.xxx.xxx nebo 192.168.xxx.xxx) tak vam muze pomoct jedine presmerovani portu. Pokud mate router vlastni, pravdepodobne harwarova krabicka, ktery verejnou adresu ma (jak to zjistit, pres ovladaci panel zkusit zjistit adresu, obvykle pres webovy prohlizec), je mozne to zprovoznit. Proste vyrobite preposilani portu z routeru an vasi privatni IP. Pokud pouzijete moje cisla portu, musite nastavit presmerovani port 3000, 3001, 3002, 3003, 3004, 3005 na IP adresu vaseho pocitace. Routery to obvykle neumi zadat jako rozsah od-do, takze to musite otrocky naklepat po jednom, proto taky jenom 5 portu
Jinak necekejte ze vam odpovim na dalsi dotazy, byl jsem tu nahodou a jako neuzivatel ubuntu sem nechodim casto. Sve dotazy smerujte do dokumentace, do anglickeho slovniku, do strejdy googla. Pokud vam to nejde, zkuste v googlu najit "jak funguje nat", at aspon orientacne vite, co v tom firewallu chcete nastavit. Metodou pokus omyl je to na dlouho.