[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Tablas de enrutado especificas por proceso



Federico Alberto Sayd escribió:
Marc Aymerich escribió:
2009/4/7 Federico Alberto Sayd <fsayd@uncu.edu.ar>:
Marc Aymerich escribió:
Muy buenas listeros,

Es posible, con ip, definir tablas de routing para un procesos
determinados? Quiero que rtorrent salga por una interfaz y el resto de
trafico por otra.

saludos y gracias!
Marc.



Lo que puedes hacer es que un proceso haga "bind" sobre una interfaz, o sea
que utilice como interfaz de salida una interfaz en específico. Pero eso
depende del programa que uses. Algunos programas te permiten especificar la interfaz de salida. Luego lo que tienes que hacer es trabajar con iproute2
para que te permita enrutar por origen.

Saludos



Buenas Federico, gracias por tu respuesta :)
Para quien le interese al final he optado por hacerlo con iptables
marcando los paquetes del usuario que ejecuta rtorrent y luego
encamonarlos con ip route. más o menos de la siguiente forma

GW="gateway que usará rtorrent"
EXIFT="intrerfaz que usará rtorrent"
UIDT="Uid del usuario que ejectutará rtorrent"

echo "260 rtorrent" >> /etc/iproute2/rt_tables
iptables -t mangle -A OUTPUT -m owner --uid-owner $UIDT -j MARK --set-mark 1
ip rule add fwmark 1 table rtorrent
ip route add default via $GW dev $EXIFT table rtorrent


Marc:

Muy interesante lo tuyo, no sabía que iptables tenía ese módulo. Estuve viendo y también se puede especificar el pid de la aplicación. Sería lo optimo si no fuera que el pid cambia cada vez que se inicia la aplicación. Sería interesante ver si se puede fijar, no lo sé. Con el uid tienes que estar seguro de que el proceso correrá bajo un usuario específico.

Me alegro de que lo hayas solucionado.

Saludos



Para hacerlo con el pid podrías hacer un script que ejecute "pidof rtorrent" cada pocos segundos y que actualice iptables si hace falta....

--
==============================================================
Antonio Arriaga
==============================================================


Reply to: