Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 2 sitove karty v jednom PC a v jedne siti - jak?

Mam PC s Ubuntu, a s dvemi sitovymi kartami. Chci dosahnout toho aby obe sitove karty byly v stejne lokalni siti - s ruznymi IP adresami. Data aby tekly defaultne pres prvni IP adresu, pres ETH0. Jen data z DVB-T karty (pres dvblast) tekly ven z te druhe IP adresy - pres ETH1, aby to nevytezovalo ETH0.

Takhle to vypada ted:

ifconfig:

eth0      Link encap:Ethernet  HWadr 00:27:0e:1d:0e:86
          inet adr:192.168.0.32  Všesměr:192.168.0.255  Maska:255.255.255.0
          inet6-adr: fe80::227:eff:fe1d:e86/64 Rozsah:Linka
          AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST  MTU:1500  Metrika:1
          RX packets:527247 errors:0 dropped:235 overruns:0 frame:0
          TX packets:12858272 errors:0 dropped:0 overruns:0 carrier:0
          kolizí:0 délka odchozí fronty:1000
          Přijato bajtů: 36890404 (36.8 MB) Odesláno bajtů: 286764875 (286.7 MB)
          Přerušení:44 Vstupně/Výstupní port:0xc000

eth1      Link encap:Ethernet  HWadr 00:15:17:ed:cb:6d
          inet adr:192.168.0.132  Všesměr:192.168.0.255  Maska:255.255.255.0
          inet6-adr: fe80::215:17ff:feed:cb6d/64 Rozsah:Linka
          AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST  MTU:1500  Metrika:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          kolizí:0 délka odchozí fronty:1000
          Přijato bajtů: 0 (0.0 B) Odesláno bajtů: 492 (492.0 B)
          Přerušení:16 Paměť:d0740000-d0760000

adapters:

auto eth0
iface eth0 inet static
        address 192.168.0.32
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        
auto eth1
iface eth1 inet static
        address 192.168.0.132
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255

route:

Adresát         Brána           Maska           Přízn Metrik Odkaz  Užt Rozhraní
default         192.168.0.1     0.0.0.0         UG    100    0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1

dvbast nastaven mam na 192.168.0.132, ale stejne vse tece pres ETH0. Nejak se v tom motam, predpokladam ze to musim zadat do route, ale nevim jak presne? Urcite je to trivialnost a delam tady ze sebe blbce, ale uz mi to dnes vubec nemysli...

Předmět Autor Datum
no jasně, protože se bere první vyhovující záznam v routovací tabulce. ;-) To co potřebuješ ty, je…
touchwood 25.01.2013 22:42
touchwood
Jestli myslis DVB last aby z toho pocitace vysilal, tak zkus se podivat na option: /ifindex=X (bind…
JR_Ewing 26.01.2013 00:13
JR_Ewing
:-) to mě napadlo včera ve sprše, že stačí nastavit démona aby poslouchal jen na jednom ifacu..
touchwood 26.01.2013 09:28
touchwood
Tak ako to myslis je to vcelku na***o. Nebude to sice vytezovat eth0, ovsem celkovy traffic sa spoji…
KiloViktor 26.01.2013 10:20
KiloViktor
ta ETH1 je "serverovy" Intel gigabit v PCIe, celkem slusna karta (EXPI9400PT tusim)- zbyla mi z nece…
lucifer 26.01.2013 14:32
lucifer
No to uz je ina vec... Ak mas slusnejsi switch povedzme z triedy Cisco Catalyst, ktory vie obsluhova…
KiloViktor 26.01.2013 16:28
KiloViktor
I VLC jde nastavit, aby posílalo konkrétním rozhraním. poslední
JR_Ewing 26.01.2013 17:15
JR_Ewing

no jasně, protože se bere první vyhovující záznam v routovací tabulce. ;-)

To co potřebuješ ty, je dynamický routing na základě zdrojového portu (policy routing).

Máš několik možností:

1. "natvrdo" pomocí iptables/netfilter vymanglovat bránu, jenže to bude fungovat jen pokud se jedná o routovaný provoz.
2. použít iproute2, je třeba použít ip rule a tím pádem (opět) policy routing

http://www.policyrouting.org/iproute2.doc.html#ss9 .6.1

kapitola 9.6

P.S.: pokud se dobře pamatuju, při použití policy based routingu nesmí být použito klasické routovací tabulky.

edit: myslím ale, že rule nepočítá s portem, tj. že i tak budeš potřebovat netfilter. viz tabulka 3.2.: http://www.faqs.org/docs/iptables/traversingoftabl es.html

edit2: dneska mi to už nemyslí, zítra se zkusím zamyslet znovu. ;-)

Jestli myslis DVB last aby z toho pocitace vysilal, tak zkus se podivat na option:

/ifindex=X (binds to a specific network interface, by link number)
/ifaddr=XXX.XXX.XXX.XXX (binds to a specific network interface, by address)

Tím prostě zajistíš, že to bude vysílat jen ze specifické síťovky.

Tak ako to myslis je to vcelku na***o.
Nebude to sice vytezovat eth0, ovsem celkovy traffic sa spoji na switchi. Lacne switche zvycajne pracuju tak, ze prepajaju sucastne len dva porty, tudiz ked budes mat do switcha pichnutu aj eth1, tak transfer dat pre eth1 bude zahajeny az vtedy ked skonci prenos pre eth0.
Nikdy nedosiahnes paraleny sposob prevadzky uz aj z toho dovodu, ze obsluha preruseni pre hardware je v operacnom systeme sekvencna. To znamena len tolko, ze pakety sa prijimaju najprv z eth0 a potom z eth1. Nikdy sa neprijimaju naraz z obidvoch sietovych kariet sucastne. Jedine vylepsenie je tam len v tom, ze sietove karty maju buffer(e) pre jeden ramec. V sucastnosti su karty riesene pre uprednostnovanie prevadzky a z tohoto hladiska maju aj viac buffrov (Tx/Rx queue), niekedy aj pre viac ramcov, hlavne pri vyssich rychlostiach kde sa pouziva Jumbo frames. Tie lepsie a drahsie karty vedia potom ramce skladat/rozkladat (segmentovat) a pocitat CRC vo vlastnej rezii pretoze maju na karte sietovy koprocesor. Kukni sa na karty, ktore maju zabudovanu funkciu "segmentation offloading".

ta ETH1 je "serverovy" Intel gigabit v PCIe, celkem slusna karta (EXPI9400PT tusim)- zbyla mi z neceho jineho. Vim co a proc chci, je mi jasne ze se to na switchi potka - ale ten taky neni zadne orezavatko a data z nej tecou dal po 10Gb optice. Proto chci abych mel 2 IP na 2 ruznych gigovych rozhranich a mohl je obe plne vyuzit. Pokud by to nestihalo kvuli obsluze karet neb integrovana je nejaky Realtek shit, muzu misto ni vrazit ten samy Intel do dalsi PCIe.

(jen ukecat dvblast nestaci, stream pujde i pres VLC pokud bude potreba rekompresi, nebo pres udpxy pokud unicast)

No to uz je ina vec...
Ak mas slusnejsi switch povedzme z triedy Cisco Catalyst, ktory vie obsluhovat viac portov sucastne ostava uzke hrdlo na interuptoch v systeme, tudiz na kvalite ovladacov.
Da sa povedat, ze lepsie vyrieseny prerusovaci podsystem ma Windows a obsluha viacerych kariet by tam mala byt lepsia. Pouziva sa rozdelenie preruseni na kratku obsluhu a odlozenu obsluhu (ISR/DPC). Linux to ma podobne az na prevedenie samotneho systemu maskovania prerusenia, ktore je na Windowse vyriesne lepsie (ma to mensie latencie a priblizuje sa to uz k realtime OS). Ak by si chcel na Linuxe nizke latencie, bude zrejme treba pouzit specialne realtimove jadro.

Zpět do poradny Odpovědět na původní otázku Nahoru