Portál AbcLinuxu, 8. května 2025 00:43

Dotaz: Routing na zaklade aplikace

19.8.2007 10:56 Zdvori | skóre: 9
Routing na zaklade aplikace
Přečteno: 705×
Odpovědět | Admin
Zdravim,

mam dve pripojeni k netu (dejme tomu eth0 a eth1), vychozi GW je na eth0. Potreboval bych poradit jak (pokud to jde) naroutovat vsechna spojeni ktera vytvari konkretni aplikace (napr. azureus) na eth1. Problem vidim v tom ze nevim na jaky IP se bude chtit azureus pripojit, takze klasicky prikaz route je mi k nicemu.

Diky

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.8.2007 11:05 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podla aplikacie to nejde. Da sa to ale na zaklade portov/IP adries.
google keywords: iptables MARK, iproute2
Project Satan infects Calculon with Werecar virus
19.8.2007 13:29 Zdvori | skóre: 9
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
To je bohuzel nedostatecne. Neexistuje nejaky projekt, ktery by sledoval jake IP adresy aplikace pouziva a podle toho dynamicky vytvarel prislusna pravidla v iptables?
19.8.2007 13:36 JimiK | skóre: 15
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
zkus se podívat na layer7
19.8.2007 13:36 JimiK | skóre: 15
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
http://l7-filter.sourceforge.net/
19.8.2007 19:31 jiri.b | skóre: 30 | blog: jirib
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Odpovědět | | Sbalit | Link | Blokovat | Admin
pokud kazda takova aplikace bezi pod vlastnim uzivatelem tak to urcite pujde jednoduse.
19.8.2007 20:04 Zdvori | skóre: 9
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Pustit aplikaci pod jinym uzivatelem by nebyl problem. nejakej podrobnejsi navod? Na ten layer mrknu.
19.8.2007 20:42 merlik | skóre: 13 | blog: merlik
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Odpoved ohledne routovani dle useru je popsana v LARTC. Google zajiste pomuze, ja to tady na tom mobilu pokouset nebudu.
I cesta může být cíl.
19.8.2007 20:16 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Odpovědět | | Sbalit | Link | Blokovat | Admin
varim spis z vody, jen co jsem slisel: Iptables by mel poznat jaka _lokalni_ aplikace paket vygenerovala. Takze tam muzes pakety omarkovat a pak poslat do jine routovaci tabulky, kde budes mit jinou vychozi branu. Viz. iproute2. Tenhle princip je pouzit v programu sedlo. Zkus googlit.

Nebo taky tomu programu vnutit jaky interface bude pouzivat, druhy bude uplne ignorovat. Pak nastav 2 vychozi brany, s ruznou metrikou (defaultni je ta nizsi). Pokud je interface s branou s nizsi metrikou blokovan, pouzije se ta druha brana.

Nebo me napada chroot, ale nevim nakolik tam lze modifikovat routovaci tabulky. Nebo nejaka vyssi forma virtualizace.

Zdenek
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
atan avatar 19.8.2007 21:05 atan | skóre: 21 | Liberec
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
V POMu nejaky modul to kdysi umel, ale uz je to opravdu dlouho, co to neumi.
atan avatar 19.8.2007 21:06 atan | skóre: 21 | Liberec
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
No jo, je to ten owner.
20.8.2007 02:56 Tyfus
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Asi bych mel napsat proc uz modul owner neumi jmeno aplikace. Protoze funkce byla neopravitelne spatna a matouci.

Nejcastejsi pouziti bylo squid pustit primo pryc a zbytek lokalniho provozu natovat do proxy. Ale `ln -s /usr/bin/firefox ./squid ; ./squid` spustilo browser, jenze modul videl ono ./squid. Nastesti tuhle vadnou ficuru iptables zahodili.
19.8.2007 20:43 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takhle by šly označit pakety, pokud by program běžel pod zvláštním uživatelem:

iptables -A OUTPUT -m owner --uid-owner 1002 j MARK --set-mark 1

dál bych postupoval podle: http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.netfilter.html
# echo 201 app.out >> /etc/iproute2/rt_tables
# ip rule add fwmark 1 table app.out
# ip rule ls
0:	from all lookup local 
32764:	from all fwmark        1 lookup app.out 
32766:	from all lookup main 
32767:	from all lookup default

# /sbin/ip route add default via xxx.xxx.xxx.xxx dev eth1 table app.out
19.8.2007 21:57 Zdvori | skóre: 9
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Diky :)
19.8.2007 23:54 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
To cumim
Project Satan infects Calculon with Werecar virus
20.8.2007 03:03 Tyfus
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Tohle funguje? Napred se udela smerovaci rozhodnuti a az kdyz je rozhodnuto tak jde paket do mangle OUTPUTu.

Spis vidim jako reseni pouzit mangle a -j ROUTE. Druhe by mozna mohlo byt dat aplikaci jeji zdrojovou ip adresu, podle ni ip rule a nakonec natovat zdroj, ale tohle asi nejde.
20.8.2007 08:18 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Máš pravdu, na OUTPUTu by to asi nemělo smysl. Ten příklad jsem takhle úplně přesně nezkoušel. Spíš to je nápad, jakým směrem se ubírat.

Možná by to šlo takhle označit v PREROUTINGu:

# iptables -t mangle -A PREROUTING -m owner --uid-owner 1002 j MARK --set-mark 1

Nebo spíš opravdu s tím ROUTE - celý problém řeší 1 příkaz:

# iptables -t mangle -A PREROUTING -m owner --uid-owner 1002 -j ROUTE --gw 10.0.0.2

viz http://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-4.html
20.8.2007 10:53 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Lokálně generované pakety chainem PREROUTING neprocházejí. Proto je také docela dobře možné, že v chainu PREROUTING podmínka --uid-owner ani nepůjde použít.
20.8.2007 08:12 Zdenek
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zrovna azureus jde nastavit na IP adresu konkretniho rozhrani a pak staci jednoduchy source routing.
20.8.2007 08:17 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Velmi rozšířená chyba v terminologii. Source routing je něco úplně jiného, než máte na mysli.
20.8.2007 08:35 Zdenek
Rozbalit Rozbalit vše Re: Routing na zaklade aplikace
Dobre, source policy routing. Neni nad exaktni vyjadrovani ;-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.