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:00 | IT novinky

    DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 3
    včera 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

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

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    18.4. 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.4. 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    18.4. 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    18.4. 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    18.4. 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    18.4. 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    KDE Plasma 6
     (68%)
     (11%)
     (2%)
     (20%)
    Celkem 566 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: ARP Flux

    polo23 avatar 21.8.2015 13:49 polo23 | skóre: 28 | blog: polo23
    ARP Flux
    Přečteno: 824×
    Ahoj, narazil na problem zvany "ARP Flux" v souvislosti s Linuxem a potreboval bych se ujistit zda ho chapu spravne.

    Vychazim z nasledujiciho zdroje.

    Takze vec se ma tak, ze kdyz mame Linuxovy stroj s alespon dvema NIC na jednom subnetu napr.

    NIC1: 192.168.1.1 (AA:AA:AA:AA:AA:AA)

    NIC2: 192.168.1.2 (BB:BB:BB:BB:BB:BB)

    a nejaky jiny stroj pingne pomoci arping 192.168.1.1 tak se mu vrati MAC adresy z obou rozhrani, tzn. AA:AA:AA:AA:AA:AA i BB:BB:BB:BB:BB:BB?

    Popravde pokud ano, tak to absolutne nechapu... proc by se tak ten system mel chovat...

    Byl bych rad za pripadne vysvetleni popripade, za opraveni pokud jsem ten ARP Flux pochopil spatne.

    Řešení dotazu:


    Odpovědi

    21.8.2015 16:25 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    Popravde pokud ano, tak to absolutne nechapu... proc by se tak ten system mel chovat...

    Spíš je na místě otázka, proč by neměl. IP adresa se sice formálně přiřazuje určitému rozhraní, ale fakticky adresuje ten stroj jako takový, takže není důvod, proč by se neměl znát ke své adrese. V mnoha situacích je to užitečné a ty případy, kdy to vadí, jsou spíše řídké (a snadno řešitelné např. pomocí net.ipv4.conf.*.arp_filter sysctl).

    Je potřeba si uvědomit, že konfigurace, kdy je více rozhraní ve stejném ethernetovém segmentu, aniž by bylo použito něco jako bonding nebo teaming, je spíše výjimečná.

    Jendа avatar 21.8.2015 22:00 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    Kdyby v jednom subnetu. Ale ono to funguje i napříč subnety (jestli jsem dobře pochopil u otázky že jde o toto).
    21.8.2015 23:04 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    It breaks things. Connect your computer to two networks and let another one use colliding IP range. You will act as an ARP-poisoning host involuntarily!

    Byl by k tomu nějaký konkrétní příklad, co je myšleno tím "ARP-poisoning host"?

    Jendа avatar 22.8.2015 00:28 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    Přípojím počítač do sítě kde se používají rozsahy 10.0.0.0/24 a 192.168.0.0/24 a dostanu povolení nastavit si IP 192.168.0.6/24. Náhodou mám na počítači ještě druhé rozhraní, připojené do úplně jiné sítě, ve které se taky používá rozsah 10.0.0.0/24, a tam mám adresu 10.0.0.1. Jenže jakmile se někdo v té první síti zeptá na 10.0.0.1, odpoví mu můj (rychlejší) počítač a on si tak bude myslet že jsem jeho router.
    22.8.2015 00:50 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    Upřímně řečeno, jestli si takhle někdo nakonfiguruje síť, tak si za své problémy může sám. To bych na Linux opravdu nesváděl a už vůbec bych za tím nehledal konspirační teorie o "E.T. phone home".
    Jendа avatar 22.8.2015 01:15 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    Upřímně řečeno, jestli si takhle někdo nakonfiguruje síť, tak si za své problémy může sám.
    Protože určitě nikdo neprovozuje virtuály nebo VPNky na populárních RFC1918 adresách.

    Jinak osobně jsem na to přišel když BOFH matfyzácké koleje začal odpojovat spolužáky za to že si nastavili jinou IP adresu než jaká jim byla přidělena a zjistilo se že to jsou tímto způsobem leakující virtuály.
    To bych na Linux opravdu nesváděl
    Linux za to může tím že má nečekané výchozí nastavení a obecně se o tom neví. Upřímně nechápu proč default není arp_ignore=1 nebo dokonce 2.
    a už vůbec bych za tím nehledal konspirační teorie o "E.T. phone home"
    Zaměření stránky se trochu rozrostlo z původního volání domů na obecné věci které vedou k nečekanému narušení soukromí.
    22.8.2015 02:06 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    Protože určitě nikdo neprovozuje virtuály nebo VPNky na populárních RFC1918 adresách.

    Ať si klidně provozuje - ale pokud je chce provozovat na stejném adresním rozsahu, jaký se používá v síti, do které je připojený host, tak by si měl dobře rozmyslet, co dělá a proč. To jsou právě ty speciální situace, kvůli kterým je možné defaultní chování změnit.

    Jinak osobně jsem na to přišel když BOFH matfyzácké koleje začal odpojovat spolužáky za to že si nastavili jinou IP adresu než jaká jim byla přidělena

    Za to ale zase nemůže Linux. Je-li správce sítě ignorant, dokáže vyrobit problém s jakýmkoli systémem. Chce-li někdo dvě oddělené sítě, má to tak nakonfigurovat; ne jen tak plácnout dva rozsahy na jeden fyzický segment, předstírat, že ten druhý neexistuje a spoléhat na to, že všichni budou tu hru hrát s ním a tvářit se, že ty ARP dotazy nevidí.

    Linux za to může tím že má nečekané výchozí nastavení

    Pro jistotu jsem si znovu přečetl příslušnou část RFC 826 a pořád tam nevidím nic, na základě čehož bych to chování považoval za nečekané - spíš naopak.

    pavlix avatar 22.8.2015 09:26 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ARP Flux
    Ať si klidně provozuje - ale pokud je chce provozovat na stejném adresním rozsahu, jaký se používá v síti, do které je připojený host, tak by si měl dobře rozmyslet, co dělá a proč. To jsou právě ty speciální situace, kvůli kterým je možné defaultní chování změnit.
    To je zajímavá apologetika.

    Z čeho přesně usuzuješ, že správce místní sítě úmysně zvolil stejný rozsah jako správce VPN nebo naopak?

    Jaký je přesně běžný praktický účel takovéhoto výchozího chování? Dosavadní skóre této diskuze je takové, že to dělá problémy a přitom to k ničemu není.
    Za to ale zase nemůže Linux. Je-li správce sítě ignorant, dokáže vyrobit problém s jakýmkoli systémem. Chce-li někdo dvě oddělené sítě, má to tak nakonfigurovat; ne jen tak plácnout dva rozsahy na jeden fyzický segment, předstírat, že ten druhý neexistuje a spoléhat na to, že všichni budou tu hru hrát s ním a tvářit se, že ty ARP dotazy nevidí.
    Pokud jde o více síťových prefixů na stejném segmentu, tak kde se v citovaném píše o dvou subnetech na jednom fyzickém segmentu a jak přesně to souvisí s uvedeným problémem?

    V čem přesně vadí mít na fyzickém segmentu adresy z různých rozsahů?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    22.8.2015 11:53 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    Z čeho přesně usuzuješ, že správce místní sítě úmysně zvolil stejný rozsah jako správce VPN nebo naopak?

    Nic takového jem netvrdil. Tvrdím, že pokud někdo svůj počítač připojí dvěma rozhraními do dvou segmentů používajících stejný adresní rozsah, pak je to nestandardní situace, které je potřeba přizpůsobit konfiguraci.

    Jaký je přesně běžný praktický účel takovéhoto výchozího chování?

    Viz RFC 826: "Am I the target protocol address?" Ani slovo o tom, že bych měl zkoumat, na jakém rozhraní mám tu adresu nastavenou. Je to moje adresa, přišel dotaz, odpovím.

    Pokud jde o více síťových prefixů na stejném segmentu, tak kde se v citovaném píše o dvou subnetech na jednom fyzickém segmentu a jak přesně to souvisí s uvedeným problémem?

    Co třeba "Přípojím počítač do sítě kde se používají rozsahy 10.0.0.0/24 a 192.168.0.0/24 a dostanu povolení nastavit si IP 192.168.0.6/24." Tedy někdo používá dva různé rozsahy a z nějakého záhadného očekává, že se stanice budou chovat, jako by tam byl jen jeden a že budou ignorovat ARP dotazy na adresy z toho druhého. Pokud chce na jednom fyzickém ethernetu provozovat dvě virtuální sítě a jednu z nich zpřístupnit jen někomu, má k dispozici prostředky, jak to docílit.

    Jendа avatar 22.8.2015 12:46 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    Když jsme u toho vytahování RFCček, ve kterém RFC se píše že na fyzické síti mají mít všechny počítače adresy jenom z jednoho rozsahu? (Upřímně řečeno, jestli si takhle někdo nakonfiguruje síť, tak si za své problémy může sám.) Třeba záložní linku bych řešil tak, že bych jim dal adresy od obou ISP a přehazoval defaultní routu.
    Viz RFC 826: "Am I the target protocol address?" Ani slovo o tom, že bych měl zkoumat, na jakém rozhraní mám tu adresu nastavenou. Je to moje adresa, přišel dotaz, odpovím.
    OK, takže bug není v Linuxu, ale přímo v tom RFC.
    a že budou ignorovat ARP dotazy na adresy z toho druhého
    Stejně jako očekávám, že stanice, které jsem dal IP 192.168.0.6 neodpoví na ARP dotaz na IP 192.168.0.7, tak očekávám, že neodpoví na ARP dotaz na 10.0.0.1.
    22.8.2015 13:15 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    Když jsme u toho vytahování RFCček, ve kterém RFC se píše že na fyzické síti mají mít všechny počítače adresy jenom z jednoho rozsahu?

    V žádném - a já taky netvrdil, že to je nutné. Tvrdil jsem něco jiného: že je chyba používat dva rozsahy a spoléhat na to, že stanice budou pakety týkající se toho druhého ignorovat - že je budou ignorovat i v případě, že na ně zareagovat mají.

    Stejně jako očekávám, že stanice, které jsem dal IP 192.168.0.6 neodpoví na ARP dotaz na IP 192.168.0.7, tak očekávám, že neodpoví na ARP dotaz na 10.0.0.1.

    To je ale naprosto chybné očekávání (oboje). To, jestli má stanice nastavenou adresu 192.168.0.6, nemá naprosto žádný vliv na to, jak bude odpovídat na dotazy na 192.168.0.7 nebo 10.0.0.1. Pokud bude mít ta stanice nastavenou adresu 192.168.0.7, je naprosto v pořádku, že na příslušný ARP dotaz odpoví; totéž pro 10.0.0.1.

    OK, takže bug není v Linuxu, ale přímo v tom RFC.

    Je-li v něčem "bug", tak především v současné zvrácené koncepci lokálních sítí s (ne moc) náhodně přidělenými privátními rozsahy, které se chaoticky propojují dohromady a občas pochopitelně kolidují. A pak každou chvíli přijde nějaký rozumbrada, který nám vysvětlí, že takhle to přece funguje úplně skvěle, všichni jsou happy a IPv6 je výmysl pomatených akademiků.

    Takže místo sdělení jakou dostal adresu mám uživatelům rozesílat ještě informace o tom jaké další subnety provozuju?

    Pokud chci a potřebuji, aby se k těmto rozsahům chovali nějakým zvláštním způsobem (např. je nepoužívali), tak bych v zájmu všech zúčastněných měl.

    A když zjistí, že jsou v konfliktu, tak jim nezbývá než se odpojit, protože jinak porušují RFC. Ach jo.

    Nemusejí se odpojit, stačí když upraví svou konfiguraci tak, aby s tím problém nebyl (třeba tím sysctl, které právě pro takové případy existuje). Právě proto bych jim měl říct, že se v tom segmentu daný rozsah používá (pokud je nechci nebo nemůžu od něj izolovat), aby se podle toho mohli zařídit.

    Jendа avatar 22.8.2015 14:14 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    že je budou ignorovat i v případě, že na ně zareagovat mají
    Pro mě bylo překvapivé zjištění že stroj má podle RFC odpovídat i když mu přijde ARP požadavek na jiný interface než na kterém ta adresa je (osobně si myslím že v roce 1982 něco takového prostě nečekali a dnes by to autor napsal jinak).
    To je ale naprosto chybné očekávání (oboje). To, jestli má stanice nastavenou adresu 192.168.0.6, nemá naprosto žádný vliv na to, jak bude odpovídat na dotazy na 192.168.0.7 nebo 10.0.0.1.
    Ach jo, samozřejmě jsem tím myslel že jí z toho rozsahu 192.168.0.0/24 přidělím pouze adresu 192.168.0.6.
    Je-li v něčem "bug", tak především v současné zvrácené koncepci lokálních sítí s (ne moc) náhodně přidělenými privátními rozsahy, které se chaoticky propojují dohromady a občas pochopitelně kolidují.
    I v případě že bude mít každý unikátní rozsah tam bude problém s tím narušením anonymity.
    Nemusejí se odpojit, stačí když upraví svou konfiguraci tak, aby s tím problém nebyl
    Ale pak budou porušovat RFC :). Proč to sysctl není ve většině distribucí default nastavené na 1 nebo dokonce 2?
    22.8.2015 14:48 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    osobně si myslím že v roce 1982 něco takového prostě nečekali

    A jsme u toho: situace, o které se bavíme, je natolik nestandardní, že jde svým způsobem proti samé podstatě TCP/IP (I jako internet … inter/net). Je dobře, že máme nástroje, jak ji řešit, ale není to něco, podle čeho by se měly nastavovat defaulty.

    Proč to sysctl není ve většině distribucí default nastavené na 1 nebo dokonce 2?

    Protože je to nestandardní nastavení pro nestandardní konfigurace. Konfigurace, kdy se používají adresy ze stejného rozsahu na dvou různých segmentech, do kterých jsem připojen dvěma různými rozhraními (aniž bych tam měl třeba bridge nebo ARP proxy), je sice možná, ale je nestandardní. Mně ke "štěstí" bohatě stačí, že většina distribucí defaultně zapíná RP filter, nestojím o to, aby měnily ještě defaultní chování ARP.

    Námět k zamyšlení: Linux standardně přijímá jako příchozí pakety, které mají jako cílovou adresu kteroukoli z jeho adres, bez ohledu na to, jestli je nastavena na příchozím rozhraní nebo na kterémkoli jiném. Samozřejmě se toto chování dá potlačit, ale defaultně se tak (nejen) Linux chová. Proč by se tedy neměl defaultně v rámci ARP protokolu hlásit k adrese, pro kterou (na daném rozhraní) přijímá příchozí pakety? Nebylo by takové chování nekonzistentní?

    Jendа avatar 22.8.2015 15:06 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    situace, o které se bavíme
    Tak zapomeň na to že by někdo mohl považovat za problém „přišel jsem do cizí sítě a nastavil jsem si vlastní IP adresu z vlastního rozsahu“ a věnuj se tomu „zajímá mě, jestli se támhle Franta připojuje do VPNky konkurence“.
    Linux standardně přijímá jako příchozí pakety, které mají jako cílovou adresu kteroukoli z jeho adres, bez ohledu na to, jestli je nastavena na příchozím rozhraní nebo na kterémkoli jiném.
    Hmm, to taky nevím, jestli je úplně šťastné.
    22.8.2015 15:38 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    a věnuj se tomu „zajímá mě, jestli se támhle Franta připojuje do VPNky konkurence“.

    Tady mi trochu uniká souvislost. Jak z toho, že mi stroj odpoví na ARP dotaz na adresu třeba 10.0.1.113 (a tedy ji nejspíš má nastavenou na některém rozhraní), poznám, že se připojuje zrovna do VPN konkurence? Jak jako firemní admin budu vědět, že konkurence používá zrovna tyhle adresy? A i kdyby ano, jak budu vědět, že to není kterákoli z tisíců dalších, kde je používají (třeba jeho síť doma)?

    22.8.2015 16:19 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: ARP Flux
    Myslím, že to Jenda myslel tak, že když má nastavenu firemní VPN třeba na 10.0.15.0/24 a náhodou se dostanu do něčí sítě, kdo má tutéž síť nastavenu jako normální fyzickou, tak jsem z připojením k VPN v pytli. A myslím si ano je. A také, IPv6 to řeší, takže to už nikoho nezajímá.
    22.8.2015 18:35 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    To sice jsem v pytli, ale to bych byl (bez více či méně krkolomných triků), i kdyby se implementace ARP chovala tak, jak Jenda chce.
    Jendа avatar 22.8.2015 20:09 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    Napadají mě dva případy:
    • Odhalení že se téměř jistě připojuje do dané VPN, pokud používají netypický rozsah (typu 10.231.171.0/24).
    • Odhalení, že toto je pořád ten stejný počítač, i když si změnil MAC adresu, na základě dalších IP, které má, i když je nevystrkuje ke mně do sítě.
    22.8.2015 15:40 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    Linux standardně přijímá jako příchozí pakety, které mají jako cílovou adresu kteroukoli z jeho adres, bez ohledu na to, jestli je nastavena na příchozím rozhraní nebo na kterémkoli jiném.
    Hmm, to taky nevím, jestli je úplně šťastné.

    To je ale pořád to, co jsem psal hned na začátku: IP adresa je adresa hosta, ne konkrétního rozhraní.

    22.8.2015 16:11 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: ARP Flux
    No já to beru tak, že IP je adresa rozhraní, ale host odpovídá na jakoukoli jeho adresu. I když je to trochu slovíčkaření.
    pavlix avatar 23.8.2015 10:27 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ARP Flux
    Já to taky vidím tak, že má být IP adresa především adresa rozhraní a že by stroj, který není router, vůbec nemusel přijímat pakety určené pro adresu na jiném rozhraní, než na které přišly. Ovšem jaké má být výchozí chování linuxu, který se používá jako zcela univerzální systém, to už je jiná věc.

    Mimochodem Fedora nedávno lámala release na více různých produktů právě proto, že ta univerzalita neumožňuje udělat rozumný default pro všechny případy. Možná by dávalo smysl tuhle diskuzi trochu rozvinout i mimo ábíčko.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    23.8.2015 11:49 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux

    RFC 1122, sekce 3.2.1.3:

    … An incoming datagram is destined for the host if the datagram's destination address field is:

    (1) (one of) the host's IP address(es); or

    (Je tam host, netýká se to tedy jen routerů.) Možná to bylo v některém novějším RFC změněno, ale v tom případě je na tobě, abys ho našel. :-)

    pavlix avatar 24.8.2015 09:54 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ARP Flux
    Obávám se, že sis spletl komentář, na který jsi chtěl reagovat.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    24.8.2015 10:02 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux

    Ne, určitě nespletl. Je to reakce na první větu:

    Já to taky vidím tak, že má být IP adresa především adresa rozhraní a že by stroj, který není router, vůbec nemusel přijímat pakety určené pro adresu na jiném rozhraní, než na které přišly.

    RFC 1122 říká pravý opak: paket je určen pro daný host, pokud se jeho cílová adresa shoduje s některou z adres toho hosta - ani slovo o tom, že by adresa byla vázána na konkrétní rozhraní a že by se mělo zohlednit, jestli paket přišel právě na toto rozhraní.

    pavlix avatar 24.8.2015 10:10 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ARP Flux
    V té větě není ani slovo o RFC.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    24.8.2015 10:34 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux

    To sice není, ale ta věta tvrdí něco, co je v rozporu s jedním ze základních RFC, takže je relevantní na to upozornit.

    Nepopírám, že kdyby "otcové zakladatelé" tehdy věděli to, co víme dnes, navrhli by ledacos jinak (přičemž si ale nejsem vůbec jistý, že by se to týkalo i toho, o čem se tu bavíme). Na druhou stranu si ale myslím, že by si člověk měl dobře rozmyslet, jestli si uvědomuje celý kontext a jestli se příliš nesoustředí na svůj specifický use case, než prohlásí, že je něco navrženo špatně.

    Jendа avatar 22.8.2015 20:12 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    OK, asi to můžeme uzavřít s tím, že RFC nepočítají s tím, že chci mít v počítači virtuály a VPNky, u kterých nechci, aby o nich věděla síť, a proto mi to nikdo na Linuxu jako default neudělá, a když to tak chci, mám si udělat příslušná sysctl nastavení.
    22.8.2015 16:09 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: ARP Flux
    Linux standardně přijímá jako příchozí pakety, které mají jako cílovou adresu kteroukoli z jeho adres, bez ohledu na to, jestli je nastavena na příchozím rozhraní nebo na kterémkoli jiném.
    Hmm, to taky nevím, jestli je úplně šťastné.
    Tohle mi připadá jako nutné a samozřejmé. Pingat na router mohu uvedením jakékoli adresy nějakého jeho rozhraní. A muselo by to takto dopadnout i v interpretaci, kdy router paket přijme, prožene přes routovací tabulku to výstupního rozhraní, na výstupním rozhraní zjistí, že paket fakticky patří jemu a pak ho samozřejmě musí přijmout. A úplně stejně by odesílal zpětně v této interpretaci odpověď tedy nejdříve začít na rozhraní do cizí sítě, tam zjistit že na cílovou adresu platí routovací pravidla, přeroutovat paket na odpovídající rozhraní a poslat k cíli. Fakticky to dopadne úplně stejně jako když paket přijme hned a bude hned odpovídat.
    Jendа avatar 22.8.2015 20:25 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    Jenže Linux defaultně není router. Takže když se zapne aby byl router, tak by to mohlo zapnout tyto věci.
    pavlix avatar 23.8.2015 10:28 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ARP Flux
    Je pravda, že by to konceptuálně šlo brát jako formu forwardingu a navázat to na příslušný sysctl. Horší je, že interně v linuxu tyhle věci zjevně fungují zcela odlišně.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    23.8.2015 11:37 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    Je pravda, že by to konceptuálně šlo brát jako formu forwardingu a navázat to na příslušný sysctl.

    To by asi šlo (kdyby se to tak udělalo od začátku, teď už samozřejmě ne), ale jediné, co by to přineslo, by byly komplikace a horší výkon.

    Horší je, že interně v linuxu tyhle věci zjevně fungují zcela odlišně.

    Proč "horší"?

    pavlix avatar 23.8.2015 10:29 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ARP Flux
    Mimochodem ani v případě routeru ovšem není důvod reagovat na jiný ARP paket než dotazující se na adresu na daném rozhraní, nebo snad ano?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    23.8.2015 11:34 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    Samozřejmě že je. Je to moje adresa, přijímám pro ni pakety, proč bych ji měl v rámci ARP zapírat?
    Petr Tomášek avatar 23.8.2015 15:25 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: ARP Flux
    Jak „zapírat“? S tím rozhraním to nemá nic do činění, není to na stejném ethernetovém segmentu (resp. bridži), tak to nemá co na tyhle ARP packety odpovídat.
    multicult.fm | monokultura je zlo | welcome refugees!
    23.8.2015 18:23 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux

    Přečtěte si, prosím, celou diskusi. Už včera jsem sem dával odkaz na RFC, kde je to řečeno dost jednoznačně. Ještě jednou: IP adresa je adresa hosta a ne adresa konkrétního rozhraní, takže o tom, zda je paket určen pro mne (z hlediska IPv4 adresace), rozhoduje to, zda jeho cílová adresa je některá z mých adres; to, na které přišel rozhraní, v tom nehraje roli (viz též příslušná citace z RFC 1122).

    U IPv6 už to samozřejmě může být jinak, protože tam máme adresy a routy s definovaným scope, takže má smysl, abych se třeba k link local adrese hlásil jen na rozhraní, na kterém je nastavena.

    pavlix avatar 24.8.2015 10:00 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ARP Flux
    Samozřejmě že je.
    Na tohle už jsem trochu starý. Kdybych chtěl vést diskuzi tohoto typu, udělám si exkurzi do mateřské školy. Znovu kroutím hlavou nad tím, jak tě mohl Martin minule obhajovat. Vzhledem k tomu, že nemám náladu na to, abys mi zase psal měsíc uražené příspěvky v nesouvisejících diskuzích, bude asi lepší té diskuze zanechat. Omlouvám se za mírně osobní a nepříjemný tón příspěvku, ale obávám se, že si za něj můžeš i trochu sám.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    24.8.2015 10:04 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    Ptal ses, jestli takový důvod existuje, já jsem takový důvod napsal. Netuším, proč ti to připadá jako "exkurze do mateřské školy", ale to opravdu není můj problém.
    pavlix avatar 24.8.2015 10:12 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ARP Flux
    Ptal ses, jestli takový důvod existuje, já jsem takový důvod napsal.

    Obávám se, že se nejsme schopni shodnout ani na tom.
    ale to opravdu není můj problém.

    Ovšem, že ne. Je to můj problém a proto ho taky řeším. Tyhle komentáře píšu už jen proto, že by mi přišlo nefér neobjasnit, jak jsem k tomu došel.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Jendа avatar 24.8.2015 15:04 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    Vzhledem k tomu, že nemám náladu na to, abys mi zase psal měsíc uražené příspěvky v nesouvisejících diskuzích
    Tak toho jsem si nevšiml a to tady slackuju víc než je zdrávo.
    23.8.2015 11:41 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    To chování má smysl nejen u routeru, ale u jakéhokoli hosta s více adresami. Pokud nechci být multihomed host, ale tvářit se jako dva různé oddělené hosty, mám prostředky, jak to zařídit, ale holt to není default. Mně taky spousta defaultních nastavení vadí (i když spíš v desktopových prostředích než v jádře), ale dokud si je můžu změnit, beru je jen jako defaulty, nic víc.
    Petr Tomášek avatar 23.8.2015 15:32 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: ARP Flux
    Podle mě to chování nemá smysl (téměř) nikdy.
    multicult.fm | monokultura je zlo | welcome refugees!
    Jendа avatar 23.8.2015 16:04 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    Možná se hodí, když lezeš z vnitřní sítě na vnější adresu routeru.
    Petr Tomášek avatar 23.8.2015 17:07 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: ARP Flux
    Ani to mi nedává moc smysl.
    multicult.fm | monokultura je zlo | welcome refugees!
    23.8.2015 18:26 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    Smysl to dává. Mám-li stroj s více adresami, který poskytuje nějakou službu, bylo by krajně nepraktické, aby buď museli různí klienti používat různé adresy nebo abych musel krkolomně vymýšlet routing tak, aby paket za každou cenu vždy přišel "ze správné strany".
    Petr Tomášek avatar 23.8.2015 22:25 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: ARP Flux
    No to je teda naprostá hovadina.

    Na úrovni IP taky automaticky nepřijde odpověd z druhého interfacu (dokud není nastaveno routování nebo bridge), tak naprosto nedává smysl, aby ARP tohle dělalo.
    multicult.fm | monokultura je zlo | welcome refugees!
    23.8.2015 23:07 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    No to je teda naprostá hovadina.

    Opravdu si myslíte, že takhle svým tvrzením dodáte větší váhu?

    Na úrovni IP taky automaticky nepřijde odpověd z druhého interfacu (dokud není nastaveno routování nebo bridge), tak naprosto nedává smysl, aby ARP tohle dělalo.

    A který má být ten druhý interface? To, jestli host přijme paket s určitou cílovou adresou, ani to, přes které rozhraní bude odesílat odpověď na něj, vůbec nezávisí na tom, na kterém rozhraní je ta adresa formálně nastavená.

    23.8.2015 23:52 pavele
    Rozbalit Rozbalit vše Re: ARP Flux
    Pokud vím, tak je to třeba problém při "high availability cluster" - třeba Keepalived, UCARP a další mají problémy s MAC/ARP cache (respektive switch má problémy).
    24.8.2015 06:50 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    To jsou ale spíš problémy s tím, když se mění MAC adresa přiřazená dané IP adrese (nebo se dokonce k téže IP adrese současně hlásí víc MAC adres). Jedna ze situací, kdy se to může stát, je ta, kdy má počítač více rozhraní připojených do stejného segmentu (tj. ta, které se týkal původní dotaz) - ale tam pořád platí to, co jsem napsal na začátku: je to nestandardní konfigurace a je potřeba podle toho systém nastavit. Není důvod podle takové konfigurace nastavovat default.
    Petr Tomášek avatar 25.8.2015 08:25 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: ARP Flux
    No to je teda naprostá hovadina.

    Opravdu si myslíte, že takhle svým tvrzením dodáte větší váhu?

    Sluší se nazvat věci pravým jménem. A to co tady kdákáte, hovadina beze sporu je.

    Na úrovni IP taky automaticky nepřijde odpověd z druhého interfacu (dokud není nastaveno routování nebo bridge), tak naprosto nedává smysl, aby ARP tohle dělalo.

    A který má být ten druhý interface? To, jestli host přijme paket s určitou cílovou adresou, ani to, přes které rozhraní bude odesílat odpověď na něj, vůbec nezávisí na tom, na kterém rozhraní je ta adresa formálně nastavená.

    Ale pochopitelně, že v běžných konfiguracích závisí.

    multicult.fm | monokultura je zlo | welcome refugees!
    25.8.2015 08:41 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux

    Takže hovadina, dokonce "beze sporu"? Tak si to vyzkoušíme. Mám dva stroje, 11sp3 a 12sp0, jejich eth1 jsou ve stejném segmentu, "12sp0" má navíc eth2, který je zapojený jinam.

    12sp0:~ # cat /proc/sys/net/ipv4/ip_forward
    0
    12sp0:~ # ip link set eth1 up
    12sp0:~ # ip addr add 172.17.1.120/24 brd + dev eth1
    12sp0:~ # ip link set eth2 up
    12sp0:~ # ip addr add 172.17.2.120/24 brd + dev eth2
    12sp0:~ # tcpdump -nepi eth1
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
    
    11sp3:~ # ip link set eth1 up
    11sp3:~ # ip addr add 172.17.1.113/24 brd + dev eth1
    11sp3:~ # ip route add 172.17.2.120 dev eth1
    11sp3:~ # ping -nc 3 172.17.2.120
    PING 172.17.2.120 (172.17.2.120) 56(84) bytes of data.
    64 bytes from 172.17.2.120: icmp_seq=1 ttl=64 time=4.77 ms
    64 bytes from 172.17.2.120: icmp_seq=2 ttl=64 time=0.463 ms
    64 bytes from 172.17.2.120: icmp_seq=3 ttl=64 time=0.671 ms
    
    --- 172.17.2.120 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2000ms
    rtt min/avg/max/mdev = 0.463/1.970/4.777/1.986 ms
    

    A na 12sp0 vidím

    08:31:04.221152 00:0c:29:3e:51:eb > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Request who-has 172.17.2.120 tell 172.17.1.113, length 46
    08:31:04.221243 00:0c:29:67:d5:a7 > 00:0c:29:3e:51:eb, ethertype ARP (0x0806), length 42: Reply 172.17.2.120 is-at 00:0c:29:67:d5:a7, length 28
    08:31:04.221853 00:0c:29:3e:51:eb > 00:0c:29:67:d5:a7, ethertype IPv4 (0x0800), length 98: 172.17.1.113 > 172.17.2.120: ICMP echo request, id 10255, seq 1, length 64
    08:31:04.221973 00:0c:29:67:d5:a7 > 00:0c:29:3e:51:eb, ethertype IPv4 (0x0800), length 98: 172.17.2.120 > 172.17.1.113: ICMP echo reply, id 10255, seq 1, length 64
    08:31:05.218998 00:0c:29:3e:51:eb > 00:0c:29:67:d5:a7, ethertype IPv4 (0x0800), length 98: 172.17.1.113 > 172.17.2.120: ICMP echo request, id 10255, seq 2, length 64
    08:31:05.219051 00:0c:29:67:d5:a7 > 00:0c:29:3e:51:eb, ethertype IPv4 (0x0800), length 98: 172.17.2.120 > 172.17.1.113: ICMP echo reply, id 10255, seq 2, length 64
    08:31:06.217983 00:0c:29:3e:51:eb > 00:0c:29:67:d5:a7, ethertype IPv4 (0x0800), length 98: 172.17.1.113 > 172.17.2.120: ICMP echo request, id 10255, seq 3, length 64
    08:31:06.218293 00:0c:29:67:d5:a7 > 00:0c:29:3e:51:eb, ethertype IPv4 (0x0800), length 98: 172.17.2.120 > 172.17.1.113: ICMP echo reply, id 10255, seq 3, length 64
    08:31:09.230179 00:0c:29:67:d5:a7 > 00:0c:29:3e:51:eb, ethertype ARP (0x0806), length 42: Request who-has 172.17.1.113 tell 172.17.1.120, length 28
    08:31:09.230899 00:0c:29:3e:51:eb > 00:0c:29:67:d5:a7, ethertype ARP (0x0806), length 60: Reply 172.17.1.113 is-at 00:0c:29:3e:51:eb, length 46
    

    Takže přestože je adresa 172.17.2.120 formálně nastavena na eth2, stroj přijímá pakety s touto cílovou adresou i na eth1 a pokud to tak vychází na základě routovací tabulky, přes eth1 na ně i odpovídá.

    Tak jak je to s tím "kdákáním hovadin"?

    24.8.2015 21:53 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: ARP Flux
    Zkusil sis to? IP odpovídá z jakéhokoliv interface. Ted jsem si zkusil několik ntp serverů, které mají DNS na ntp.xx.xx na jeden ze svých interfaců a na nich odpovídá na ntp dotazy z jakéhokoliv segmentu. (výrobce Cisco) Webové rozhraní soho routerů beží na obém IP (pokud není vněší adresa zakázaná) jak vnější tak vnitřní adresa i při přístupu z vnitřní sítě, (Zyxel, tenda, Cisco). SSH také na routery funguje na jakékoli jeho IP. lépe řečeno podobně jako s ntp. router má v DNS sice všechny své adresy, ale pamatuji si jednu (doménovou) a připojím se na ni z jakéhokoli segmentu. Kdo z Vás kteří něco děláte s routery se k nim připojuje na různá jména podle toho z jakého segmentu přistupujete?
    Petr Tomášek avatar 25.8.2015 10:43 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: ARP Flux
    Tady se ale bavíme o routování a ne o tom, na kterém rozhraní odpovídají démony na daném stroji. Navíc u slušných démonů jde nastavit, kde budou poslouchat.
    multicult.fm | monokultura je zlo | welcome refugees!
    25.8.2015 11:08 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: ARP Flux
    Ale to je odpověď na to co jsi psal:

    Na úrovni IP taky automaticky nepřijde odpověd z druhého interfacu (dokud není nastaveno routování nebo bridge), tak naprosto nedává smysl, aby ARP tohle dělalo.

    Automaticky přijde. Nebo lépe řečeno, pokud nastavím adresu A0 na eth0 a A1 na eth1 a neudělám nic jen přiřadím adresy a podsítě, tak se IP subsystém nastaví tak, že odpověď přijde i na pakety z druhého interfacu. To, že lze nastavit systém, aby to nedělal je sice možné, ale je to nestandardní chování. Jak jsem psal o kousek vedle, všechny routery s nimiž jsem pracoval odpovídaly na pakety zasílané na jednu adresu ať jsem přistupoval z jakéhokoliv interface.

    Nastavení demonů, kde mají poslouchat je zcela jiná úroveň, to je úroveň na jakém IP bude TCP poslouchat. To nesouvisí s přijetím IP paketu na interface a odpovědí na ně. Navíc i zde je default odpovídat na všem.
    24.8.2015 21:28 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: ARP Flux
    Možná tomu routování v linuxu rozumím špatně, ale myslím si že:
    1. Když mám v dvě rozhraní eth0, eth1 s adresami a.b.c.d a e.f.g.h v sítích a.b.c.0/24 e.f.g.0/24 nebo obdobných.
    2. A přijde mi na rozhraní eth0 frame se správnou MAC adresou rozhraní eth0 obsahující jako cílovou adresu neco z e.f.g.é/24 tak linux zareaguje jakou router, pokud mu explicitně v iptables takvou cestu nebloknu
    3. A myslím si že je to tak proto, že Ethernet subsystem správně přijme MAC adresu která mu patří a paket předá iP subsystému ke zpracování. Ten pokud nejdříve zareaguje podle iptables a pak když paket projde, pokud je to lokální IP tak ji přijme a pokud je možné rozhodnout podle routovací tabulky netstat -r tak ji pošle podle ní, a pokud rozhodnout není možné pošle ICMP "destination unreacheble"
    Vypnout router je podle možné jen nastavením iptables.
    24.8.2015 22:07 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: ARP Flux
    To, co píšete, je víceméně pravda (až na pár detailů, např. řetězce tabulky filter netfilteru se vyhodnocují až po routing decision, ne před ním) při zapnutém IP forwardingu. Pro zdejší diskusi je ale podstatné spíš to, že Linux přijme paket s cílovou adresou e.f.g.h jako příchozí i když přijde na eth0, a to i při vypnutém IP forwardingu. Důvodem je skutečnost, že tohle není žádný forwarding, ten paket je vyhodnocen jako příchozí podle příslušné routy v tabulce local (zjednodušeně řečeno proto, že se jeho cílová adresa shoduje s některou z adres toho stroje); teprve kdyby routing rozhodl, že je to paket pro někoho jiného (např. všechny ostatní adresy z e.f.g.0/24 coby cílové), šlo by o forwarding a hrálo by roli nastavení IP forwardingu (ale to pak zase i v případě, že by odchozím rozhraním bylo opět eth0 - což také může být na první pohled trochu matoucí). Ze stejného důvodu bude ten paket netfilterem testován v řetězci INPUT a ne FORWARD (to je mimochodem důvod, proč se vyhodnocují až po routing decision - jinak bychom nevěděli, který řetězec se má testovat).
    pavlix avatar 23.8.2015 10:23 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: ARP Flux
    Námět k zamyšlení: Linux standardně přijímá jako příchozí pakety, které mají jako cílovou adresu kteroukoli z jeho adres, bez ohledu na to, jestli je nastavena na příchozím rozhraní nebo na kterémkoli jiném.
    To je ovšem vcelku praktické, zvláště když ten linuxový stroj pakety směruje.
    Proč by se tedy neměl defaultně v rámci ARP protokolu hlásit k adrese, pro kterou (na daném rozhraní) přijímá příchozí pakety?
    Protože tím dělá bordel na síti, která s danou IP adresou nemá nic společného.
    Nebylo by takové chování nekonzistentní?
    To si nemyslím.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Jendа avatar 22.8.2015 12:50 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: ARP Flux
    Tvrdím, že pokud někdo svůj počítač připojí dvěma rozhraními do dvou segmentů používajících stejný adresní rozsah, pak je to nestandardní situace, které je potřeba přizpůsobit konfiguraci.
    Takže místo sdělení jakou dostal adresu mám uživatelům rozesílat ještě informace o tom jaké další subnety provozuju? A když zjistí, že jsou v konfliktu, tak jim nezbývá než se odpojit, protože jinak porušují RFC. Ach jo.

    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.