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í
×
    včera 18:33 | Nová verze

    Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    včera 05:11 | Bezpečnostní upozornění

    Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.

    Ladislav Hagara | Komentářů: 11
    včera 02:22 | Nová verze

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.

    Ladislav Hagara | Komentářů: 2
    včera 01:22 | IT novinky

    Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.

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

    Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinekpoznámkách k vydání.

    Fluttershy, yay! | Komentářů: 2
    25.7. 17:44 | Zajímavý článek Ladislav Hagara | Komentářů: 2
    25.7. 17:22 | Nová verze

    Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.

    Ladislav Hagara | Komentářů: 0
    25.7. 17:11 | Nová verze

    Byla vydána verze 1.80.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
    25.7. 14:11 | IT novinky

    Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.

    Ladislav Hagara | Komentářů: 23
    25.7. 13:11 | IT novinky

    Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: rozdeleni provozu podle portu

    houska avatar 14.5.2009 18:43 houska | skóre: 41 | blog: HW
    rozdeleni provozu podle portu
    Přečteno: 910×
    Zdravím,

    mám dvě připojení a potřebuji aby každé ze dvou navázaných spojení šlo přes jiného ISP.

    Našel jsem šikovný návod jak toho dosáhnout.
    Označkoval jsem si tedy pakety s cílovým portem 60353 a 60354 značkou 100 resp. 101:

    debian:~# iptables -L -t mangle
    Chain PREROUTING (policy ACCEPT)
    target     prot opt source               destination
    MARK       udp  --  anywhere             anywhere            udp dpt:60353 MARK xset 0x64/0xffffffff
    MARK       udp  --  anywhere             anywhere            udp dpt:60354 MARK xset 0x65/0xffffffff
    MARK       tcp  --  anywhere             anywhere            tcp dpt:60353 MARK xset 0x64/0xffffffff
    MARK       tcp  --  anywhere             anywhere            tcp dpt:60354 MARK xset 0x65/0xffffffff
    

    Vytvořil jsem si dvě routovací tabulky podle defaultní brány a udělal pravidlo které pošle označkované pakety na příslušnou bránu:

    debian:~# ip route ls table cdma
    default via 10.160.3.42 dev ppp1
    debian:~# ip route ls table umts
    default via 10.6.6.6 dev ppp0
    debian:~#
    debian:~# ip rule ls
    0:      from all lookup local
    32764:  from all fwmark 0x65 lookup cdma
    32765:  from all fwmark 0x64 lookup umts
    32766:  from all lookup main
    32767:  from all lookup default
    debian:~#
    

    Problém je, že když smažu defaultní routu z hlavní routovací tabulky, tak spojení vůbec nenavážu. Např. tcptraceroute píše "Network is unreachable".
    Poradí někdo? Díky

    Odpovědi

    houska avatar 15.5.2009 08:24 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    ten návod samozřejmě není na OpenDNS, ale zde
    15.5.2009 12:48 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu

    Smazat default route z tabulky main není moc dobrý nápad, protože potom neoznačkované pakety nebude možné směrovat vůbec. Pochybuji, že byste veškerý provoz chtěl posílat výhradně jen na ty dva (resp. čtyři) porty, co třeba DNS dotazy?

    Ještě jeden nápad: nezkoušel jste to spojení navazovat ze svého počítače? Pak by byl problém v tom, že lokálně generované pakety neprocházejí řetězcem PREROUTING.

    houska avatar 15.5.2009 13:34 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Smazat default route z tabulky main není moc dobrý nápad, protože potom neoznačkované pakety nebude možné směrovat vůbec. To co jsem popsal jsem si chystal pro provoz dvou OpenVPN tunelů, na které pak pustím bonding a budu veškerý provoz routovat přes obě zbondovaná rozhraní na server.

    A proč to dělám?
    Potřebuju "spojit" dvě pomalá internetová spojení do jednoho rychlejšího.

    houska avatar 15.5.2009 13:40 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Ještě jeden nápad: nezkoušel jste to spojení navazovat ze svého počítače? Pak by byl problém v tom, že lokálně generované pakety neprocházejí řetězcem PREROUTING.

    To bohužel nepůjde, jde o počítač bez veřejné adresy. ... ještě mě napadlo že by to mohla dělat cache routovaci tabulky

    15.5.2009 14:06 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    To bohužel nepůjde, jde o počítač bez veřejné adresy

    Jak to souvisí s tím, na co reagujete?

    houska avatar 15.5.2009 14:22 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Ta moje reakce byla jen na první část - tzn. spojení můžu navazovat jen jedním směrem.

    Jestli lokálně generované lokálně neprocházejí chainem PREROUTING tak se nemůžou označkovat a tudíž nepůjdou na správnou bránu - to by to celé vysvětlovalo.
    Budu to moct vyzkoušet až večer, tak jsem zvědav.

    houska avatar 15.5.2009 17:59 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    ...lokálně generované pakety neprocházejí řetězcem PREROUTING.

    Zkusil jsem si oznacit pakety v retezci OUTPUT:

    debian:/home/houska# iptables -t mangle -L
    Chain PREROUTING (policy ACCEPT)
    target     prot opt source               destination
    
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    MARK       udp  --  anywhere             anywhere            udp dpt:60353 MARK xset 0x64/0xffffffff
    MARK       udp  --  anywhere             anywhere            udp dpt:60354 MARK xset 0x65/0xffffffff
    MARK       tcp  --  anywhere             anywhere            tcp dpt:60353 MARK xset 0x64/0xffffffff
    MARK       tcp  --  anywhere             anywhere            tcp dpt:60354 MARK xset 0x65/0xffffffff
    
    routovaci tabulky mam dve a pravidlo mam taky nastavene:
    debian:/home/houska# ip route ls table cdma
    default via 10.160.3.42 dev ppp1
    debian:/home/houska# ip route ls table umts
    default via 10.6.6.6 dev ppp0
    debian:/home/houska#
    debian:/home/houska# ip rule ls
    0:      from all lookup local
    32764:  from all fwmark 0x65 lookup cdma
    32765:  from all fwmark 0x64 lookup umts
    32766:  from all lookup main
    32767:  from all lookup default
    debian:/home/houska#
    
    V hlavni routovaci tabulce defaultni routu nemam. OpenVPN i tcptraceroute (oboje zkousene na stejnem portu), hlasi shodne:
    debian:/home/houska# tcptraceroute 62.84.145.5 60354
    connect: Network is unreachable
    debian:/home/houska# 
    debian:/home/houska# grep unreachable /etc/openvpn/client1-pri.log  | tail -n3
    Fri May 15 17:48:11 2009 write UDPv4 []: Network is unreachable (code=101)
    Fri May 15 17:48:13 2009 write UDPv4 []: Network is unreachable (code=101)
    Fri May 15 17:48:16 2009 write UDPv4 []: Network is unreachable (code=101)
    debian:/home/houska# 
    
    
    

    15.5.2009 21:44 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Označkování v chainu OUTPUT v tomto případě bohužel nepomůže, protože tím paket prochází až poté, co se rozhodne o jeho směrování (jinak bychom nemohli znát odchozí rozhraní). Jako náhražku by v tomto případě mělo být možné použít akci ROUTE netfilteru.
    houska avatar 16.5.2009 13:39 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Jako náhražku by v tomto případě mělo být možné použít akci ROUTE netfilteru.

    To jste mě moc nepotěšil ... ze zdrojáků debianu byla podpora z netfiltru odstraněná na podzim 07 :( vrrr

    Každopádně díky moc za pomoc.

    houska avatar 17.5.2009 17:21 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Pro info:

    Nasel jsem patch-o-matic, ktery je bohuzel dlouho neudrzovany.

    Pak jsem objevil xtables-addons a nebo zde, ktery se tvari jako nastupce P-O-M a je docela cerstvy a udrzovany. Bohuzel zatim nepodporuje -j ROUTE. Nedalo mi to a napsal jsem do konference zda se tato podpora chysta.

    Vyvojar xtables-addons mi odpovedel ze po omarkovani je paket znovu routovan ... coz odporuje me zkusenosti.

    ... tak uvidime
    18.5.2009 08:30 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Vyvojar xtables-addons mi odpovedel ze po omarkovani je paket znovu routovan ... coz odporuje me zkusenosti.

    Takhle to určitě funguje, pokud dojde ke změně cílové adresy v nat.OUTPUT (jinak by celý ten řetězec neměl smysl). Některé zdroje tvrdí, že se totéž děje i při změně značky v mangle.OUTPUT, ale když jsem to kdysi zkoušel, nechovalo se to tak. Jestli budu mít čas, zkusím se na to podívat ještě jednou.

    Ještě poznámka k tomu, co jste psal dříve: pokud by problém způsobovala směrovací cache, mělo by stačit ji vyprázdnit (ip route flush cache).

    houska avatar 18.5.2009 08:41 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Jestli budu mít čas, zkusím se na to podívat ještě jednou.

    Díky

    houska avatar 26.5.2009 10:43 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Některé zdroje tvrdí, že se totéž děje i při změně značky v mangle.OUTPUT

    podle tohoto obrázku by se tak dít mělo

    poradíte mi jak to ozkoušet?

    26.5.2009 21:51 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Příloha:

    Tak jsem to právě vyzkoušel a zdá se, že to tak opravdu funguje. Použil jsem topologii podle obrázku v příloze. Na routeru 83 je v tabulce main pro síť 10.0.23.0/24 směrování přes gateway 10.0.11.84. Když přidám

    ip route add 10.0.23.0/24 via 10.0.10.85 table 100
    ip rule add priority 1000 fwmark 1 lookup 100
    iptables -t mangle -A PREROUTING -m length --length 0:500 -j MARK --set-mark 1
    

    a zkusím se podívat, jak chodí pakety z 10.0.21.82 na 10.0.23.88, tak podle očekávání "dlouhé" chodí dál přes 84, ale "krátké" přes 85. To se ale týká pouze paketů z 10.0.21.0/24, lokálně generované (tj. ping přímo z 83) podle očekávání dál chodí všechny přes 84. Jakmile jsem ale přidal stejné pravidlo i do chainu OUTPUT:

    iptables -t mangle -A OUTPUT -m length --length 0:500 -j MARK --set-mark 1
    

    začaly se i lokálně generované pakety (z 83) rozdělovat mezi obě trasy podle délky.

    Vyvodil jsem z toho poučení, že aby člověk nebyl za blbce, je dobré čas od času vyzkoušet, jestli to, o čem už léta tvrdí že nefunguje, náhodou mezitím fungovat nezačalo.

    houska avatar 27.5.2009 18:20 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu

    Moc děkuju, fakt to funguje.
    S vaší pomocí jsem to podle délky taky dovedl rozběhat.

    Ještě se v tom zkusim povrtat a pak napíšu nějaký zápis do blogu. Zatim nevim co jsem dělal špatně.
    U ip rule jsem nepoužíval prioritu a místo lookup jsem měl table ...

    Ještě jednou díky. Máte u mě pivo, čokoládu nebo tak něco, dle vašeho výběru.
    Jste pořád v Sot-ftroniku?

    27.5.2009 19:05 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    U ip rule jsem nepoužíval prioritu a místo lookup jsem měl table

    To by nemělo vadit. Klíčová slova lookup a table jsou synonyma a pokud se nespecifikuje priorita, přiřadí se automaticky a stejně bude mezi 0 (kterou má pravidlo, které všechno zkouší vyhledat v local) a 32766 (kterou má pravidlo, které všechno zkouší vyhledat v main).

    Jste pořád v Sot-ftroniku?

    V tom smyslu, že pro ně dělám lektora, ano. Zaměstnanec ale nejsem (ani jsem nikdy nebyl).

    houska avatar 27.5.2009 20:50 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Zatim nevim co jsem dělal špatně.

    Zjistil jsem ze kdyz to mam rozbehane a odstranim z hlavni routovaci defaultni routu tak to zase zacne rvat Network is unreachable

    18.5.2009 06:57 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    A co je v té hlavní routovací tabulce? Zkoušel jste strace/tcpdump? To by mohlo napovědět kam se to snaží posílat pakety a proč to nejde.
    In Ada the typical infinite loop would normally be terminated by detonation.
    18.5.2009 08:25 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Hlášení Network is unreachable znamená, že se je nesnaží posílat nikam, protože neví kam.
    18.5.2009 16:54 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Někam se něco poslat musí snažit, jinak by mu to nemohlo říct, že to poslat nemůže :-) v strace bude určitě ten syscall vidět...
    In Ada the typical infinite loop would normally be terminated by detonation.
    18.5.2009 17:12 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    Jistě, ale tohle tazatele nezajímá, protože on samozřejmě ví, na jakou adresu a port zkoušel navázat spojení. Jeho zajímá, jak na základě toho určí router odchozí interface a první hop. Nebo ještě přesněji: testuje, jestli to opravdu dělá tak, jak se ho snažil přesvědčit, aby to dělal (a zjišťuje že ne). V tom mu strace nepomůže.
    houska avatar 18.5.2009 08:45 houska | skóre: 41 | blog: HW
    Rozbalit Rozbalit vše Re: rozdeleni provozu podle portu
    V hlavní routovací tabulce je jen routa:
    debian:/home/houska# ip route ls
    10.160.3.42 dev ppp0  proto kernel scope link   src 10.162.62.199
    debian:/home/houska#
    

    Podrobnosti v mailkonferenci netfiltru.

    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.