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 04:55 | Nová verze

    Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.

    Ladislav Hagara | Komentářů: 3
    dnes 04:33 | Zajímavý projekt

    Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,

    … více »
    NUKE GAZA! 🎆 | Komentářů: 27
    včera 14:22 | IT novinky

    Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.

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

    SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 7
    včera 03:11 | Zajímavý projekt

    Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační

    … více »
    NUKE GAZA! 🎆 | Komentářů: 9
    15.3. 15:33 | Humor

    PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    15.3. 14:33 | Nová verze Ladislav Hagara | Komentářů: 2
    15.3. 12:33 | Zajímavý projekt

    FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.

    NUKE GAZA! 🎆 | Komentářů: 5
    14.3. 22:55 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.

    Ladislav Hagara | Komentářů: 2
    14.3. 21:33 | Nová verze

    Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.

    |🇵🇸 | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1098 hlasů
     Komentářů: 26, poslední 12.3. 08:56
    Rozcestník

    Dotaz: docker bind + VirtualBox VM

    11.12.2016 15:16 rastos | skóre: 63 | blog: rastos
    docker bind + VirtualBox VM
    Přečteno: 454×
    Tento post je o čiastkovom probléme, na ktorý som narazil pri jedom svojom experimente.

    Chcem v docker kontajneri bežať BIND DNS server a použiť ho z VM bežiacom pod VirtualBox-om.

    Setup:

    Host:

    # ip -4 addr  show dev docker0
    5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
        inet 192.168.1.1/24 scope global docker0
           valid_lft forever preferred_lft forever

    Docker kontajner:

    # ip -4 addr show dev eth0
    13: eth0@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
        inet 192.168.1.2/24 scope global eth0
           valid_lft forever preferred_lft forever
    

    VM: Linux (VirtualBox - network adapter mode: Bridge na interface docker0)

    # ip -4 addr show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        inet 192.168.1.3/24 brd 192.168.1.255 scope global enp0s3
           valid_lft forever preferred_lft forever

    Ping v guest-ovi:

    # ping -c 3 192.168.1.2
    PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
    64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.707 ms
    64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.294 ms
    64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=1.28 ms
    
    --- 192.168.1.2 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2006ms
    rtt min/avg/max/mdev = 0.294/0.762/1.286/0.407 ms
    

    Resolvovanie:

    Docker container:

    # host container.samdom.example.org
    container.samdom.example.org has address 192.168.1.2
    

    Host:

    # host container.samdom.example.org 192.168.1.2
    Using domain server:
    Name: 192.168.1.2
    Address: 192.168.1.2#53
    Aliases: 
    
    container.samdom.example.org has address 192.168.1.2
    

    Guest:

    # host container.samdom.example.org 192.168.1.2
    ;; connection timed out; no servers could be reached
    
    VM guest vie pingnúť kontajner, ale nevie kontaktovať DNS server bežiaci v tom kontajneri. Ale to nie je tak celkom pravda. Tcpdump/wireshark bežiaci v tom VM guestovi vidí, ako odíde DNS paket s DNS query a vidí aj paket s DNS odpoveďou. Ale napriek tomu resolvovanie zlyhá z timeout-om.

    Kde je zádrhel?

    Řešení dotazu:


    Odpovědi

    11.12.2016 15:31 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: docker bind + VirtualBox VM
    Nepopsal jste topologii vašich zařízení, takže je těžké se v tom vyznat. Každopádně Docker používá pro oddělení sítí běžících kontejnerů jmenné prostory, takže kontejnery na sebe síťově nevidí přímo ani nejsou přímo viditelné z venku (z hostitelského systému nebo z jiných zařízení). Pokud na sebe mají vidět dva kontejnery, dělá se to v Dockeru pomocí linkování (např. při spuštění web serveru mu přidáte link na databázový server - Docker pak zařídí propojení mezi kontejnery na síťové vrstvě a upraví soubor /etc/hosts webového serveru, aby byl databázový server viditelný pod zvoleným jménem). Pokud má být aplikace z kontejneru dostupná z venku (z hostitele nebo z jiných zařízení), musí se příslušný port (nebo porty) z Docker kontejneru namapovat na port na hostiteli (Docker pak udělá NAT a co přijde na uvedený port na hostiteli přepošle na zadaný port dovnitř kontejneru).
    11.12.2016 16:06 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: docker bind + VirtualBox VM
    Nepopsal jste topologii vašich zařízení
    Nechápem. Všetko sa to odohráva na jednej fyzickej mašine.

    Kontajner bol vyrobený cez Dockerfile, ktorý hovorí
    EXPOSE 53
    Čo viac by tomu bolo treba? Keďže host, na ktorom beží ten kontajner vie poslať DNS query do kontajneru a dostane správnu odpoveď, tak si myslím, že sieťová služba bežiaca v kontajneri je dostupná "zvonku" (teda z prostredia mimo kontajneru) a chcem, aby bola dostupná aj z VM guesta.

    11.12.2016 16:20 n
    Rozbalit Rozbalit vše Re: docker bind + VirtualBox VM
    Pustit ten container s paramatrem
    -p53:53
    ?
    11.12.2016 17:46 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: docker bind + VirtualBox VM
    Všetko sa to odohráva na jednej fyzickej mašine.
    To je právě to, co chybělo.
    Kontajner bol vyrobený cez Dockerfile, ktorý hovorí
    EXPOSE 53
    Čo viac by tomu bolo treba?
    To říká, že je port 53 dostupný pro propojení, ale propojení musíte vytvořit sám. Jak píše "n", musíte při startu použít buď parametr -p pro namapování všech "expose" portů, nebo -p53:53 pro namapování portu 53 na port 53.
    Keďže host, na ktorom beží ten kontajner vie poslať DNS query do kontajneru
    Jenže ten dotaz posíláte přímo na interní IP adresu toho kontejneru, ta určitě není dostupná "z venku" (z jiných zařízení) a nemusí být dostupná z jiných jmenných prostorů na daném počítači. A neměl byste ji používat ani pro přístup z hostitele - Docker normálně tu adresu spravuje sám a při příštím spuštění kontejneru může být jiná. To, že jste tam vnutil svou IP adresu, je nestandardní řešení, a není mi moc jasné, k čemu je to dobré - ale řekl bych, že si tím zaděláváte na problémy.
    11.12.2016 22:02 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: docker bind + VirtualBox VM
    propojení musíte vytvořit sám. Jak píše "n", musíte při startu použít buď parametr -p pro namapování všech "expose" portů, nebo -p53:53 pro namapování portu 53 na port 53.

    Nepomohlo. Alebo niečo robím zle a nevidím to. Ak treba, aby som dodal ešte nejaké informácie, tak mi dajte vedieť.
    ten dotaz posíláte přímo na interní IP adresu toho kontejneru,
    Tak dobre. A na akú adresu by som mal za "normálnych" okolností tú query posielať?
    ta určitě není dostupná "z venku"

    Kto mi to teda potom odpovedá, keď urobím na hostovi "host container.samdom.example.org 192.168.1.2" a dostanem odpoveď?
    Docker normálně tu adresu spravuje sám a při příštím spuštění kontejneru může být jiná.
    To chápem, ale chcel som sa s tým zaoberať až v ďalšom kole - po tom, ako budem mať "proof of principle".
    11.12.2016 22:33 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: docker bind + VirtualBox VM
    Použijte ten parametr -p a pak se dotazujte IP adresy hostitele, tedy host container.samdom.example.org 192.168.1.1.
    Tak dobre. A na akú adresu by som mal za "normálnych" okolností tú query posielať?
    Musíte si nastavit to mapování (-p) a pak je posílat na IP adresu hostitele. Nebo pokud chcete komunikaci jen mezi kontejnery, nebudete port vůbec mapovat a místo toho použijete --link, který mezi sebou přímo propojí dva kontejnery. Ty IP adresy, které kontejnerům přiděluje Docker, se normálně "ručně" vůbec nepoužívají.
    Kto mi to teda potom odpovedá, keď urobím na hostovi "host container.samdom.example.org 192.168.1.2" a dostanem odpoveď?
    Odpovídá vám BIND z toho kontejneru. Ale je to speciální případ, protože se ptáte z rodičovského kontextu (hostitele) toho kontejneru, máte zřejmě k té adrese přístup.
    To chápem, ale chcel som sa s tým zaoberať až v ďalšom kole - po tom, ako budem mať "proof of principle".
    Tu IP adresu 192.168.1.2 jste ale musel v kontejneru ručně nastavit vy, ne? Docker normálně kontejnerům přiřazuje IP adresy z rozsahu 172.0.0.0/8, pokud vím.
    11.12.2016 22:55 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: docker bind + VirtualBox VM
    Použijte ten parametr -p a pak se dotazujte IP adresy hostitele, tedy host container.samdom.example.org 192.168.1.1.

    Len pre istotu sa spýtam ešte raz: pýtať sa IP adresy docker0 interface-u na hostiteľovi? Zmysel to dáva, ale fungovať to nefunguje. Timeout.
    Nebo pokud chcete komunikaci jen mezi kontejnery ...
    To teraz nie je môj cieľ.
    Tu IP adresu 192.168.1.2 jste ale musel v kontejneru ručně nastavit vy, ne?

    Asi je to tak. Už sa s tým babrem toľko, že neviem, čo presne som dockeru spravil :-( A neviem to vrátiť do východzieho stavu bez toho, aby som zrušil úplne všetko, čo sa dockeru týka (vrátane zmazania /var/lib/docker/*). To by nebola úplná katastrofa, ale ak sa dá, chcel by som sa tomu vyhnúť.
    12.12.2016 07:01 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: docker bind + VirtualBox VM
    Parametr -p podle mne napojí port na všechny IP adresy hostitele, každopádně běžné je komunikovat přes IP adresy jeho normálních rozhraní (síťové karty). Je možné, že to nefunguje proto, že jste změnil konfiguraci sítě uvnitř toho kontejneru, a Docker se pak na něj neumí napojit.

    Nestačí vytvořit znovu nový kontejner ze stejného obrazu?
    12.12.2016 21:18 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: docker bind + VirtualBox VM
    Pravdu díš příteli.

    A tiež tomu značne pomôže, keď v tom mapovaní portu je napísané -p 53:53/udp

    Pretože (notes to self) "-p 53" znamená, že nejaký náhodný vonkajší port je mapovaný na port 53 v kontajneri a keď ten vonkajší port je 32769, tak ako DNS server je to dosť nafigu. Takže treba "-p 53:53". No a tým sa mapuje defaultne TCP port (čo prezradí výpis z "docker ps") - takže treba ešte pridať "/udp" (čo nie je tak úplne jasne spomenuté ani v dokumentácii).

    Takže teraz mám stav taký, že vnútri kontajnera je sieť 172.17.0.0/16, bind v ňom bežiaci odpovedá na otázky vyrobené vnútri kontajnera poslané na IP adresu sieťového rozhrania viditeľného vnútri kontajnera a (fanfáry) odpovedá aj na query vyrobené na inom stroji v LAN. Takže z hľadiska dockera to vyzerá dobre. Jediné, čo mi zatiaľ nejde, je to, aby sa tam spojil aj ten VirtualBox-ový VM. Musím poskúšať, či to chce NAT, či bridge, či ký parom.

    Zatiaľ ďakujem za pomoc.
    14.12.2016 22:22 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: docker bind + VirtualBox VM
    čo mi zatiaľ nejde, je to, aby sa tam spojil aj ten VirtualBox-ový VM. Musím poskúšať, či to chce NAT, či bridge,
    Takže, aby som to uzavrel: aj VM sa spojí so bind-om v dockeri. VM má sieťovú kartu v bridge móde a namierenú na eth0 (fyzickú kartu host-a). Vo VM je IP adresa 192.168.0.220 pridelená od DHCP servera v LAN a DNS query poslaná na IP adresu fyzickej adresy hosta (192.168.0.121) dostane odpoveď od DNS servera bežiaceho v dockeri. :-)

    Dôležitú úlohu tiež zohrávajú iptables pravidlá vyrobené docker-om (napr. "-t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER"). Nie vždy zrušenie všetkých iptables pravidiel pomáha ;-)

    Ďakujem ešte raz Filipovi a "n".

    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.