{"id":9,"date":"2007-11-21T19:08:01","date_gmt":"2007-11-21T17:08:01","guid":{"rendered":"https:\/\/blogs.ua.es\/airc\/2007\/11\/21\/encaminamiento-regulado\/"},"modified":"2008-11-04T12:01:34","modified_gmt":"2008-11-04T10:01:34","slug":"encaminamiento-regulado","status":"publish","type":"post","link":"https:\/\/blogs.ua.es\/airc\/2007\/11\/21\/encaminamiento-regulado\/","title":{"rendered":"Encaminamiento regulado"},"content":{"rendered":"<p>Por fin uno de vosotros (un compa\u00f1ero vuestro) se ha lanzado y propone un tema que, bajo mi punto de vista y desde el enfoque de la administraci\u00f3n de redes de computadores, me parece MUY interesante.<\/p>\n<p>Os animo a los dem\u00e1s a seguir su ejemplo.<\/p>\n<p>Aqu\u00ed os lo dejo. La idea es que, como en las entradas anteriores, expong\u00e1is otros ejemplos de escenarios en los que es interesante y \u00fatil el dirigir paquetes mediante encaminamiento regulado.<\/p>\n<p><!-- \t\t@page { size: 21cm 29.7cm; margin: 2cm } \t\tP { margin-bottom: 0.21cm } \t--><\/p>\n<p>Edito: Por si alguien tiene dudas, os aclaro que tambi\u00e9n se pueden usar los ejemplos expuestos en clase. Lo que no deb\u00e9is es repetiros en los comentarios.<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>Autor de la entrada: Juan Galiana<\/p>\n<p>Texto:<\/p>\n<p>Encaminamiento regulado es la capacidad de encaminar entre distintas redes en base a la informaci\u00f3n que contiene la cabecera o datos de los paquetes que circulan por ellas. Se pueden crear normas para clasificar los paquetes que vendr\u00e1n determinadas de varias maneras: direcci\u00f3n origen, destino, interfaz entrante, TOS y fwmark. En concreto iproute2 permite usar la informaci\u00f3n de marcado de iptables (fwmark) para encaminar por una ruta u otra los paquetes dependiendo de estas marcas.<br \/>\nUtilidades que puede tener esto:<\/p>\n<p>No s\u00f3lo podemos usar informaci\u00f3n de la cabecera (como por ejemplo puerto, o tipo de protocolo) sino tambi\u00e9n otra informaci\u00f3n extendida que permite iptables, aunque es un dato propio de una m\u00e1quina y no de una red, vamos a redirigir por ejemplo el tr\u00e1fico TCP del usuario con UID  1000 por la IP 172.16.70.70 y dispositivo eth1, (los dem\u00e1s ir\u00e1n por la ruta por defecto):<br \/>\n1)# echo &#8220;200 FILTRO&#8221;&gt;&gt; \/etc\/iproute2\/rt_tables<br \/>\n2)# ip rule add fwmark 1 table FILTRO<br \/>\n3)# ip route add table FILTRO via 172.16.70.70 dev eth1<br \/>\n4)# iptables -t mangle -A OUTPUT -p tcp -m owner &#8211;uid-owner 1000 -j MARK &#8211;set-mark 1<\/p>\n<p>1) Creamos la tabla en el rt_tables<br \/>\n2) A\u00f1adimos una regla, asociando nuestra tabla FILTRO con la marca &#8220;1&#8221; en los paquetes.<br \/>\n3) A\u00f1adimos una ruta para la regla FILTRO, configurando que saldr\u00e1n por lainterfaz eth1, ip 172.16.70.70<br \/>\n4) Marcamos con iptables el tr\u00e1fico TCP del usuario con UID 1000 con la marca &#8220;1&#8221;<br \/>\nEl redirigir tr\u00e1fico de un UID espec\u00edfico puede servirnos para salir a Internet por una interfaz distinta (otra interfaz f\u00edsica o vpn) cuando la ruta por defecto no permita el paso de ese tipo de tr\u00e1fico, simplemente corriendo el proceso con uid distinto.<br \/>\nEl marcado por UID es un ejemplo curioso que permite iptables, pero tambi\u00e9n se podr\u00edan marcar por otros caracter\u00edsticas como tipo de protocolo de transporte TCP o UDP, marcarlo con distintas marcas y luego asociar rutas distintas mediante reglas que asocien estas marcas con la ruta que nos interese.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por fin uno de vosotros (un compa\u00f1ero vuestro) se ha lanzado y propone un tema que, bajo mi punto de vista y desde el enfoque de la administraci\u00f3n de redes de computadores, me parece MUY interesante. Os animo a los dem\u00e1s a seguir su ejemplo. Aqu\u00ed os lo dejo. La idea es que, como en [&hellip;]<\/p>\n","protected":false},"author":67,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,379],"tags":[3079,3069],"class_list":["post-9","post","type-post","status-publish","format-standard","hentry","category-general","category-tcp-ip","tag-encaminamiento","tag-tcpip"],"_links":{"self":[{"href":"https:\/\/blogs.ua.es\/airc\/wp-json\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ua.es\/airc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ua.es\/airc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/airc\/wp-json\/wp\/v2\/users\/67"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/airc\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":1,"href":"https:\/\/blogs.ua.es\/airc\/wp-json\/wp\/v2\/posts\/9\/revisions"}],"predecessor-version":[{"id":71,"href":"https:\/\/blogs.ua.es\/airc\/wp-json\/wp\/v2\/posts\/9\/revisions\/71"}],"wp:attachment":[{"href":"https:\/\/blogs.ua.es\/airc\/wp-json\/wp\/v2\/media?parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ua.es\/airc\/wp-json\/wp\/v2\/categories?post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ua.es\/airc\/wp-json\/wp\/v2\/tags?post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}