abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:44 | Nová verze

    Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Komunita

    Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.

    Ladislav Hagara | Komentářů: 0
    dnes 01:55 | Komunita

    24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.

    Ladislav Hagara | Komentářů: 7
    včera 23:33 | Nová verze

    Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 21:11 | Nová verze

    Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Byla vydána nová verze 6.3 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.15.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | IT novinky

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 9
    včera 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Pozvánky

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    včera 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 9
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (74%)
     (5%)
     (10%)
     (10%)
    Celkem 297 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: ignorováni SNAT, do internetu odchází pakety s privátní IP

    22.5.2015 11:16 Franta Hanzlík
    ignorováni SNAT, do internetu odchází pakety s privátní IP
    Přečteno: 382×
    Zdravím, neřešili jste už někdo někdy problém, kdy netfilter pro některá spojení (zdá se) ignoruje pravidla iptables, a nepomáhá ani restart iptables?
    V nat table na firewallu mám zhruba tohle:
    -P PREROUTING ACCEPT
    -P INPUT ACCEPT
    -P OUTPUT ACCEPT
    -P POSTROUTING ACCEPT
    -A PREROUTING -d PubIP1 -i eth1 -j DNAT --to-destination 192.168.0.248
    -A POSTROUTING -s 192.168.0.248 -o eth1 -j SNAT --to-source PubIP1
    -A POSTROUTING -o eth1 -j SNAT --to-source PubIP2
    
    eth1 je rozhraní do internetu a má dvě veřejné adresy PubIP1 a PubIP2, vnitřní síť je 192.168.0.0/24, na stroj 192.168.0.248 se dělá IP fowarding.

    Po provedení nějakých, většinou ručních úprav (s následným zapsáním pravidel do konfiguráku (u mne /etc/sysconfig/iptables)) jsem zjistil, že některá spojení do internetu nejsou NATovaná a pakety odchází s privátní IP (v tomto případě ze stroje IP=192.168.0.248 na cíl odcházely UDP pakety na dstport 5060 s jeho původní privátní adresou 192.168.0.248). Ale pakety ze stejného stroje 192.168.0.248 na jiné cíle v internetu (vč. jiného stroje s kterým se komunikovalo také přes UDP) byly překládané správně, na source adresu PubIP1. Restart iptables (včetně 'ip link set eth1 down/up') nepomohl, restart celého firewallu ano.
    Zdá se, jako kdyby se nějak pamatovala předchozí spojení a pokračovalo se v nich či co. Je možné, že by např. conntrack table takhle ovlivňovala netfilter (asi jsem ji mohl zkusit flushnout pomocí conntrack, ale nenapadlo mne to a byl kvalt)? Nebo je to způsobeno něčím jiným? Myslím, že už se mi to stalo (že jsem viděl z internet rozhraní odcházet neNATované pakety) jednou, dvakrát i v minulosti, okolnosti byly podobné (nat table i jednodušší (jen jeden SNAT), problém nastal také po nějakých mých vrtáních se v netfilter pravidlech) a řešil jsem to stejně blbě jako teď, restartem stroje. Teď to bylo na FW s jádrem 3.19.5-100.fc20.x86_64 a iptables 1.4.19.1.


    Odpovědi

    22.5.2015 12:19 NN
    Rozbalit Rozbalit vše Re: ignorováni SNAT, do internetu odchází pakety s privátní IP
    Mohlo by se to stat proto, ze mas nastavenou veskerou politiku na ACCEPT, takze pokud firewall nevi co ma s paketem udelat, tak ho proste pusti(neprelozeny).. ale to je debata, kterou byfh neotviral. Dale jsi nezaslal zbytek firewallu, takze muzeme jen hadat a zaroven mam pocit, ze nemas jistotu, ze tvou modifikovanana pravidla jsou ta jedina, ktera se uplatnuji pri startu systemu a v podstate to nemas pod kontrolou. Nebo se pletu?
    22.5.2015 13:47 Franta Hanzlík
    Rozbalit Rozbalit vše Re: ignorováni SNAT, do internetu odchází pakety s privátní IP
    Zkusím položit dotaz jinak: jediná iptables pravidla jsou ta v "/etc/sysconfig/iptables", firewalld ani jiný dynamický firewall v systému není. Pokud dobře čtu "/usr/libexec/iptables/iptables.init" (ovládací script iptables Fedora 20), tak zastavení iptables provede:
    - flush všech tabulek - výmaz všech pravidel
    - výmaz všech uživatelem definovaných chainů
    - vynulování paket/byte čítačů všech chainů
    - nastaví politiky všech chainů na ACCEPT
    - provede unload kernel modulů souvisejících s netfiltrem
       (netuším jak moc dobře, můžu se na to mrknout večer)
    
    Takže, co může způsobit to, že navzdory SNAT pravidlu v nat POSTROUTING chainu se toto na některé pakety neaplikuje, ani po restartu firewallu (a po restartu systému je vše OK)? Mohly by to způsobit z nějakého důvodu neuloadované síťové moduly jádra?
    PS: V nat tabulce jsou v podstatě jen ta v dotazu napsaná pravidla, filter table by to snad ovlivnit neměla, mangle ani jiné tabulky tam nejsou.
    (pod kontrolou to ovšem evidentně nemám, když si to neumím jasně vysvětlit ;)
    22.5.2015 14:16 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ignorováni SNAT, do internetu odchází pakety s privátní IP
    Ten popis je trochu zmatený a není z něj jasné, co přesně jste udělal, kdy a v jakém pořadí. Obecně: NAT pravidla v tabulce nat se aplikují jen na pakety, které jsou (z pohledu conntracku) "NEW". Takže jestliže už máte v conntrack tabulce nějaké položky a přidáte nové pravidlo, může se stát, že se na pakety odpovídající těm stávajícím položkám neaplikuje, protože jsou "ESTABLISHED". Zkuste, jestli pomůže "conntrack -F".
    22.5.2015 15:27 Franta Hanzlík
    Rozbalit Rozbalit vše Re: ignorováni SNAT, do internetu odchází pakety s privátní IP
    Co přesně jsem dělal a v jakém pořadí samozřejmě nevím - kdybych to věděl nebo si to uměl nasimulovat, tak bych to zkusil dohledat sám. Byla to asi hodinová patlanina všeho možného, hrál jsem si s nf_nat_sip, vyráběl jsem na pravidlech nějaké čítače, logování, filtrování a jiné opičárny. Když jsem byl s výsledkem spokojen, upravil jsem konfigurák s iptables pravidly ("/etc/sysconfig/iptables", viz výše) a udělal restart iptables (ve Fedoře se dělá pomocí zmíněného scriptu "/usr/libexec/iptables/iptables.init" - a nemám nastaveno, že se při restartu iptables budou ukládat aktuálně běžící pravidla). Vše vypadalo OK - ale pak jsem zjistil, že se jedno spojení (bylo to spojení asteriska na té 192.168.0.248 na VoIP providera) nepřekládá - ale všechna ostatní ano, včetně externích VoIP telefonů které se na tu ústřednu připojovaly zvenku.

    Proto byl dotaz spíš teoretický - co může v běžícím systému způsobit, že po restartu iptables se jeho pravidla obecně neaplikují?
    Restart/stop iptables ve Fedoře se mj. pokouší udělat rmmod x_tables, nf_nat a nf_conntrack modulů a modulů na nich závislých, měl jsem tedy za to, že tím také zaniknou všechny položky v conntrack table. Asi nejpravděpodobněji ale vypadá možnost, že se ve scriptu z nějakého důvodu nf_conntrack nepovede unloadnout, a v conntrack table zůstane info o daném spojení (neNATovaném, třeba z toho důvodu, že vzniklo během předchozího (re)startu iptables v době, kdy nat table ještě nebyla kompletní), souhlasíte? Nebo je ještě jiná možnost, jak se to může stát?
    Na ten flush conntrack table jsem nevzpomněl, zkusím - jestli to zase někdy nastane.

    22.5.2015 15:38 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ignorováni SNAT, do internetu odchází pakety s privátní IP

    Pokud skript opravdu unloadne všechny relevantní moduly, tak ta varianta, že conntrack položka vznikla v okně mezi natažením modulu a přidáním NAT pravidla, mi zní jako docela pravděpodobné vysvětlení. Pak by asi bylo vhodné na konec skriptu nastavujícího firewall přidat flushnutí conntracku.

    Je to ale dvousečné. Dokážu si třeba představit situaci, kdy mám existující TCP spojení ven a aplikační data proudí jen směrem dovnitř (HTTP stahuje velký soubor, případně SSH spojení se spuštěným příkazem generujícím výsup). Pak se pakety zvenku budou zahazovat a zevnitř nikoho nenapadne nějaké poslat, takže spojení po nějakém čase umře (pokud bude REJECT, pak umře hned). Ono se asi celkově při návrhu toho skriptu předpokládá, že se bude spouštět při startu, ne za běhu systému, kdy už tam probíhá nějaká komunikace.

    19.11.2015 14:28 Franta Hanzlik
    Rozbalit Rozbalit vše Re: ignorováni SNAT, do internetu odchází pakety s privátní IP
    Teď se mi stal stejný případ - po malé úpravě (změna IP adresy v INPUT chainu filter pravidla) v souboru konfigurace iptables a po jejich restartu opět odcházely (opět UDP SIP, ale jiný Linux stroj) pakety s ne-nat-ovanou zdrojovou IP. Inspekcí conntrack table a následným výmazem ('conntrack -D -p udp ...', ale flush conntrack table by musel zabrat také) příslušných spojení se problém odstranil.
    Zajímavé bylo, že v tomto případě se jednalo o SIP traffic ze čtyř Siemens Gigaset VoIP základen, a problém (neNATování) se týkal všech čtyř. Pravděpodobnost, že by v době startu iptables nastala všechna čtyři spojení je nepravděpodobná, tak jsem se koukal na konfiguraci jádra - a tady je asi příčina problému.
    Jádro je sestaveno s volbami:
    CONFIG_NETFILTER=y
    CONFIG_NETFILTER_ADVANCED=y
    CONFIG_BRIDGE_NETFILTER=y
    CONFIG_NETFILTER_NETLINK=m
    CONFIG_NETFILTER_NETLINK_QUEUE=m
    CONFIG_NETFILTER_NETLINK_LOG=m
    CONFIG_NF_CONNTRACK=y
    CONFIG_NF_CONNTRACK_MARK=y
    CONFIG_NF_CONNTRACK_SECMARK=y
    CONFIG_NF_CONNTRACK_ZONES=y
    CONFIG_NF_CONNTRACK_EVENTS=y
    CONFIG_NF_CONNTRACK_AMANDA=m
    CONFIG_NF_CONNTRACK_FTP=m
    CONFIG_NF_CONNTRACK_H323=m
    CONFIG_NF_CONNTRACK_IRC=m
    CONFIG_NF_CONNTRACK_NETBIOS_NS=m
    CONFIG_NF_CONNTRACK_PPTP=m
    CONFIG_NF_CONNTRACK_SANE=m
    CONFIG_NF_CONNTRACK_SIP=m
    CONFIG_NF_CONNTRACK_TFTP=m
    CONFIG_NETFILTER_TPROXY=m
    CONFIG_NETFILTER_XTABLES=y
    CONFIG_NF_CONNTRACK_IPV4=y
    
    tj. nf_conntrack a nf_conntrack_ipv4 jsou v jádře, ne jako moduly, a tudíž conntrack table se nevyprázdní.
    Druhá zajímavost je, že stav těch špatných spojení byl (aspoň myslím) 'ASSURED' a tak zůstal napořád, a traffic se neNAToval. Asi protože se VoIP zařízení neustále pokoušelo o navázání spojení, tak příslušná položka v conntrack table zřejmě zřejmě nevypadla na nějaký timeout.

    Zásadní je samozřejmě to, že jsem s existujícími spojeními v conntrack table a jejich ovlivňováním iptable pravidel vůbec nepočítal, moje chyba. Díky za nakopnutí!

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.