Federico Alberto Sayd escribió:
Marc Aymerich escribió:
2009/4/7 Federico Alberto Sayd <[email protected]>:
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
==============================================================
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]