{"id":198,"date":"2020-05-18T22:49:51","date_gmt":"2020-05-18T22:49:51","guid":{"rendered":"http:\/\/dsantana.uas.edu.mx\/?p=198"},"modified":"2025-01-17T00:10:11","modified_gmt":"2025-01-17T00:10:11","slug":"cache-web-squid","status":"publish","type":"post","link":"https:\/\/dsantana.uas.edu.mx\/index.php\/2020\/05\/18\/cache-web-squid\/","title":{"rendered":"Cache web: Squid"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"570\" height=\"421\" src=\"https:\/\/dsantana.uas.edu.mx\/wp-content\/uploads\/2020\/05\/image-4.png\" alt=\"\" class=\"wp-image-1447\" srcset=\"https:\/\/dsantana.uas.edu.mx\/wp-content\/uploads\/2020\/05\/image-4.png 570w, https:\/\/dsantana.uas.edu.mx\/wp-content\/uploads\/2020\/05\/image-4-300x222.png 300w\" sizes=\"(max-width: 570px) 100vw, 570px\" \/><\/figure>\n\n\n\n<p>Objetivo<\/p>\n\n\n\n<p>El paquete squid es un proxy Internet con una cache integrada. La ventaja de una cache internet es que se guardan localmente los datos pedidos previamente para que, en una utilizaci\u00f3n futura, sean servidos localmente, evitando accesos repetidos a servidores distantes.<\/p>\n\n\n\n<p>Instalaci\u00f3n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# apt install squid<\/code><\/pre>\n\n\n\n<p>Configuraci\u00f3n<\/p>\n\n\n\n<p>La configuraci\u00f3n de squid se almacena en el archivo \/etc\/squid\/squid.conf.<\/p>\n\n\n\n<p>squid acepta, por omisi\u00f3n, conexiones en el puerto 3128. Sin embargo, esto puede modificarse (el puerto 8080 tambi\u00e9n es muy com\u00fan como puerto para el servicio de cach\u00e9 Internet):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/squid\/squid.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>#&#91;...]\n \n# Squid normally listens to port 3128\nhttp_port 3128\n \n#&#91;...]<\/code><\/pre>\n\n\n\n<p>Por seguridad, squid s\u00f3lo responder\u00e1 a pedidos originados en la red local o en el propio servidor. Esta restricci\u00f3n es conseguida definiendo una lista de control de acceso oACL (Access Control List) (acl fimaz.net src 192.168.1.0\/24) y autorizando el acceso s\u00f3lo a los sistemas incluidos en esa lista (http_access allow fimaz.net):<\/p>\n\n\n\n<p>Definici\u00f3n de la lista de direcciones de la red interna en la secci\u00f3n acl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/squid\/squid.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># &#91;...]\n \n#  TAG: acl\n#       Defining an Access List\n \n# &#91;...]\n \n#Default:\n# ACLs all, manager, localhost, and to_localhost are predefined.\n#\n#\n# Recommended minimum configuration:\n#\n \n# Example rule allowing access from your local networks.\n# Adapt to list your (internal) IP networks from where browsing\n# should be allowed\n#acl localnet src 10.0.0.0\/8    # RFC1918 possible internal network\n#acl localnet src 172.16.0.0\/12 # RFC1918 possible internal network\n#acl localnet src 192.168.0.0\/16        # RFC1918 possible internal network\n#acl localnet src fc00::\/7       # RFC 4193 local private network range\n#acl localnet src fe80::\/10      # RFC 4291 link-local (directly plugged) machines\n \nacl home.lan src 192.168.1.0\/24\n \n# &#91;...]<\/code><\/pre>\n\n\n\n<p>Definici\u00f3n de permisos de acceso a la secci\u00f3n http_access:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/squid\/squid.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># &#91;...]\n \n#\n# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS\n#\n \n# Example rule allowing access from your local networks.\n# Adapt localnet in the ACL section to list your (internal) IP networks\n# from where browsing should be allowed\n#http_access allow localnet\nhttp_access allow localhost\n \nhttp_access allow fimaz.net\n \n# And finally deny all other access to this proxy\nhttp_access deny all\n \n# &#91;...]<\/code><\/pre>\n\n\n\n<p>El tama\u00f1o total de la cache de squid puede ser afinado hasta un valor adecuado, como por ejemplo, 2048Mb:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/squid\/squid.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># &#91;...]\n \n# Uncomment and adjust the following to add a disk cache directory.\n#cache_dir ufs \/var\/spool\/squid 100 16 256\ncache_dir ufs \/var\/spool\/squid 2048 16 256\n \n# &#91;...]<\/code><\/pre>\n\n\n\n<p>La identificaci\u00f3n del servidor proxy tambi\u00e9n puede ser definida:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/squid\/squid.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># &#91;...]\n \n#  TAG: visible_hostname\n#       If you want to present a special hostname in error messages, etc,\n#       define this.  Otherwise, the return value of gethostname()\n#       will be used. If you have multiple caches in a cluster and\n#       get errors about IP-forwarding you must set them to have individual\n#       names with this setting.\n#Default:\n# Automatically detect the system host name\nvisible_hostname proxy.fimaz.net\n \n# &#91;...]<\/code><\/pre>\n\n\n\n<p>De manera opcional, tambi\u00e9n se puede configurar el l\u00edmite m\u00e1ximo de los objetos que se guarden en el cache, al definir el par\u00e1metro maximum_object_size:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/squid\/squid.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># &#91;...]\n \n#  TAG: maximum_object_size     (bytes)\n#       Objects larger than this size will NOT be saved on disk.  The\n#       value is specified in kilobytes, and the default is 4MB.  If\n#       you wish to get a high BYTES hit ratio, you should probably\n#       increase this (one 32 MB object hit counts for 3200 10KB\n#       hits).  If you wish to increase speed more than your want to\n#       save bandwidth you should leave this low.\n#\n#       NOTE: if using the LFUDA replacement policy you should increase\n#       this value to maximize the byte hit rate improvement of LFUDA!\n#       See replacement_policy below for a discussion of this policy.\n#Default:\n# maximum_object_size 4 MB\nmaximum_object_size 16 MB\n \n# &#91;...]<\/code><\/pre>\n\n\n\n<p>Reiniciar el servicio squid:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# systemctl restart squid<\/code><\/pre>\n\n\n\n<p><strong>Configuraci\u00f3n de clientes<\/strong><\/p>\n\n\n\n<p>Es posible configurar el navegador Firefox para utilizar un proxy, accediendo al men\u00fa de Herramientas \u2013&gt; Opciones\u2026 \u2013&gt; Avanzadas \u2013&gt; Red \u2013&gt; Definiciones\u2026. Aqu\u00ed se puede activar la opci\u00f3n Configuraci\u00f3n manual do proxy e incluir la direcci\u00f3n del servidor proxy (192.168.1.100) y el puerto (3128). Es posible definir excepciones para el propio (127.0.0.1) y para la red local (192.168.1.0\/24):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"414\" height=\"440\" src=\"https:\/\/dsantana.uas.edu.mx\/wp-content\/uploads\/2020\/05\/firefox-proxy.png\" alt=\"\" class=\"wp-image-199\" srcset=\"https:\/\/dsantana.uas.edu.mx\/wp-content\/uploads\/2020\/05\/firefox-proxy.png 414w, https:\/\/dsantana.uas.edu.mx\/wp-content\/uploads\/2020\/05\/firefox-proxy-282x300.png 282w\" sizes=\"(max-width: 414px) 100vw, 414px\" \/><\/figure>\n\n\n\n<p>En el caso de los sistemas Linux, es posible declarar la variable \u201chttp_proxy\u201d con la URL del proxy a utilizar:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~$ export http_proxy=\"http:\/\/192.168.1.100:3128\/\"<\/code><\/pre>\n\n\n\n<p>Pero, en la pr\u00f3xima sesi\u00f3n, la variable tendr\u00e1 que se declarada nuevamente.<\/p>\n\n\n\n<p>Un m\u00e9todo m\u00e1s duradero es declarar la variable autom\u00e1ticamente en cada login. Esto se obtiene al incluir la declaraci\u00f3n en el archivo ~\/.profile do utilizador:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~$ echo 'http_proxy=\"http:\/\/192.168.1.100:3128\/\"' &gt;&gt; ~\/.profile<\/code><\/pre>\n\n\n\n<p>La declaraci\u00f3n puede incluso efectuarse de modo autom\u00e1tico para todos los usuarios, si se incluye en el archivo de sistema \/etc\/profiles:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# echo 'http_proxy=\"http:\/\/192.168.1.100:3128\/\"' &gt;&gt; \/etc\/profile<\/code><\/pre>\n\n\n\n<p>El mismo principio es aplicable para la variable ftp_proxy que define el proxy que se utilizar\u00e1 en las conexiones FTP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Objetivo El paquete squid es un proxy Internet con una cache integrada. La ventaja de una cache internet es que se guardan localmente los datos pedidos previamente para que, en una utilizaci\u00f3n futura, sean servidos localmente, evitando accesos repetidos a servidores distantes. Instalaci\u00f3n Configuraci\u00f3n La configuraci\u00f3n de squid se almacena en el archivo \/etc\/squid\/squid.conf. squid acepta, por omisi\u00f3n, conexiones en el puerto 3128. Sin embargo, esto puede modificarse (el puerto 8080 tambi\u00e9n es muy com\u00fan como puerto para el servicio de cach\u00e9 Internet): Por seguridad, squid s\u00f3lo responder\u00e1 a pedidos originados en la red local o en el propio servidor. Esta restricci\u00f3n es conseguida definiendo una lista de control de acceso oACL (Access Control List) (acl fimaz.net src 192.168.1.0\/24) y autorizando el acceso s\u00f3lo a los sistemas incluidos en esa lista (http_access allow fimaz.net): Definici\u00f3n de la lista de direcciones de la red interna en la secci\u00f3n acl: Definici\u00f3n de permisos de acceso a la secci\u00f3n http_access: El tama\u00f1o total de la cache de squid puede ser afinado hasta un valor adecuado, como por ejemplo, 2048Mb: La identificaci\u00f3n del servidor proxy tambi\u00e9n puede ser definida: De manera opcional, tambi\u00e9n se puede configurar el l\u00edmite m\u00e1ximo de los objetos que se guarden en el cache, al definir el par\u00e1metro maximum_object_size: Reiniciar el servicio squid: Configuraci\u00f3n de clientes Es posible configurar el navegador Firefox para utilizar un proxy, accediendo al men\u00fa de Herramientas \u2013&gt; Opciones\u2026 \u2013&gt; Avanzadas \u2013&gt; Red \u2013&gt; Definiciones\u2026. Aqu\u00ed se puede activar la opci\u00f3n Configuraci\u00f3n manual do proxy e incluir la direcci\u00f3n del servidor proxy (192.168.1.100) y el puerto (3128). Es posible definir excepciones para el propio (127.0.0.1) y para la red local (192.168.1.0\/24): En el caso de los sistemas Linux, es posible declarar la variable \u201chttp_proxy\u201d con la URL del proxy a utilizar: Pero, en la pr\u00f3xima sesi\u00f3n, la variable tendr\u00e1 que se declarada nuevamente. Un m\u00e9todo m\u00e1s duradero es declarar la variable autom\u00e1ticamente en cada login. Esto se obtiene al incluir la declaraci\u00f3n en el archivo ~\/.profile do utilizador: La declaraci\u00f3n puede incluso efectuarse de modo autom\u00e1tico para todos los usuarios, si se incluye en el archivo de sistema \/etc\/profiles: El mismo principio es aplicable para la variable ftp_proxy que define el proxy que se utilizar\u00e1 en las conexiones FTP.<\/p>\n","protected":false},"author":1,"featured_media":1447,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,5,12,1,10,6],"tags":[49],"class_list":["post-198","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-debian","category-docencia","category-linux","category-sin-categoria","category-sistemas-operativos","category-talleres","tag-squid"],"_links":{"self":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts\/198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/comments?post=198"}],"version-history":[{"count":4,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts\/198\/revisions"}],"predecessor-version":[{"id":1448,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts\/198\/revisions\/1448"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/media\/1447"}],"wp:attachment":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/media?parent=198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/categories?post=198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/tags?post=198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}