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

    Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    dnes 16:11 | Nová verze

    GNUnet (Wikipedie) byl vydán v nové major verzi 0.25.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Nová verze

    Byla vydána nová major verze 7.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově je postavena je na Debianu 13 (Trixie) a GNOME 48 (Bengaluru). Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | IT novinky

    Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Nová verze

    Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 4
    včera 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Nová verze

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    včera 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 8
    včera 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (50%)
     (58%)
     (0%)
     (8%)
     (12%)
     (4%)
     (15%)
     (4%)
     (12%)
    Celkem 26 hlasů
     Komentářů: 3, poslední dnes 14:58
    Rozcestník

    Dotaz: Nepoužitelný IPv6 forwarding v Linuxu

    18.10.2008 02:19 Andrej | skóre: 51 | blog: Republic of Mordor
    Nepoužitelný IPv6 forwarding v Linuxu
    Přečteno: 462×

    Prosím o vaše názory na následující problém:

    Mám domácí IPv6 síť se serverem, který routuje ven přes 6to4. Chtěl jsem do té sítě zavolat zvenku přes SIP. S IPv6 by to mělo jít teoreticky bez problémů. Nicméně výsledek byl velmi neslavný.

    Napřed jsem zkusil prostě zavolat. Nefungovalo to, což bylo zcela správné, protože tam je nastavený jednoduchý firewall (viz řetězec FORWARD). Zvenku tedy spojení skutečně navázat nešlo. Tím ovšem korektní chování končí...

    [root@charon ~]# ip6tables-save
    # Generated by ip6tables-save v1.4.0 on Sat Oct 18 01:15:01 2008
    *mangle
    :PREROUTING ACCEPT [92:18894]
    :INPUT ACCEPT [10:952]
    :FORWARD ACCEPT [82:17942]
    :OUTPUT ACCEPT [11:1500]
    :POSTROUTING ACCEPT [94:19602]
    -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    COMMIT
    # Completed on Sat Oct 18 01:15:01 2008
    # Generated by ip6tables-save v1.4.0 on Sat Oct 18 01:15:01 2008
    *filter
    :INPUT DROP [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT ACCEPT [13:1804]
    -A INPUT -i lo -j ACCEPT
    -A INPUT -i ath0 -j ACCEPT
    -A INPUT -i eth1 -j ACCEPT
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
    -A INPUT -p udp -m udp --dport 53 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 5190 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 5223 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 7777 -j ACCEPT
    -A INPUT -p udp -m udp --dport 7777 -j ACCEPT
    -A INPUT -p ipv6-icmp -j ACCEPT
    -A FORWARD -i lo -j ACCEPT
    -A FORWARD -i ath0 -j ACCEPT
    -A FORWARD -i eth1 -j ACCEPT
    -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    COMMIT
    # Completed on Sat Oct 18 01:15:01 2008

    Pak jsem prostě (jen tak na zkoušku) povolil forwardování všech paketů, tj. vypnul firewall.

    ip6tables -t filter -P FORWARD ACCEPT

    Nyní by správně měly všechny hovory bez problémů fungovat. Opak byl pravdou, což je vážná chyba. Zvukové spojení (RTP) se buď nenavázalo vůbec, nebo se (nejčastěji) navázalo pouze jedním směrem, nebo bylo po cca dvou sekundách v jednom směru přerušeno.

    Už výše zmíněný problém by možná stačil na obsáhlé chybové hlášení, ale zkusil jsem jen tak pro zajímavost ještě jeden špinavý trik:

    ip6tables -t filter -P INPUT ACCEPT

    Pak už bylo zcela jisté, že je něco špatně. Hovory totiž začaly fungovat bez problémů. Abych vyloučil dočasnou nefunkčnost sítě, obě situace jsem prověřil ještě jednou se stejným výsledkem. (Zdůrazňuji, že volaný počítač nebyl samotný server. Šlo o stroj ve „vnitřní“ síti.)

    Pokud jsem něco podstatného nepřehlédl, je tohle závažný bug v kernelu. Forwardování nemá absolutně nic společného s řetězcem INPUT. Jak je vůbec možné, že se zahazují nějaké pakety, přestože je forwardování povoleno, a že teprve úplné vyřazení řetězce INPUT dá tento problém do pořádku?

    Hlavní otázka je: Co s tím? Hlásit? Nebo to může mít ještě jiné příčiny?

    Odpovědi

    18.10.2008 02:34 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu
    Pokud pouzivas 6to4, tak jako kazdy jiny tunel je 'obalujici' paket AFAIK povazovan jako zdrojovy (resp. cilovy) v danem routeru a podle toho take prochazi netfilterem. Jinymi slovy - prichozi 'vnejsi' pakety 6to4 tunelu maji jako cil router, proto tam projdou INPUT filterem. Pak se z nich vybali vnitrni paket a ten projde FORWARD filterem a routovanim.

    Tedy to je IMHO zcela v poradku.
    18.10.2008 17:24 jbohac | skóre: 19 | Praha 5
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu
    nojo, jenže ty příchozí pakety jsou IPv4, takže by je ip6tables neměly ovlivňovat... divné...
    18.10.2008 17:38 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu
    Ale ty si nám neřekl jak máš nastavený IPv4 iptables.
    18.10.2008 19:35 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu

    To je pravda

    .
    [root@charon ~]# iptables-save
    # Generated by iptables-save v1.4.0 on Sat Oct 18 19:33:43 2008
    *nat
    :PREROUTING ACCEPT [25046:7728446]
    :POSTROUTING ACCEPT [180:29094]
    :OUTPUT ACCEPT [833:79743]
    -A POSTROUTING -o ppp0 -j SNAT --to-source 217.112.173.73
    COMMIT
    # Completed on Sat Oct 18 19:33:43 2008
    # Generated by iptables-save v1.4.0 on Sat Oct 18 19:33:43 2008
    *filter
    :INPUT DROP [13487:4322121]
    :FORWARD ACCEPT [104645:87372133]
    :OUTPUT ACCEPT [240465:50638141]
    -A INPUT -i lo -j ACCEPT
    -A INPUT -i ath0 -j ACCEPT
    -A INPUT -i eth1 -j ACCEPT
    -A INPUT -p ipv6 -j ACCEPT
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
    -A INPUT -p udp -m udp --dport 53 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
    -A INPUT -p udp -m udp --dport 5004:5013 -j ACCEPT
    -A INPUT -p udp -m udp --dport 5060:5061 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 5190 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 5223 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 7777 -j ACCEPT
    -A INPUT -p udp -m udp --dport 7777 -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    COMMIT
    # Completed on Sat Oct 18 19:33:43 2008
    # Generated by iptables-save v1.4.0 on Sat Oct 18 19:33:43 2008
    *mangle
    :PREROUTING ACCEPT [405575:174786346]
    :INPUT ACCEPT [287589:82843409]
    :FORWARD ACCEPT [104645:87372133]
    :OUTPUT ACCEPT [240465:50638141]
    :POSTROUTING ACCEPT [345693:138110445]
    -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    COMMIT
    # Completed on Sat Oct 18 19:33:43 2008
    19.10.2008 08:50 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu
    jste si jist ze -p ipv6 je 6to4? jinak zkuste dat jako posledni pravidlo pred ten drop nejaky logovani a uvidite co vam neprochazi. podle mne to je urcite opomenutim neceho podstatneho pro ten tunel.
    In Ada the typical infinite loop would normally be terminated by detonation.
    19.10.2008 14:15 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu

    Samozřejmě. Jinak by totiž přes IPv6 nefungovalo vůbec nic. Nešel by ani ping6 zvenčí, natož abych se připojoval k mailu, webu nebo Jabberu přes IPv6. Můj server je ovšem přes IPv6 naprosto normálně dostupný. (Výše popsané potíže se týkaly počítače v LAN, do které server routuje.)

    19.10.2008 14:43 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu
    a ten ping zvenci jede taky pres ten tunel? a kdyz ten radek z iptables (ipv4) oddelate, tak ping zvenci nepojede?
    In Ada the typical infinite loop would normally be terminated by detonation.
    19.10.2008 16:05 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu
    a ten ping zvenci jede taky pres ten tunel?

    To přece záleží na tom, který ping. ping charon.podzimek.org půjde přes normální IPv4 síť, zatímco ping6 charon.podzimek.org půjde pochopitelně přes tunel. Nebo se ptáte, zda ping zvenčí funguje? Ano, funguje přes IPv4 i přes IPv6.

    a kdyz ten radek z iptables (ipv4) oddelate, tak ping zvenci nepojede?

    Přesně tak. Když jsem IPv6 poprvé nastavoval, právě na tento řádek jsem zapomněl. Dlouho jsem se divil, proč to nefunguje. :-D Je to ovšem zcela logické. Paket jde z vnějšího rozhraní a navíc není typu TCP ani UDP. Tedy nesplní žádnou podmínku a propadne se až na konec řetězce, který má ovšem policy DROP.

    18.10.2008 18:16 jbohac | skóre: 19 | Praha 5
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu
    Nemohl by ten INPUT blokovat neco jako napr. neighbour-discovery pakety z vnitrni site?

    Zkusil bych na konec INPUT dat misto DROP/REJECT target LOG, a divat se do dmesg co to filtruje.

    18.10.2008 19:40 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu

    Hmmm. No, asi mi nic jiného nezbude, pokud se to v dohledné době nepodaří nějak racionálně vysvětlit... Ale žádné pakety z vnitřní sítě určitě blokovány nejsou.

    Vnější rozhraní jsou eth0, ppp0 a tun6to4. (Prakticky se používá pouze ppp0 (IPv4) a tun6to4 (IPv6).)

    Vnitřní rozhraní jsou ath0 a eth1. Jak je vidět na výpisech, pakety z vnitřních rozhraní se ihned přijmou.

    18.10.2008 19:32 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu

    Ne, to není v pořádku. Protokol 6to4 není TCP ani UDP. Je to prostě jiný protokol rodiny IP a na routeru (iptables pro IPv4) se všechny takové pakety propouští, aby se následně filtrovaly přes ip6tables. Nemá se kde co předem zahazovat. (A pokud se to děje, je to bug v kernelu.)

    18.10.2008 23:24 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Nepoužitelný IPv6 forwarding v Linuxu
    Jo, to mas pravdu. V takovych pripadech je nejlepsi zkusit tam pingat a tcpdumpem se divat, kde presne se ty pakety ztraceji.

    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.