Open-source trackball Ploopy Adept má novou verzi nazvanou A+. Stále jde o symetrický desktopový trackball s šasi z 3D tiskárny a firmwarem QMK. Novinkami jsou dvojice tlačítek, jimiž půjde také otáčet, a volitelná opěrka ruky. Funkcionalita firmwaru je rozšířena o gesta, vrstvy a možnost konfigurace za běhu. Schémata a kód jsou jako obvykle na GitHubu. A+ půjde předobjednat za 99 CAD (bez dopravy a cla/DPH).
Prusa Research představil nové modely svých 3D tiskáren: Prusa XL+, CORE One+ (Gen 2) a CORE One L+.
Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.64. Vyzkoušet lze online demo.
NVIDIA na konci ledna vydala v beta verzi nativního linuxového klienta své cloudové herní služby GeForce NOW. Včera oznámila ukončení beta verze a oficiální podporu Linuxu.
Byla vydána nová verze 3.5.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 33 zranitelností.
Organizace Apache Software Foundation (ASF) vydala verzi 31 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Firma IBM uvedla svůj první mikropočítač Personal Computer před 45 lety, v srpnu 1981. Základní konfigurace modelu 5150 za 1 565 tehdejších dolarů obsahovala desktop s Intel 8088 a 16KB RAM, Color Graphics Adapter a klávesnici. Právě klávesnice Model F/XT vybavené kapacitními spínači, vlivné a s převodníkem dodnes použitelné, připomíná sběratelský web Admiral Shark's Keyboards.
Slovensko odhalilo ruské součástky ve dvou testovaných zařízeních na zjišťování přestupků v silničním provozu a označilo je za bezpečnostní riziko. S odvoláním na vyjádření slovenského Národního bezpečnostního úřadu (NBÚ) to včera oznámil ministr vnitra Matúš Šutaj Eštok. Zároveň ohlásil ukončení spolupráce svého úřadu s dodavatelem části uvedeného systému, slovenskou společností Soitron. Opozice, která na problematické kamery upozornila už dříve, vyzvala k odvolání ministra vnitra.
Dle plánu dnes ve 13:00 proběhne veřejný test eDokladů. Jeho cílem je ověřit připravenost aplikace a související infrastruktury na vysokou souběžnou zátěž před podzimními komunálními volbami.
Byla vydána nová verze 3.47 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.13 souvisejícího programovacího jazyka Dart (Wikipedie).
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: