Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.
Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.
3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.
Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Já vím, že už se to mnohokrát řešilo. Vím, jak to funguje, a proto jsem v koncích. Potřebuju zprovoznit pasivní FTP na můj stroj. A iptables samozřejmě nepovolí datové spojení.
Kernel 2.6.24 (TuxOnIce, Gentoo) byl zkompilován s parametry:
CONFIG_NF_CONNTRACK_ENABLED=y
CONFIG_NF_CONNTRACK=y
# CONFIG_NF_CONNTRACK_MARK is not set
# CONFIG_NF_CONNTRACK_EVENTS is not set
# CONFIG_NF_CONNTRACK_AMANDA is not set
CONFIG_NF_CONNTRACK_FTP=y
# CONFIG_NF_CONNTRACK_SANE is not set
# CONFIG_NF_CONNTRACK_TFTP is not set
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NF_CONNTRACK_IPV4=y
# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
CONFIG_IP_NF_IPTABLES=y
A iptables samozřejmě obsahují tento řádek:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Nemáte někdo nápad, proč datové pasivní FTP spojení přes firewall neprojde?
CONFIG_NF_CONNTRACK_FTP=y
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
Pak ti pujde aktivni i pasivni spojeni.... Pouze FTP, ne FTPs (FTP over SSL)
modprobe mi samozřejmě nepomůže - nemám ty moduly, když je to v jádře. Spíš mě překvapuje modul ip_nat_ftp. Co přesně tenhle modul dělá? Která volba způsobí, že se zkompiluje? Stroj běží na veřejné IP, ale nepřijde mi to podstatné.
Myslíte si, že bych měl zakompilovat do kernelu i podporu pro NAT? Nechápu, proč by to s tím mělo souviset...
Brzdí to samozřejmě iptables - jakmile je vypnu, vše funguje.
Když zkusím připojení z telnetu, tak vše funguje dle očekávání - přihlásím se, pošlu PASV paket, na ten mi přijde odpověd, ale iptables neotevřou port pro ono datové spojení. Přitom server poslouchá - v netstat jde otevřený port vidět.
/proc/net/nf_conntrack*
neboo tak přibližně, jestli tam není něco vidět.
Ha! Tady doslo ke zmene! V souboru /proc/net/nf_conntrack se nahle objevilo nekolik radku zhruba tehle podoby:
ipv4 2 tcp 6 431912 ESTABLISHED src=my.beauty.ip.addr dst=86.49.93.28 sport=46541 dport=6667 packets=118 bytes=7137 src=86.49.93.28 dst=and.a.gain.ip sport=6667 dport=46541 packets=114 bytes=13148 [ASSURED] use=1
U vsech radku je napsano ESTABLISHED, jen u dvou je TIME_WAIT. Ja jsem si rikal, ze ESTABLISHED mi asi funguje, kdyz muzu vesele brouzdat po webu... Jinak bootuju spravny kernel.
Diky... Ano, ESTABLISHED spojeni na port 21 v souboru nf_conntrack je. Prikazove spojeni funguje naprosto bez problemu.
Zapnout logovani je urcite dobry napad - pokud pridam pravidlo, ktere zaloguje a zahodi vsechny spojeni na port >1024. Ted mam samozrejme vsechno zahazovane implicitnim pravidlem. Nevite nekdo, jak toto logovani zapnout?
Jen se bojim, ze v pripadnem logu uvidim presne to, co se da cekat - iptables zakazaly spojeni, protoze jim nedoslo, ze se jedna o RELATED spojeni, ale mysli si, ze je NEW.
Vsiml jsem si ale, ze v iptables existuji krome match state (RELATED, ESTABLISHED) jeste match conntrack (RELATED, ESTABLISHED). Nevite nekdo, jaky je mezi nimi rozdil? Pro jistotu uvedu cely radek iptables:
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# ftpd chain -N S_FTP -F S_FTP -A S_FTP -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT # ftpd (passive) -A S_FTP -p tcp -m state --state ESTABLISHED,RELATED -m multiport --dports 49152:49162 -j ACCEPT ------------- # ftpd -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j S_FTP # ftpd (passive, data) #-A INPUT -p tcp -m state --state NEW -m multiport -m multiport --sports 1024: --dports 49152:49162 -j S_FTP -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -m multiport --dports 49152:49162 -j S_FTP # ftp (pasive, data) -A INPUT -p tcp -m state --state ESTABLISHED -m tcp --sport 1024: --dport 1024: -j ACCEPT ----------------- # ftpd (active, data) -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -m tcp --sport 20 --dport 1024: -j ACCEPT # ftp -A OUTPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT # ftp (active, data) -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -m tcp --dport 20 -j ACCEPT # ftp (passive, data) -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED --sport 1024: --dport 1024: -j ACCEPT -----------------#ftpd jsou pravidla týkající se serveru, #ftp týkající se klienta. Filtruji i output, ale to se dá vyhodit. Pokud chcete nějakou informaci lognout, tak před to pravidlo napíšete dané pravidlo ještě jednou, pričemž místo
-j ACCEPT_OR_SOdáte
-j LOG -m limit --limit 1/minute --limit-burst 1 --log-level debug --log-prefix "iptables: ftp: wtf "a následovat bude to pravidlo. Pozor, délka textu prefixu je omezená (asi 16 znaků nebo tak nějak, už nevím). Pokud si pak dáte tail -f /var/log/messages tak se vám objeví informace že nějaký paket dorazil v iptables až "tam" (jen jeden paket za minutu, ale to lze změnit), případně pokud je těch logů více, tak se vám objeví v pořadí v jakém paket lezl... To zakomentované pravidlo (tedy NEW místo RELATED/ESTABLISHED) mi tuším fungovalo právě pro pasivní spojení ještě než jsem tam dal právě conntracking.
# LOG -A INPUT -m limit --limit 5/minute --limit-burst 5 -j LOG --log-level debug --log-prefix "iptables: undefined input: " -A FORWARD -m limit --limit 5/minute --limit-burst 5 -j LOG --log-level debug --log-prefix "iptables: undefined forward: " -A OUTPUT -m limit --limit 5/minute --limit-burst 5 -j LOG --log-level debug --log-prefix "iptables: undefined output: " # input #-A INPUT -j REJECT --reject-with icmp-port-unreachable #-A INPUT -j DROP # output -A OUTPUT -j ACCEPT #-A OUTPUT -j DROPPřičemž neznámý output explicitně povoluji, neznámý input po lognutí neřeším, protože mám na začátku default policy jako DROP...
modprobe capability
iptables -A INPUT -i ${WAN} -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
je obecnější než třeba -A INPUT -m state --state RELATED,ESTABLISHED -m multiport --sports 1024: --dports 65500:65535 -j ACCEPT
a než otevření portů bez vazby na conntrack je přecejen lepší ten conntrack rozchodit, on se hodí i pro další nastavení v iptables...
Prikazove spojeni samozrejme projdeNeviděl bych to jako samozřejmost. Zvlášť pokud se někde vyskytuje NAT. Pokud nejde conntrack (nebo je conntrack tabulka prázdná), nebude celkem logicky fungovat nic, co na conntracku závisí. Ještě se docela hodí nechat iptables pakety nejen zahazovat ale i logovat, tím se přijde na další případné probémy (a případné hyby v iptables). Ještě je dobré vidět výstup z firewall skriptu s příkazama iptables, jestli některý neselhal. Případně použít přepínač -L.
NAT se nade mnou nevyskytuje, dokonce mam verejnou IP.
Prikazove spojeni zkratka projde - ve firewallu je povoleny port 21, a kdyby neproslo, tak uz bych se sel asi obesit...
Prave me zarazilo, jaktoze mi funguje detekce ESTABLISHED spojeni (muzu brouzdat po webu), kdyz soubor /proc/net/nf_conntrack byl prazdny. Podival jsem se tam znovu, a, jak uz jsem psal drive, ted je v nem nekolik ESTABLISHED spojeni.
Netusite, kde bych mohl zapnout logovani paketu v iptables? Porad premyslim jeste nad volbou CONFIG_NETFILTER_NETLINK_LOG v kernelu, kterou mam zatim vypnutou.
iptables -L vypisou presne ta pravidla, ktera bych cekal - tedy povoleny port 21 a RELATED i ESTABLISHED spojeni.
Jenom taková poznámka. Kdysi jsem kompiloval jádro a dal nějakou "věc" přímo do jádra a ona překvapivě nefungovala. Jako modul fungovala v pohodě. Přeju hodně štěstí.
Tak, problém je snad vyřešen.
Samozřejmě byl problém v conntrack - nevěděl jsem, co musím do kernelu zakompilovat, aby fungoval. Jedná se primárně o moduly nf(ip)_conntrack_ftp a nf_nat_ftp. Protože modul nf_conntrack_ftp sleduje spojení implicitně jen na portu 21, je nutné jej zkompilovat jako modul a do /etc/modules.conf(či snad jako parametr jádra) mu předat jako parametr port, na kterém FTP server běží.
Modul nf_nat_ftp asi potřeba není.
Díky všem za reakce.
Tiskni
Sdílej: