<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://ca.wiki.guifi.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
		<id>http://ca.wiki.guifi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sergi</id>
		<title>Guifi.net - Wiki Català - Contribucions de l'usuari [ca]</title>
		<link rel="self" type="application/atom+xml" href="http://ca.wiki.guifi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sergi"/>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Especial:Contribucions/Sergi"/>
		<updated>2026-07-28T23:33:20Z</updated>
		<subtitle>Contribucions de l'usuari</subtitle>
		<generator>MediaWiki 1.22.0</generator>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/RouterOS</id>
		<title>RouterOS</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/RouterOS"/>
				<updated>2010-11-13T09:43:43Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Fer una còpia de seguretat del backup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Exemples==&lt;br /&gt;
&lt;br /&gt;
=== Dades de connexió ===&lt;br /&gt;
&lt;br /&gt;
El port del routerOS és '''8291''':&lt;br /&gt;
&lt;br /&gt;
 $  nmap 10.36.253.1&lt;br /&gt;
 &lt;br /&gt;
 Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-13 10:41 CET&lt;br /&gt;
 Interesting ports on 10.36.253.1:&lt;br /&gt;
 Not shown: 993 closed ports&lt;br /&gt;
 PORT     STATE SERVICE&lt;br /&gt;
 21/tcp   open  ftp&lt;br /&gt;
 22/tcp   open  ssh&lt;br /&gt;
 23/tcp   open  telnet&lt;br /&gt;
 53/tcp   open  domain&lt;br /&gt;
 80/tcp   open  http&lt;br /&gt;
 2000/tcp open  callbook&lt;br /&gt;
 8291/tcp open  unknown&lt;br /&gt;
&lt;br /&gt;
També proporcionen accés per:&lt;br /&gt;
&lt;br /&gt;
:*[[FTP]] (port 21)&lt;br /&gt;
:*[[SSH]] (port 22)&lt;br /&gt;
:*[[Telnet]] (port 23)&lt;br /&gt;
&lt;br /&gt;
I ofereixen els serveis:&lt;br /&gt;
&lt;br /&gt;
:*[[Servidor de DNS]] (port 53)&lt;br /&gt;
:*[[Servidor Web]] (port 80)&lt;br /&gt;
:*Servei de test d'ampla de banda (port 2000)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Fer una còpia de seguretat del backup===&lt;br /&gt;
&lt;br /&gt;
==== export ====&lt;br /&gt;
&lt;br /&gt;
 /export file miconfig&lt;br /&gt;
&lt;br /&gt;
Això genera un fitxer miconfig.rsc de tota la configuració&lt;br /&gt;
&lt;br /&gt;
Es pot guardar configuració parcial &lt;br /&gt;
&lt;br /&gt;
 /ip address &amp;gt;export file add&amp;quot; &lt;br /&gt;
 /ip address export file add&lt;br /&gt;
&lt;br /&gt;
Genera solament l'script d'adreces.&lt;br /&gt;
&lt;br /&gt;
==== system backup ====&lt;br /&gt;
&lt;br /&gt;
:*http://wiki.mikrotik.com/wiki/Configuration_Management_Spanish#System_Backup&lt;br /&gt;
[http://www.example.com títol de l'enllaç]&lt;br /&gt;
&lt;br /&gt;
===Fer un reset de la configuració===&lt;br /&gt;
&lt;br /&gt;
Escolliu '''New Terminal''' i escriviu:&lt;br /&gt;
&lt;br /&gt;
 /system reset-configuration&lt;br /&gt;
&lt;br /&gt;
El sistema es tornarà a iniciar. Primer un bip de l'aturada i després un altre de quan torni a estar amb la configuració per defecte.&lt;br /&gt;
&lt;br /&gt;
Ojo!&lt;br /&gt;
&lt;br /&gt;
 system reset-configuration no-defaults=yes&lt;br /&gt;
&lt;br /&gt;
:*http://wiki.mikrotik.com/wiki/Configuration_Management_Spanish#Limpieza_de_la_configuraci.C3.B3n&lt;br /&gt;
&lt;br /&gt;
=== Fer un reset del password ===&lt;br /&gt;
&lt;br /&gt;
http://wiki.mikrotik.com/wiki/Manual:Password_reset&lt;br /&gt;
&lt;br /&gt;
===Script inici===&lt;br /&gt;
&lt;br /&gt;
 #| IP address 192.168.88.1/24 is on ether1&lt;br /&gt;
 #| ether1 is enabled  &lt;br /&gt;
 &lt;br /&gt;
 :global action&lt;br /&gt;
  &lt;br /&gt;
 # these commands are executed after installation or configuration reset&lt;br /&gt;
 :if ($action = &amp;quot;apply&amp;quot;) do={&lt;br /&gt;
     :delay 5s&lt;br /&gt;
     /ip address add address=192.168.88.1/24 interface=ether1 comment=&amp;quot;default configuration&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # these commands are executed if user requests to remove default configuration&lt;br /&gt;
 :if ($action = &amp;quot;revert&amp;quot;) do={&lt;br /&gt;
     /ip address {&lt;br /&gt;
         :local o [find address=&amp;quot;192.168.88.1/24&amp;quot; interface=&amp;quot;ether1&amp;quot; comment=&amp;quot;default configuration&amp;quot;] &lt;br /&gt;
 	:if ([:len $o] != 0) do={ remove $o }&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
=== Consultar quan temps fa que el sistema està en execució ===&lt;br /&gt;
&lt;br /&gt;
Des de winbox:&lt;br /&gt;
&lt;br /&gt;
 System &amp;gt; Resources &amp;gt; General&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Dispositius (mini)PCI ===&lt;br /&gt;
&lt;br /&gt;
Des de winbox:&lt;br /&gt;
&lt;br /&gt;
 System &amp;gt; Resources &amp;gt; Pestany PCI&lt;br /&gt;
&lt;br /&gt;
Com relacionar els identificadors que apareixen a la placa mara amb els números d'SLOT PCI?&lt;br /&gt;
&lt;br /&gt;
=== Firmware/RouterOS upgrade ===&lt;br /&gt;
&lt;br /&gt;
{{nota| La versió actual del routerOS apareix a la barra de títol de la finestra del winbox}}&lt;br /&gt;
&lt;br /&gt;
Hi ha dos coses que es poden actualitzar:&lt;br /&gt;
&lt;br /&gt;
:*El firmware&lt;br /&gt;
:*El sistema operatiu RouterOS&lt;br /&gt;
&lt;br /&gt;
Abans que res cal que mireu:&lt;br /&gt;
&lt;br /&gt;
'''BootLoader'''&lt;br /&gt;
&lt;br /&gt;
Consulteu si el podeu actualitzar seguin les passes de:&lt;br /&gt;
&lt;br /&gt;
 http://wiki.mikrotik.com/wiki/Bootloader_upgrade&lt;br /&gt;
&lt;br /&gt;
'''License'''&lt;br /&gt;
&lt;br /&gt;
A System License, feu clic a &amp;quot;Update License Key&amp;quot;. Aquí veureu fins a quina versió pode actualitzar (Upgradable to...)&lt;br /&gt;
&lt;br /&gt;
Un cop fets aquests passos aneu a:&lt;br /&gt;
&lt;br /&gt;
 http://www.mikrotik.com/download.html&lt;br /&gt;
&lt;br /&gt;
Escolliu el tipus de placa que teniu i descarregueu la versió estable. En el meu cas:&lt;br /&gt;
&lt;br /&gt;
 http://download.mikrotik.com/routeros-powerpc-4.10.npk&lt;br /&gt;
&lt;br /&gt;
Ara cal copiar el fitxer a la routerboard. Amb Wine no sembla que es pugui arrosegar directament a la secció files ni copiar i enganxar. Cal utilitzar FTP. Per això cal tenir accés a la routerboard per IP. Podeu fer [[IP aliasing]], per exemple si la placa té la IP 10.36.253.34:&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[ifconfig]] 10.36.253.34 netmask 255.255.255.224 up&lt;br /&gt;
&lt;br /&gt;
Un cop fet això podeu utilitzar el client integrat de [[FTP]] de [[nautilus]]/Ubuntu, anant a lloc connecta el servidor i posant les dades del FTP. Un cop accediu ja podeu copiar el fitxer arrossegant.&lt;br /&gt;
 &lt;br /&gt;
Aneu a System i feu un reboot.&lt;br /&gt;
&lt;br /&gt;
Un cop actualitzar el sistema operatiu pot ser que el propi sistema operatiu tingui una nova versió del bootloader. Obriu una nova terminal al microtik:&lt;br /&gt;
&lt;br /&gt;
 /system routerboard&lt;br /&gt;
 print&lt;br /&gt;
 upgrade&lt;br /&gt;
&lt;br /&gt;
:*http://guifi.net/eu/node/7677&lt;br /&gt;
:*http://www.mikrotik.com/download.html&lt;br /&gt;
&lt;br /&gt;
=== Paquets enviats a la xarxa ===&lt;br /&gt;
&lt;br /&gt;
Les mikrotiks envien paquets de broadcast UDP:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tcpdump -n -i guifi&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on guifi, link-type EN10MB (Ethernet), capture size 96 bytes &lt;br /&gt;
 &lt;br /&gt;
 17:14:28.908307 IP 0.0.0.0.5678 &amp;gt; 255.255.255.255.5678: UDP, length 76&lt;br /&gt;
 17:14:28.908340 CDPv1, ttl: 120s, Device-ID 'MikroTik', length 43&lt;br /&gt;
&lt;br /&gt;
==Consums==&lt;br /&gt;
&lt;br /&gt;
Sí, hi ha un límit de l'amperatge que pot entregar oi?&lt;br /&gt;
&lt;br /&gt;
Jo compto 7,5A màxim, que és el que diu a les specs de la RB600, i ja que&lt;br /&gt;
tinc els datasheets just davant perquè m'hi estic barallant, ho pastejo FYI:&lt;br /&gt;
&lt;br /&gt;
Consums (màxim absolut):&lt;br /&gt;
&lt;br /&gt;
 XR5 =&amp;gt; 1,90 A Tx + 0,4 mA Rx =&amp;gt; 2,3 A&lt;br /&gt;
 RB52 =&amp;gt; 400 mA&lt;br /&gt;
 RB5H =&amp;gt; 1,6A&lt;br /&gt;
 RB52H =&amp;gt; 800 mA&lt;br /&gt;
 &lt;br /&gt;
La config que tenim ara mateix donant pel sac és una RB600 amb quatre RB52,&lt;br /&gt;
dues RB52H i dues XR5.&lt;br /&gt;
&lt;br /&gt;
Surten 7,8 ampers de consum màxim. La &amp;quot;cosa&amp;quot; ha aguantat fins que ha&lt;br /&gt;
començat a fer calor, però el watchdog el reinicia de tant en tant i als&lt;br /&gt;
vespres (i suposo que quan està més calenta) es queda penjada. A veure què&lt;br /&gt;
passa amb la nova caixa.&lt;br /&gt;
&lt;br /&gt;
==Partida defectuosa==&lt;br /&gt;
&lt;br /&gt;
A mi em passava amb una placa RB600A, es reiniciava sola, es quedaba&lt;br /&gt;
&amp;quot;pájara&amp;quot; i es va solucionar passant el firm a la v3.24 i després a dins,&lt;br /&gt;
seguint les instruccions d'en Jordi Soler, vaig fer un&lt;br /&gt;
&lt;br /&gt;
 system routerboard upgrade&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*https://llistes.projectes.lafarga.org/pipermail/guifi-rdes/2009-July/011107.html&lt;br /&gt;
&lt;br /&gt;
==guifi.net==&lt;br /&gt;
&lt;br /&gt;
===No funciona unsoclic si es torna a passar per segon cop===&lt;br /&gt;
&lt;br /&gt;
Al passar la configuració de guifi.net sobre una màquina que ja havia estat configurada amb unsolclic, el sistema és queda amb una configuració incorrecte. Cal abans fer un:&lt;br /&gt;
&lt;br /&gt;
 /system reset-configuration&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
:*[[guifi.net]]&lt;br /&gt;
:*[[nanostation]]&lt;br /&gt;
:*[[RB 750G]]&lt;br /&gt;
&lt;br /&gt;
==Enllaços externs==&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
:*http://oriol.joor.net/blog/wiki/index.php/index.php?id=hotspot_wifi&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Xarxes_Linux</id>
		<title>Xarxes Linux</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Xarxes_Linux"/>
				<updated>2010-11-09T12:34:12Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Script Hooks. Fitxers .d de configuració de la xarxa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlantillaCurs&lt;br /&gt;
| curs                   = [[DissenyXarxesLinux]], [[LinuxAdministracioAvancada]]&lt;br /&gt;
| fitxers                = {{FitxerIOriginalODT|url=https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada/moodle/sessio2/transparencies|nom=XarxesEthernetProtocolARP}}, {{FitxerIOriginalODT|url=https://svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada/moodle/sessio2/transparencies/|nom=Model_ReferenciaOSI}}, {{FitxerIOriginalODT|url=https://svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada/moodle/sessio2/transparencies/|nom=Protocols_de_xarxes_UNIX}}&lt;br /&gt;
| repositori             = https://svn.projectes.lafarga.cat/svn/iceupc/DissenyXarxaLocalLinux/moodle/sessio2/transparencies/, https://svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada/moodle/sessio2/transparencies&lt;br /&gt;
| autors                 = [[Sergi Tur Badenas]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Configuració de xarxes Linux=&lt;br /&gt;
&lt;br /&gt;
==Configuració del maquinari==&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' Molts dels passos d'aquesta secció no seran necessaris en distribucions Linux actuals (el maquinari de xarxa es detecta i configura automàticament)&lt;br /&gt;
&lt;br /&gt;
===Muntant el sistema de fitxers proc===&lt;br /&gt;
&lt;br /&gt;
Perquè la xarxa funcioni és imprescindible que el sistema de fitxers proc estigui instal·lat. Ho podeu comprovar fent una ullada al fitxer '''/etc/mtab''':&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/mtab &lt;br /&gt;
 /dev/sda2 / ext3 rw,errors=remount-ro 0 0&lt;br /&gt;
 proc /proc proc rw,noexec,nosuid,nodev 0 0&lt;br /&gt;
 /sys /sys sysfs rw,noexec,nosuid,nodev 0 0&lt;br /&gt;
 varrun /var/run tmpfs rw,noexec,nosuid,nodev,mode=0755 0 0&lt;br /&gt;
 varlock /var/lock tmpfs rw,noexec,nosuid,nodev,mode=1777 0 0&lt;br /&gt;
 procbususb /proc/bus/usb usbfs rw 0 0&lt;br /&gt;
 udev /dev tmpfs rw,mode=0755 0 0&lt;br /&gt;
 ..................&lt;br /&gt;
&lt;br /&gt;
Aquest fitxer ens mostra els dispositius muntats en el nostre sistema. Si no tenim proc, l'afegim al fitxer '''/etc/fstab''':&lt;br /&gt;
&lt;br /&gt;
 # &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt;   &amp;lt;type&amp;gt;  &amp;lt;options&amp;gt;       &amp;lt;dump&amp;gt;  &amp;lt;pass&amp;gt;&lt;br /&gt;
 proc            /proc           proc    defaults        0       0&lt;br /&gt;
&lt;br /&gt;
Podem comprovar-ho utilitzant la comanda&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -a&lt;br /&gt;
&lt;br /&gt;
que munta tots els dispositius de xarxa especificats en el fitxer '''/etc/fstab'''.&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' El sistema de fitxers proc (procfs) actualment està configurat per defecte a la majoria de kernels. Si el kernel no suporta aquest tipus de sistema us trobareu missatges d'error com mount: fs type procfs not supported by kernel. Cal recopilar el kernel amb suport per a procfs.&lt;br /&gt;
&lt;br /&gt;
===Adaptadors de xarxa (NICs)===&lt;br /&gt;
&lt;br /&gt;
Hi ha molts drivers de suport per a targetes de xarxa amb Linux. Les targetes Ethernet PCi no solen ser un problema a Linux. Un altre tema més delicat és el de les targetes de xarxa PCMCIA o USB.&lt;br /&gt;
&lt;br /&gt;
Si la targeta de xarxa és PCI, podem obtenir el seu model i identificador amb les comandes:&lt;br /&gt;
&lt;br /&gt;
 $ lspci&lt;br /&gt;
 .........................&lt;br /&gt;
 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller&lt;br /&gt;
 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control&lt;br /&gt;
 01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (rev 01)&lt;br /&gt;
 02:07.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)&lt;br /&gt;
 02:08.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13)&lt;br /&gt;
&lt;br /&gt;
 $ lspci -n&lt;br /&gt;
 &lt;br /&gt;
 00:18.1 0600: 1022:1101&lt;br /&gt;
 00:18.2 0600: 1022:1102&lt;br /&gt;
 00:18.3 0600: 1022:1103&lt;br /&gt;
 01:00.0 0300: 1002:5960 (rev 01)&lt;br /&gt;
 02:07.0 0c00: 1106:3044 (rev 80)&lt;br /&gt;
 02:08.0 0200: 11ab:4320 (rev 13)&lt;br /&gt;
&lt;br /&gt;
L'identificador té dues parts: l'identificador del venedor (vendor_id) i l'identificador del producte (proc_id). També podem consultar aquest valor utilitzant l'aplicació hal-device-manager:&lt;br /&gt;
&lt;br /&gt;
Línia de comandes:&lt;br /&gt;
&lt;br /&gt;
 $ hal-device-manager&lt;br /&gt;
&lt;br /&gt;
'''Interfície gràfica''':&lt;br /&gt;
&lt;br /&gt;
[[Image:Hal-device-manager1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Hal-device-manager2.jpg]]&lt;br /&gt;
&lt;br /&gt;
També és util la comanda.&lt;br /&gt;
&lt;br /&gt;
 $ lshal | grep info.linux.driver&lt;br /&gt;
&lt;br /&gt;
La web de ROM 'O' MATIC manté [http://rom-o-matic.net/5.4.2/etherboot-5.4.2/src/bin/NIC una llista] amb les targetes de xarxa més conegudes i els seus identificadors.&lt;br /&gt;
&lt;br /&gt;
També podeu buscar drivers (wireless) a la web:&lt;br /&gt;
&lt;br /&gt;
 http://linux-wless.passys.nl/&lt;br /&gt;
&lt;br /&gt;
Webs on es pot consultar ajuda sobre NICs:&lt;br /&gt;
&lt;br /&gt;
*http://tldp.org/HOWTO/Ethernet-HOWTO-4.html#mystery&lt;br /&gt;
*http://tldp.org/HOWTO/Hardware-HOWTO/nic.html&lt;br /&gt;
*http://es.tldp.org/COMO-INSFLUG/COMOs/Compatibilidad-Hardware-Como/Compatibilidad-Hardware-Como-12.html &lt;br /&gt;
&lt;br /&gt;
*[http://tldp.org/HOWTO/Ethernet-HOWTO-2.html#what-card Quina targeta de xarxa escollir?]&lt;br /&gt;
&lt;br /&gt;
====PCMCIA====&lt;br /&gt;
&lt;br /&gt;
 $ cardctl ident&lt;br /&gt;
&lt;br /&gt;
====USB====&lt;br /&gt;
&lt;br /&gt;
Vegeu [[Comandes_relacionades_amb_el_maquinari#lsusb | lsusb]].&lt;br /&gt;
&lt;br /&gt;
També és pot utilitzar [[dmesg]].&lt;br /&gt;
&lt;br /&gt;
===Maquinari suportat===&lt;br /&gt;
&lt;br /&gt;
Ubuntu proporciona a la seva wiki una llista de targetes de xarxa suportades (https://wiki.ubuntu.com/HardwareSupportComponentsWiredNetworkCards).&lt;br /&gt;
&lt;br /&gt;
També hi ha una llista de targetes de xarxa wireless (https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported)&lt;br /&gt;
&lt;br /&gt;
===Targetes de xarxa Wireless===&lt;br /&gt;
&lt;br /&gt;
*https://help.ubuntu.com/community/WifiDocs/WirelessTroubleShootingGuide&lt;br /&gt;
&lt;br /&gt;
===Nomenclatura i tipus de dispositius de xarxa en Linux===&lt;br /&gt;
&lt;br /&gt;
*lo: local loopback interface. Sempre està disponible ja que l'utilitzen múltiples aplicacions de xarxa (les quals no funcionarien sense aquesta interfície)&lt;br /&gt;
*eth0, eth1, ... : Targetes de xarxa ethernet.&lt;br /&gt;
*tr0, tr1, ...: Targetes de xarxa Token Ring.&lt;br /&gt;
*sl0, sl1,...: Targetes de xarxa SLIP (línies sèrie).&lt;br /&gt;
*ppp0, ppp1, ...: Targetes de xarxa PPP (línies sèrie).&lt;br /&gt;
*plip0, plip1, ...: Targetes de xarxa PLIP (línies sèrie).&lt;br /&gt;
*ax0, ax1, ... : Targetes de xarxa AX.25 interfaces.&lt;br /&gt;
*vmnet1, vmnet8,...: Targetes de xarxa virtuals de vmware. &lt;br /&gt;
&lt;br /&gt;
Extret de: http://tldp.org/LDP/nag2/x-087-2-hwconfig.tour.html&lt;br /&gt;
&lt;br /&gt;
===Determinar el nom de les targetes de xarxa eth0, eth1. Udev i iftab===&lt;br /&gt;
&lt;br /&gt;
{{nota|Aquest fitxer ja no es troba en versions actual d'Ubuntu (--[[Usuari:Sergi|acacha]] 12:06, 25 des 2009 (UTC)). Cal consultar el fitxer [[/etc/udev/rules.d/70-persistent-net.rules]] , fitxer generat automàticament per [[/lib/udev/write_net_rules]]}}&lt;br /&gt;
&lt;br /&gt;
El fitxer '''/etc/iftab''':&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/iftab&lt;br /&gt;
 # This file assigns persistent names to network interfaces.&lt;br /&gt;
 # See iftab(5) for syntax.&lt;br /&gt;
 &lt;br /&gt;
 eth0 mac 00:30:1b:b7:cd:b6 arp 1 &lt;br /&gt;
&lt;br /&gt;
és utilitzat per udev per tal d'establir el nom de les targetes de xarxa. La norma de udev que s'encarrega és:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/udev/rules.d/25-iftab.rules&lt;br /&gt;
 # This file causes network devices to be assigned consistent names.&lt;br /&gt;
 # See udev(7) for syntax.&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;add&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, \&lt;br /&gt;
                                PROGRAM=&amp;quot;iftab_helper %k&amp;quot;, NAME=&amp;quot;$result&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Un script de udev que he trobat per Internet per establir el nom de les targetes de xarxa.&lt;br /&gt;
&lt;br /&gt;
'''Atenció''': No ho he provat pas....&lt;br /&gt;
&lt;br /&gt;
 # /etc/udev/static-nic.rules&lt;br /&gt;
 #&lt;br /&gt;
 #  Set permission to 0644  'chmod 0644 static-nic.rules', then symlink&lt;br /&gt;
 #'ln -s static-nic.rules rules.d/025_static-nic.rules'&lt;br /&gt;
 #&lt;br /&gt;
 # Purpose:&lt;br /&gt;
 # Mapping specific MAC address to specific device names for cases where&lt;br /&gt;
 #  that is expected.&lt;br /&gt;
 #&lt;br /&gt;
 # SYSFS{address}=&amp;quot;MAC address&amp;quot; - MAC address should be the machine&lt;br /&gt;
 # address of the network card the rule is for.&lt;br /&gt;
 #&lt;br /&gt;
 # NAME=&amp;quot;name&amp;quot; - name is the device name you want used for the interface.&lt;br /&gt;
 # These could be standard names eth0, wlan0, etc... or if you prefer&lt;br /&gt;
 # something more descriptive lan, internet, wireless, whatever...&lt;br /&gt;
 &lt;br /&gt;
 KERNEL=&amp;quot;eth*&amp;quot;, SYSFS{address}=&amp;quot;00:00:00:00:00:00&amp;quot;, NAME=&amp;quot;eth0&amp;quot;&lt;br /&gt;
 KERNEL=&amp;quot;eth*&amp;quot;, SYSFS{address}=&amp;quot;11:11:11:11:11:11&amp;quot;, NAME=&amp;quot;eth1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*http://lists.debian.org/debian-user/2006/01/msg00181.html&lt;br /&gt;
*[http://www.die.net/doc/linux/man/man5/iftab.5.html man iftab]&lt;br /&gt;
&lt;br /&gt;
==Configuració del programari==&lt;br /&gt;
&lt;br /&gt;
===Paquet net-tools (abans netbase)===&lt;br /&gt;
&lt;br /&gt;
Podem comprovar si tenim el programari base de xarxes amb linux comprovant si tenim el paquet net-tools. En sistemes Debian:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -l | grep net-tools&lt;br /&gt;
 ii  net-tools                              1.60-17ubuntu1                        The NET-3 networking toolkit&lt;br /&gt;
&lt;br /&gt;
Si no tenim clar quines comandes ens aporta el paquet net-tools podem executar:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L net-tools | grep bin&lt;br /&gt;
 /usr/sbin&lt;br /&gt;
 /usr/sbin/arp&lt;br /&gt;
 /sbin&lt;br /&gt;
 /sbin/ifconfig&lt;br /&gt;
 /sbin/nameif&lt;br /&gt;
 /sbin/plipconfig&lt;br /&gt;
 /sbin/rarp&lt;br /&gt;
 /sbin/route&lt;br /&gt;
 /sbin/slattach&lt;br /&gt;
 /sbin/ipmaddr&lt;br /&gt;
 /sbin/iptunnel&lt;br /&gt;
 /sbin/mii-tool&lt;br /&gt;
 /bin&lt;br /&gt;
 /bin/netstat&lt;br /&gt;
&lt;br /&gt;
Com podeu veure, és el responsable de proporcionar-nos les comandes [[#ifconfig | ifconfig]],[[#arp | arp]],[[#rarp | rarp]], [[#route | route]] i [[#netstat | netstat]].&lt;br /&gt;
&lt;br /&gt;
Aquesta comanda també ens pot ser útil per localitzar els camins absoluts de les comandes de xarxa. Abans el paquet es deia '''netbase'''. Més endavant veurem que el nou paquet netbase no té res a veure amb aquest.&lt;br /&gt;
&lt;br /&gt;
===Paquet wireless-tools===&lt;br /&gt;
&lt;br /&gt;
Podeu trobar més informació a la secció Paquet wireless tools de l'article [[Xarxes Linux Wireless]].&lt;br /&gt;
&lt;br /&gt;
===Paquet netbase===&lt;br /&gt;
&lt;br /&gt;
Aquest paquet depèn del paquet ifupdown i bàsicament instal·la fitxers de configuració de xarxa com l'script /etc/init.d/networking&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L netbase | grep etc&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/network&lt;br /&gt;
 /etc/protocols&lt;br /&gt;
 /etc/rpc&lt;br /&gt;
 /etc/services&lt;br /&gt;
 /etc/init.d&lt;br /&gt;
 /etc/init.d/networking&lt;br /&gt;
&lt;br /&gt;
També és el que ens proporciona els fitxrs protocols i services.&lt;br /&gt;
&lt;br /&gt;
Podem comprovar si tenim instal·lat aquest programa amb:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -l | grep netbase&lt;br /&gt;
 ii  netbase                                4.25ubuntu2                           Basic TCP/IP networking system&lt;br /&gt;
&lt;br /&gt;
===Paquet ifupdown===&lt;br /&gt;
&lt;br /&gt;
Ens proporciona les comandes ifup i ifdown així com els fitxers de configuració de les interfícies de xarxa&lt;br /&gt;
&lt;br /&gt;
Per comprovar si tenim instal·lat el paquet:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -l | grep ifupdown&lt;br /&gt;
 ii  ifupdown                               0.6.7ubuntu7                          high level tools to configure network interf&lt;br /&gt;
&lt;br /&gt;
Podem consultar quines comandes ens ofereix amb:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L ifupdown | grep bin&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/sbin&lt;br /&gt;
 /sbin&lt;br /&gt;
 /sbin/ifup&lt;br /&gt;
 /sbin/ifdown&lt;br /&gt;
&lt;br /&gt;
O quins fitxers de configuració ens ofereix amb:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L ifupdown | grep etc&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/network&lt;br /&gt;
 /etc/network/if-pre-up.d&lt;br /&gt;
 /etc/network/if-up.d&lt;br /&gt;
 /etc/network/if-down.d&lt;br /&gt;
 /etc/network/if-post-down.d&lt;br /&gt;
 /etc/init.d&lt;br /&gt;
 '/etc/init.d/loopback&lt;br /&gt;
 /etc/udev&lt;br /&gt;
 /etc/udev/rules.d&lt;br /&gt;
 /etc/udev/rules.d/85-ifupdown.rules&lt;br /&gt;
&lt;br /&gt;
Veiem doncs que ens proporciona les comandes ifup i ifdown, que configura la interfície de loopback (/etc/init.d/loopback) i que instal·la les carpetes de&lt;br /&gt;
&lt;br /&gt;
Si no sabéssim a priori el nom del paquet però sí el nom dels fitxers i/o comandes que instal·la podem utilitzar aquesta informació amb dpkg&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -S ifdown&lt;br /&gt;
 ifupdown: /usr/share/man/man8/ifdown.8.gz&lt;br /&gt;
 ifupdown: /sbin/ifdown&lt;br /&gt;
&lt;br /&gt;
===Paquet gnome-nettool===&lt;br /&gt;
&lt;br /&gt;
Aquest paquet ens proporciona una eina gràfica a partir de la qual executar les comandes de xarxa ping, netstat, whois, etc...&lt;br /&gt;
&lt;br /&gt;
La podem executar amb:&lt;br /&gt;
&lt;br /&gt;
 $ gnome-nettool&lt;br /&gt;
&lt;br /&gt;
o seguint els menús:&lt;br /&gt;
&lt;br /&gt;
[[Image:Gnome-nettool1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Gnome-nettool.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Paquets iptutils-*===&lt;br /&gt;
&lt;br /&gt;
Hi ha tres paquets:&lt;br /&gt;
&lt;br /&gt;
*'''iputils-arping''': Proporciona la comanda [[#arping | arping]]&lt;br /&gt;
*'''iputils-ping''': Proporciona la comanda [[#ping | ping ]]&lt;br /&gt;
*'''iputils-tracepath''': Proporciona la comanda [[#traceroute | traceroute]] &lt;br /&gt;
&lt;br /&gt;
El més important és el segon que ens proporciona la comanda [[#ping | ping]].&lt;br /&gt;
&lt;br /&gt;
===Paquets iproute===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L iproute | grep bin&lt;br /&gt;
 /bin&lt;br /&gt;
 /bin/ip&lt;br /&gt;
 /sbin&lt;br /&gt;
 /sbin/rtmon&lt;br /&gt;
 /sbin/tc&lt;br /&gt;
 /sbin/netbug&lt;br /&gt;
 /sbin/rtacct&lt;br /&gt;
 /sbin/ss&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/lnstat&lt;br /&gt;
 /usr/bin/nstat&lt;br /&gt;
 /usr/bin/routef&lt;br /&gt;
 /usr/bin/routel&lt;br /&gt;
 /usr/sbin&lt;br /&gt;
 /usr/sbin/arpd&lt;br /&gt;
 /sbin/ip&lt;br /&gt;
 /usr/bin/ctstat&lt;br /&gt;
 /usr/bin/rtstat&lt;br /&gt;
&lt;br /&gt;
Proporciona diverses comandes de control de la xarxa a nivell de kernel..&lt;br /&gt;
&lt;br /&gt;
===Paquet dnstracer===&lt;br /&gt;
&lt;br /&gt;
Com podem veure amb la comanda:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L dnstracer | grep bin&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/dnstracer&lt;br /&gt;
&lt;br /&gt;
Ens proporciona la comandes dnstracer.&lt;br /&gt;
&lt;br /&gt;
===Paquet dnsutils===&lt;br /&gt;
&lt;br /&gt;
Com podem veure amb la comanda:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L dnsutils | grep bin&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/dig&lt;br /&gt;
 /usr/bin/nslookup&lt;br /&gt;
 /usr/bin/nsupdate&lt;br /&gt;
&lt;br /&gt;
Ens proporciona les comandes dig i nslookup.&lt;br /&gt;
&lt;br /&gt;
===Paquet tcpdump===&lt;br /&gt;
&lt;br /&gt;
Proporciona la comanda [[#tcpdump | tcpdump]].&lt;br /&gt;
&lt;br /&gt;
===Paquet nmap===&lt;br /&gt;
&lt;br /&gt;
Proporciona la comanda [[#nmap | nmap]].&lt;br /&gt;
&lt;br /&gt;
===Paquet traceroute===&lt;br /&gt;
&lt;br /&gt;
Proporciona la comanda [[#traceroute | traceroute]].&lt;br /&gt;
&lt;br /&gt;
===Analitzadors de xarxa (Wireshark/Ethereal)===&lt;br /&gt;
&lt;br /&gt;
*Wireshark (Antic ethereal). El paquet wireshark ens proporciona l'analitzador de xarxes lliure més famós i potent: Ethereal. Fa poc, Ethereal ha canviat el seu nom a WireShak. Podeu trobar més informació a l'article d'aquesta Wiki sobre [[Ethereal]] (Wireshark). &lt;br /&gt;
&lt;br /&gt;
===Paquet ipcalc===&lt;br /&gt;
&lt;br /&gt;
Proporciona la comanda [[#ipcalc | ipcalc]].&lt;br /&gt;
&lt;br /&gt;
===Paquet arpwatch===&lt;br /&gt;
&lt;br /&gt;
Proporciona el dimoni arpwatch que permet monitoritzar l'ús de la xarxa local mantenint una taula d'IPS i MACs.&lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Arpwatch&lt;br /&gt;
*http://ee.lbl.gov/ &lt;br /&gt;
&lt;br /&gt;
===Paquet whois===&lt;br /&gt;
&lt;br /&gt;
Com podem veure amb la comanda:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L whois | grep bin&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/whois&lt;br /&gt;
 /usr/bin/mkpasswd&lt;br /&gt;
&lt;br /&gt;
Aquest paquet ens proporciona la comanda [[#whois | whois]].&lt;br /&gt;
&lt;br /&gt;
===Paquet iptables (netfilter)===&lt;br /&gt;
&lt;br /&gt;
Com podem veure amb la comanda:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L iptables | grep bin&lt;br /&gt;
 /sbin&lt;br /&gt;
 /sbin/iptables&lt;br /&gt;
 /sbin/iptables-save&lt;br /&gt;
 /sbin/iptables-restore&lt;br /&gt;
 /sbin/ip6tables&lt;br /&gt;
 /sbin/ip6tables-save&lt;br /&gt;
 /sbin/ip6tables-restore&lt;br /&gt;
&lt;br /&gt;
Aquest paquet ens proporciona les comandes relacionades amb iptables.&lt;br /&gt;
&lt;br /&gt;
===Paquets bind/bind9===&lt;br /&gt;
&lt;br /&gt;
Ens proporciona les comandes i fitxers de configuració relacionats amb els servidors de noms (DNS) bind. Consulteu l'article sobre [[DNS]].&lt;br /&gt;
&lt;br /&gt;
==Inicialització de la xarxa. Scripts d'inicialització System V==&lt;br /&gt;
&lt;br /&gt;
A Ubuntu la inicialització de la xarxa es fa al nivell d'execució S. Els processos que s'inicialitzen en aquest nivell són els que hi ha a la carpeta '''/etc/rcS.d''' seguint el sistema d'scripts d'inicialització SystemV (Veieu l'article [[Configuració de serveis en Linux. Daemons]] per a més informació). Si executem:&lt;br /&gt;
&lt;br /&gt;
 $ ls -la /etc/rcS.d/&lt;br /&gt;
 total 16&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 2006-12-24 13:31 .&lt;br /&gt;
 drwxr-xr-x 142 root root 8192 2006-12-30 09:09 ..&lt;br /&gt;
 -rw-r--r--   1 root root  785 2006-10-06 13:34 README&lt;br /&gt;
 lrwxrwxrwx   1 root root   24 2006-11-07 19:57 S06keyboard-setup -&amp;gt; ../init.d/keyboard-setup&lt;br /&gt;
 lrwxrwxrwx   1 root root   41 2006-10-10 13:07 S07linux-restricted-modules-common -&amp;gt; ../init.d/linux-restricted-modules-common&lt;br /&gt;
 lrwxrwxrwx   1 root root   18 2006-10-10 13:07 S08loopback -&amp;gt; ../init.d/loopback&lt;br /&gt;
 ......&lt;br /&gt;
 lrwxrwxrwx   1 root root   20 2006-10-10 13:07 S40networking -&amp;gt; ../init.d/networking&lt;br /&gt;
 lrwxrwxrwx   1 root root   16 2006-10-10 13:07 S40pcmcia -&amp;gt; ../init.d/pcmcia&lt;br /&gt;
 .......&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Com podem veure en aquest nivell s'inicialitza la interfície de loopback i després la xarxa (networking). Els fitxers:&lt;br /&gt;
&lt;br /&gt;
*/etc/rcS.d/S08loopback&lt;br /&gt;
*/etc/rcS.d/S40networking &lt;br /&gt;
&lt;br /&gt;
Són links als respectius fitxer d'inicialització SystemV:&lt;br /&gt;
&lt;br /&gt;
*/etc/init.d/loopback&lt;br /&gt;
*/etc/init.d/networking &lt;br /&gt;
&lt;br /&gt;
Com s'explica aquí el que fan aquests links es determinar que s'ha d'executar els fitxers d'script amb el paràmetre start (S). Si fem una ullada al fitxer '''/etc/init.d/networking''':&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh -e&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:          networking&lt;br /&gt;
 # Required-Start:    mountvirtfs ifupdown $local_fs&lt;br /&gt;
 # Default-Start:     S&lt;br /&gt;
 # Default-Stop:      0 6&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [ -x /sbin/ifup ] || exit 0&lt;br /&gt;
 &lt;br /&gt;
 . /lib/lsb/init-functions&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
 start)&lt;br /&gt;
         log_action_begin_msg &amp;quot;Configuring network interfaces&amp;quot;&lt;br /&gt;
         type usplash_write &amp;gt;/dev/null 2&amp;gt;/dev/null &amp;amp;&amp;amp; usplash_write &amp;quot;TIMEOUT 120&amp;quot; || true&lt;br /&gt;
         if [ &amp;quot;$VERBOSE&amp;quot; != no ]; then&lt;br /&gt;
             if ifup -a; then&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             else&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             fi&lt;br /&gt;
         else&lt;br /&gt;
             if ifup -a &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             else&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             fi&lt;br /&gt;
         fi&lt;br /&gt;
         type usplash_write &amp;gt;/dev/null 2&amp;gt;/dev/null &amp;amp;&amp;amp; usplash_write &amp;quot;TIMEOUT 15&amp;quot; || true&lt;br /&gt;
         ;;&lt;br /&gt;
 &lt;br /&gt;
 stop)&lt;br /&gt;
         if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts | &lt;br /&gt;
                 grep -qE '^(nfs[1234]?|smbfs|ncp|ncpfs|coda|cifs)$'; then&lt;br /&gt;
             log_warning_msg &amp;quot;not deconfiguring network interfaces: network shares still mounted.&amp;quot;&lt;br /&gt;
             exit 0&lt;br /&gt;
         fi&lt;br /&gt;
 &lt;br /&gt;
         log_action_begin_msg &amp;quot;Deconfiguring network interfaces&amp;quot;&lt;br /&gt;
         if [ &amp;quot;$VERBOSE&amp;quot; != no ]; then&lt;br /&gt;
             if ifdown -a --exclude=lo; then&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             else&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             fi&lt;br /&gt;
         else&lt;br /&gt;
             if ifdown -a --exclude=lo &amp;gt;/dev/null 2&amp;gt;/dev/null; then&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             else&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             fi&lt;br /&gt;
         fi&lt;br /&gt;
         ;;&lt;br /&gt;
 &lt;br /&gt;
 force-reload|restart)&lt;br /&gt;
         log_action_begin_msg &amp;quot;Reconfiguring network interfaces&amp;quot;&lt;br /&gt;
         ifdown -a --exclude=lo || true&lt;br /&gt;
         if ifup -a --exclude=lo; then&lt;br /&gt;
             log_action_end_msg $?&lt;br /&gt;
         else&lt;br /&gt;
             log_action_end_msg $?&lt;br /&gt;
         fi&lt;br /&gt;
         ;;&lt;br /&gt;
 &lt;br /&gt;
 *) &lt;br /&gt;
         echo &amp;quot;Usage: /etc/init.d/networking {start|stop|restart|force-reload}&amp;quot;&lt;br /&gt;
         exit 1&lt;br /&gt;
         ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Veiem que hi ha una secció start i una secció stop i com es criden les comandes ifup -a i ifdown -a.&lt;br /&gt;
&lt;br /&gt;
El fitxer '''/etc/rcS.d/README''' ens proporciona més informació sobre aquest nivell d'execució.&lt;br /&gt;
&lt;br /&gt;
==Comandes de xarxa==&lt;br /&gt;
&lt;br /&gt;
===ifconfig===&lt;br /&gt;
&lt;br /&gt;
 Vegeu també l'ordre [[ip]] de [[Linux Advanced Routing &amp;amp; Traffic Control]] [[lartc]] (http://lartc.org/).&lt;br /&gt;
&lt;br /&gt;
Ifconfig és la comanda que permet configurar interfícies de xarxa (NICs). Tot i que ens permet modificar els paràmetres de xarxa, el seu ús més comú és consultar els paràmetres de xarxa executant ifconfig sense paràmetres:&lt;br /&gt;
&lt;br /&gt;
 $ ifconfig&lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 00:30:1B:B7:CD:B6  &lt;br /&gt;
         inet addr:192.168.1.33  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
         inet6 addr: fe80::230:1bff:feb7:cdb6/64 Scope:Link&lt;br /&gt;
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:16929 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:18758 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:1000 &lt;br /&gt;
         RX bytes:11958414 (11.4 MiB)  TX bytes:3243289 (3.0 MiB)&lt;br /&gt;
         Interrupt:209 &lt;br /&gt;
  &lt;br /&gt;
 lo        Link encap:Local Loopback  &lt;br /&gt;
         inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
         inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
         UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
         RX packets:2051 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:2051 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:0 &lt;br /&gt;
         RX bytes:598941 (584.9 KiB)  TX bytes:598941 (584.9 KiB)&lt;br /&gt;
   &lt;br /&gt;
 vmnet1    Link encap:Ethernet  HWaddr 00:50:56:C0:00:01  &lt;br /&gt;
         inet addr:192.168.252.1  Bcast:192.168.252.255  Mask:255.255.255.0&lt;br /&gt;
         inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link&lt;br /&gt;
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:6 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:1000 &lt;br /&gt;
         RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)&lt;br /&gt;
 &lt;br /&gt;
 vmnet8    Link encap:Ethernet  HWaddr 00:50:56:C0:00:08  &lt;br /&gt;
         inet addr:192.168.196.1  Bcast:192.168.196.255  Mask:255.255.255.0&lt;br /&gt;
         inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link&lt;br /&gt;
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:6 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:1000 &lt;br /&gt;
         RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)&lt;br /&gt;
&lt;br /&gt;
Com podeu observar es mostren diferents blocs que segueixen la nomenclatura de dispositius de xarxa (eth0,lo,vmnet...). Cada bloc correspon a un dispositiu de xarxa ja sigui físic o virtual.&lt;br /&gt;
&lt;br /&gt;
Com mostrar només la informació d'una NIC:&lt;br /&gt;
&lt;br /&gt;
 $ ifconfig eth0&lt;br /&gt;
 eth0    Link encap:Ethernet  HWaddr 00:30:1B:B7:CD:B6  &lt;br /&gt;
         inet addr:192.168.1.33  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
         inet6 addr: fe80::230:1bff:feb7:cdb6/64 Scope:Link&lt;br /&gt;
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:16929 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:18758 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:1000 &lt;br /&gt;
         RX bytes:11958414 (11.4 MiB)  TX bytes:3243289 (3.0 MiB)&lt;br /&gt;
         Interrupt:209 &lt;br /&gt;
&lt;br /&gt;
Ifconfig ens proporciona la següent informació:&lt;br /&gt;
&lt;br /&gt;
*'''HWaddr''': MAC del dispositiu (Ex. 00:30:1B:B7:CD:B6)&lt;br /&gt;
*'''inet addr''': La adreça IP del dispositiu (Ex. 192.168.1.33)&lt;br /&gt;
*'''Bcast''': La adreça de difusió de la subxarxa (Ex. 192.168.1.255)&lt;br /&gt;
*'''Mask''': La mascara de la subxarxa 255.255.255.0.&lt;br /&gt;
*'''inet6 addr''': La adreça IPv6 (ex.fe80::230:1bff:feb7:cdb6/64)&lt;br /&gt;
*'''Scope''': L'àmbit d'actuació de la interfície. Host (loopback)/Link (xarxes LAN nivell enllaç).&lt;br /&gt;
*'''Estadístiques de transmissió/recepció''':&lt;br /&gt;
          o RX packets:16929 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          o TX packets:18758 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          o collisions:0 txqueuelen:1000&lt;br /&gt;
          o RX bytes:11958414 (11.4 MiB) TX bytes:3243289 (3.0 MiB) &lt;br /&gt;
&lt;br /&gt;
Exemple ifconfig en un router amb 5 targetes de xarxa:&lt;br /&gt;
&lt;br /&gt;
 $ /sbin/ifconfig &lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 00:48:54:8D:58:47  &lt;br /&gt;
         inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0&lt;br /&gt;
         inet6 addr: fe80::248:54ff:fe8d:5847/64 Scope:Link&lt;br /&gt;
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:15351 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:6643 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:1000 &lt;br /&gt;
         RX bytes:1259037 (1.2 MiB)  TX bytes:878285 (857.7 KiB)&lt;br /&gt;
         Interrupt:11 Base address:0xb400 &lt;br /&gt;
 &lt;br /&gt;
 eth1      Link encap:Ethernet  HWaddr 00:48:54:8D:7F:65  &lt;br /&gt;
         inet addr:192.168.10.2  Bcast:192.168.10.255  Mask:255.255.255.0&lt;br /&gt;
         inet6 addr: fe80::248:54ff:fe8d:7f65/64 Scope:Link&lt;br /&gt;
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:6904 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:5240 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:1000 &lt;br /&gt;
         RX bytes:581267 (567.6 KiB)  TX bytes:353604 (345.3 KiB)&lt;br /&gt;
         Interrupt:5 Base address:0xb800 &lt;br /&gt;
 &lt;br /&gt;
 eth2      Link encap:Ethernet  HWaddr 00:48:54:8D:59:37  &lt;br /&gt;
         inet addr:192.168.213.1  Bcast:192.168.213.255  Mask:255.255.255.0&lt;br /&gt;
         inet6 addr: fe80::248:54ff:fe8d:5937/64 Scope:Link&lt;br /&gt;
         UP BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:1000 &lt;br /&gt;
         RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)&lt;br /&gt;
         Interrupt:9 Base address:0xbc00 &lt;br /&gt;
 &lt;br /&gt;
 eth3      Link encap:Ethernet  HWaddr 00:48:54:8A:DA:31  &lt;br /&gt;
         inet addr:192.168.216.1  Bcast:192.168.216.255  Mask:255.255.255.0&lt;br /&gt;
         inet6 addr: fe80::248:54ff:fe8a:da31/64 Scope:Link&lt;br /&gt;
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:2537 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:20 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:1000 &lt;br /&gt;
         RX bytes:448104 (437.6 KiB)  TX bytes:2668 (2.6 KiB)&lt;br /&gt;
         Interrupt:10 Base address:0xc000 &lt;br /&gt;
 &lt;br /&gt;
 eth4      Link encap:Ethernet  HWaddr 00:0D:88:CC:B4:64  &lt;br /&gt;
         inet addr:192.168.217.1  Bcast:192.168.217.255  Mask:255.255.255.0&lt;br /&gt;
         inet6 addr: fe80::20d:88ff:fecc:b464/64 Scope:Link&lt;br /&gt;
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:13 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:20 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:1000 &lt;br /&gt;
         RX bytes:2258 (2.2 KiB)  TX bytes:2936 (2.8 KiB)&lt;br /&gt;
         Interrupt:5 Base address:0xa000 &lt;br /&gt;
 &lt;br /&gt;
 lo        Link encap:Local Loopback  &lt;br /&gt;
         inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;
         inet6 addr: ::1/128 Scope:Host&lt;br /&gt;
         UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;
         RX packets:14125 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:14125 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:0 &lt;br /&gt;
         RX bytes:6902348 (6.5 MiB)  TX bytes:6902348 (6.5 MiB)&lt;br /&gt;
&lt;br /&gt;
'''Exemples:'''&lt;br /&gt;
&lt;br /&gt;
*Apagar una interfície de xarxa: &lt;br /&gt;
&lt;br /&gt;
 $ ifconfig eth0 down&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' És equivalent a ifdown eth0&lt;br /&gt;
&lt;br /&gt;
*Encendre una interfície de xarxa: &lt;br /&gt;
&lt;br /&gt;
 $ ifconfig eth0 up&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' És equivalent a ifup eth0&lt;br /&gt;
&lt;br /&gt;
====Configurar una targeta de xarxa amb ip estàtica====&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifconfig eth0 192.168.0.15 netmask 255.255.255.0 broadcast 192.168.0.255&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' Amb ifconfig no es pot configurar la interfície de xarxa amb dhcp, ni es pot establir el gateway. El gateway s'estableix amb la comanda Xarxes_Linux#route o mitjançant un paràmetre al fitxer '''/etc/network/interfaces'''.&lt;br /&gt;
&lt;br /&gt;
===== Mode promiscu =====&lt;br /&gt;
&lt;br /&gt;
*Establir el mode promiscu: &lt;br /&gt;
&lt;br /&gt;
 $ ifconfig eth0 promisc&lt;br /&gt;
 $ ifconfig eth0&lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 00:80:C8:F8:4A:51&lt;br /&gt;
         inet addr:192.168.99.35  Bcast:192.168.99.255  Mask:255.255.255.0&lt;br /&gt;
         UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1412  Metric:1&lt;br /&gt;
         RX packets:190312 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:86955 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:100 &lt;br /&gt;
         RX bytes:30701229 (29.2 Mb)  TX bytes:7878951 (7.5 Mb)&lt;br /&gt;
         Interrupt:9 Base address:0x5000&lt;br /&gt;
&lt;br /&gt;
*Treure el mode promiscu &lt;br /&gt;
&lt;br /&gt;
 $ ifconfig eth0 -promisc&lt;br /&gt;
 $ ifconfig eth0&lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 00:30:1B:B7:CD:B6  &lt;br /&gt;
         inet addr:192.168.1.33  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
         inet6 addr: fe80::230:1bff:feb7:cdb6/64 Scope:Link&lt;br /&gt;
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
         RX packets:18444 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:20307 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:1000 &lt;br /&gt;
         RX bytes:13262810 (12.6 MiB)  TX bytes:3501026 (3.3 MiB)&lt;br /&gt;
         Interrupt:209  &lt;br /&gt;
&lt;br /&gt;
==== Activar/desactivar ARP ====&lt;br /&gt;
&lt;br /&gt;
Consulteu també [[ARP]].&lt;br /&gt;
&lt;br /&gt;
*Treure arp &lt;br /&gt;
&lt;br /&gt;
 $ ifconfig eth0 -arp&lt;br /&gt;
 $ ifconfig eth0&lt;br /&gt;
         Link encap:Ethernet  HWaddr 00:80:C8:F8:4A:51&lt;br /&gt;
         inet addr:192.168.99.35  Bcast:192.168.99.255  Mask:255.255.255.0&lt;br /&gt;
         UP BROADCAST RUNNING NOARP MULTICAST  MTU:1412  Metric:1&lt;br /&gt;
         RX packets:190312 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
         TX packets:86955 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
         collisions:0 txqueuelen:100 &lt;br /&gt;
         RX bytes:30701229 (29.2 Mb)  TX bytes:7878951 (7.5 Mb)&lt;br /&gt;
         Interrupt:9 Base address:0x5000&lt;br /&gt;
&lt;br /&gt;
*Afegir arp &lt;br /&gt;
&lt;br /&gt;
 $ ifconfig eth0 arp&lt;br /&gt;
&lt;br /&gt;
*IP aliasing &lt;br /&gt;
&lt;br /&gt;
Permet configurar una targeta de xarxa amb múltiples IPs. Per exemple:&lt;br /&gt;
&lt;br /&gt;
 ifconfig eth0 192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0&lt;br /&gt;
 ifconfig eth0:1 192.168.0.3 broadcast 192.168.0.255 netmask 255.255.255.0&lt;br /&gt;
 ifconfig eth0:2 192.168.0.4 broadcast 192.168.0.255 netmask 255.255.255.0&lt;br /&gt;
 ifconfig eth0:3 192.168.0.5 broadcast 192.168.0.255 netmask 255.255.255.0&lt;br /&gt;
 ifconfig eth0:4 192.168.0.6 broadcast 192.168.0.255 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Pot ser molt útil per afegir-nos a una xarxa si necessitem configurar un switch, router o qualsevol altre dispositiu que de fàbrica esta configurat amb una IP d'una xarxa diferent a la nostra.&lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*http://es.gentoo-wiki.com/HOWTO_IP_Aliasing &lt;br /&gt;
&lt;br /&gt;
 NOTA IMPORTANT: TOTS els canvis realitzats amb ifconfig no són canvis permanents. Al reiniciar l'ordinador es restableixen els paràmetres &lt;br /&gt;
 establerts als fitxers de configuració (P.ex. en sistemes Debian el fitxer  /etc/network/interfaces).&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' net-tools&lt;br /&gt;
*'''Path:''' /sbin/ifconfig (podeu trobar el camí de la comanda executant which ifconfig)&lt;br /&gt;
*'''Manual''': [http://man.he.net/?topic=ifconfig&amp;amp;section=all man ifconfig] &lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*[http://www.die.net/doc/linux/nag/x-087-2-iface.ifconfig.html All about ifconfig]&lt;br /&gt;
&lt;br /&gt;
===iwconfig===&lt;br /&gt;
&lt;br /&gt;
Aquesta comanda ens permet obtindre informació de les interfícies de xarxa que siguin wireless:&lt;br /&gt;
&lt;br /&gt;
 $ iwconfig&lt;br /&gt;
 lo        no wireless extensions.&lt;br /&gt;
 &lt;br /&gt;
 eth0      no wireless extensions.&lt;br /&gt;
 &lt;br /&gt;
 eth1      IEEE 802.11g  ESSID:&amp;quot;WLAN_8A&amp;quot;&lt;br /&gt;
         Mode:Managed  Frequency:2.427 GHz  Access Point: 00:16:38:89:F6:57   &lt;br /&gt;
         Bit Rate:54 Mb/s   Tx-Power=20 dBm   Sensitivity=8/0  &lt;br /&gt;
         Retry limit:7   RTS thr:off   Fragment thr:off&lt;br /&gt;
         Power Management:off&lt;br /&gt;
         Link Quality=95/100  Signal level=-33 dBm  Noise level=-91 dBm&lt;br /&gt;
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0&lt;br /&gt;
         Tx excessive retries:0  Invalid misc:0   Missed beacon:0&lt;br /&gt;
 &lt;br /&gt;
 irda0     no wireless extensions.&lt;br /&gt;
 &lt;br /&gt;
 sit0      no wireless extensions.&lt;br /&gt;
&lt;br /&gt;
És un clon de la comanda ifconfig però adequada als paràmetres de les xarxes wireless.&lt;br /&gt;
&lt;br /&gt;
Podeu trobar més informació a l'apartat iwconfig de l'article d'aquesta wiki sobre [[Xarxes_Linux_Wireless | Xarxes Linux Wireless]].&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:'''wireless-tools&lt;br /&gt;
*'''Path:''' /sbin/iwconfig (podeu trobar el path de la comanda executant which iwconfig)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man8/iwconfig.8.html man iwconfig] &lt;br /&gt;
&lt;br /&gt;
===ifup===&lt;br /&gt;
&lt;br /&gt;
Arranca una interfície de xarxa:&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[ifup]] eth0&lt;br /&gt;
&lt;br /&gt;
{{nota|La configuració de la interfície de xarxa serà segons l'establert al fitxer [[Xarxes_Linux#.2Fetc.2Fnetwork.2Finterfaces |  /etc/network/interfaces]].}}&lt;br /&gt;
&lt;br /&gt;
Si la interfície no apareix al fitxer interfaces la comanda ens donarà el següent error:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifup eth4&lt;br /&gt;
 '''Ignoring unknown interface eth4=eth4.'''&lt;br /&gt;
&lt;br /&gt;
{{nota| Pot donar aquest error inclús quan la targeta existeix però no esta al fitxer interfícies}}.&lt;br /&gt;
&lt;br /&gt;
Cal tenir en compte el funcionament el funcionament d'udev que assigna noms d'interfícies de xarxa segons la MAC en casos especials com:&lt;br /&gt;
&lt;br /&gt;
*'''Discs durs extraibles''': El mateix sistema operatiu funcionant en diferents màquines idèntiques però que cada targeta de xarxa té la seva MAC&lt;br /&gt;
*'''Màquines virtuals''': Cal també tenir en compte el tema de la MAC&lt;br /&gt;
*'''Imatges de disc''': Si utilitzem eines com partimage o Ghost, tindrem sistemes iguals però cadascú un altre cop amb la seva MAC.&lt;br /&gt;
&lt;br /&gt;
Per exemple en el cas dels discs durs extraibles, udev ens assignarà una ethX on x es diferent per a cada màquina segons la seva MAC. Pot ser que aquesta ethX no estigui al fitxer interfaces!!!. Si passa això hi han dos possibilitats:&lt;br /&gt;
&lt;br /&gt;
:*No tenir Network-Manager: Per exemple amb Ubuntu Server. Aleshores la targeta de xarxa no es configurarà durant l'arrancada del sistema&lt;br /&gt;
:*Tenir Network-Manager: Aleshores network manager s'encarregarà de configurar la interfície de xarxa.&lt;br /&gt;
&lt;br /&gt;
Per a tenir més informació sobre com udev i xarxa, consulteu l'apartat:&lt;br /&gt;
&lt;br /&gt;
*http://acacha.dyndns.org/mediawiki/index.php/Xarxes_Linux#.2Fetc.2Fudev.2Frules.d.2F70-persistent-net.rules&lt;br /&gt;
&lt;br /&gt;
Si la interfície ja esta configurada ens avisarà:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifup eth0&lt;br /&gt;
 ifup: interface eth0 already configured&lt;br /&gt;
&lt;br /&gt;
Un altre error pot ser:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifdown eth0&lt;br /&gt;
 ............&lt;br /&gt;
 SIOCSIFADDR: No such device&lt;br /&gt;
 eth0: ERROR while getting interface flag: No such device&lt;br /&gt;
 eth0: ERROR while getting interface flags: No such device&lt;br /&gt;
 Bind socket to interface: No such device&lt;br /&gt;
 Failed to bring up eth0.&lt;br /&gt;
&lt;br /&gt;
Podeu consultar més errors i la seva possible solució a [[Xarxes_Linux#Missatges_d.27error_de_la_comanda_route | Errors de la comanda route]].&lt;br /&gt;
&lt;br /&gt;
Molt interessant per a saber més detalls quan tenim errors és utilitzar la opció '''--verbose''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifup --verbose -a&lt;br /&gt;
 Configuring interface lo=lo (inet)&lt;br /&gt;
 [[run-parts]] --verbose /etc/network/if-pre-up.d&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/050madwifi&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/bridge&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/uml-utilities&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/wireless-tools&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/wpasupplicant&lt;br /&gt;
 ifconfig lo 127.0.0.1 up&lt;br /&gt;
 run-parts --verbose /etc/network/if-up.d&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/avahi-autoipd&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/avahi-daemon&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/mountnfs&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/ntpdate&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/openssh-server&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/uml-utilities&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/wpasupplicant&lt;br /&gt;
 Configuring interface eth0=eth0 (inet)&lt;br /&gt;
 run-parts --verbose /etc/network/if-pre-up.d&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/050madwifi&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/bridge&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/uml-utilities&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/wireless-tools&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/wpasupplicant&lt;br /&gt;
 &lt;br /&gt;
 ifconfig eth0 192.168.1.2 netmask 255.255.255.0                 up&lt;br /&gt;
 route add default gw 192.168.1.1 metric 100 eth0 &lt;br /&gt;
 SIOCADDRT: File exists&lt;br /&gt;
 Failed to bring up eth0.&lt;br /&gt;
&lt;br /&gt;
Aquest error ens dona quan si que hi ha una entrada per a la interfície (en aquest cas eth0) però no existeix a nivell de hardware o no és la eth0. &lt;br /&gt;
&lt;br /&gt;
És una drecera de la comanda equivalent amb ifconfig:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifconfig eth0 up&lt;br /&gt;
&lt;br /&gt;
Amb el paràmetre -a podem arrancar totes les interfícies del sistema al mateix temps:&lt;br /&gt;
&lt;br /&gt;
 sudo ifup -a&lt;br /&gt;
&lt;br /&gt;
Veieu l'exemple DHCP amb ifup i ifdown per a més informació.&lt;br /&gt;
&lt;br /&gt;
:*'''Paquet:''' ifupdown&lt;br /&gt;
:*'''Path:''' /sbin/ifup (podeu obtenir el path amb la comanda which ifup)&lt;br /&gt;
:*'''Manual''': [http://www.annodex.net/cgi-bin/man/man2html?ifdown+8 man ifup]&lt;br /&gt;
&lt;br /&gt;
==== Script Hooks. Fitxers .d de configuració de la xarxa ====&lt;br /&gt;
&lt;br /&gt;
Hi ha 4 tipus de fitxers Hook Script:&lt;br /&gt;
 &lt;br /&gt;
:*[[/etc/network/if-down.d]]: S'executa '''després''' d'aturar ([[ifdown]]) '''qualsevol''' interfície de xarxa&lt;br /&gt;
:*[[/etc/network/if-post-down.d]]: S'executa '''abans''' d'aturar ([[ifdown]]) '''qualsevol''' interfície de xarxa&lt;br /&gt;
:*[[/etc/network/if-pre-up.d]]: S'executa '''abans''' d'activar ([[ifup]]) '''qualsevol''' interfície de xarxa&lt;br /&gt;
:*[[/etc/network/if-up.d/]]: S'executa '''després''' d'activar ([[ifup]]) '''qualsevol''' interfície de xarxa&lt;br /&gt;
&lt;br /&gt;
{{important| Fixeu-vos que s'indica qualsevol interfície de xarxa, incloent la lo. Heu de tenir en compte que si indiqueu un script de post-up s'executarà tans cops com interfícies tingueu.}}&lt;br /&gt;
&lt;br /&gt;
Hi ha una sèrie de variables que podeu utilitzar als scripts:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:bash&amp;quot;&amp;gt;# Don't bother to restart sshd when lo is configured.&lt;br /&gt;
if [ &amp;quot;$IFACE&amp;quot; = lo ]; then&lt;br /&gt;
        exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Only run from ifup.&lt;br /&gt;
if [ &amp;quot;$MODE&amp;quot; != start ]; then&lt;br /&gt;
        exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# OpenSSH only cares about inet and inet6. Get ye gone, strange people&lt;br /&gt;
# still using ipx.&lt;br /&gt;
if [ &amp;quot;$ADDRFAM&amp;quot; != inet ] &amp;amp;&amp;amp; [ &amp;quot;$ADDRFAM&amp;quot; != inet6 ]; then&lt;br /&gt;
        exit 0&lt;br /&gt;
fi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ifdown===&lt;br /&gt;
&lt;br /&gt;
Atura una interfície de xarxa:&lt;br /&gt;
&lt;br /&gt;
 sudo ifdown eth0&lt;br /&gt;
&lt;br /&gt;
És una dreçera de la comanda equivalent amb ifconfig:&lt;br /&gt;
&lt;br /&gt;
 sudo ifconfig eth0 down&lt;br /&gt;
&lt;br /&gt;
Amb el paràmetre -a podem apagar totes les interfícies de xarxa al mateix temps&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifdown -a&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' Cal parar molta atenció a no aturar les interfícies de xarxa en servidors remots al quals ens connectem via SSH. Aquesta comanda ens impediria l'accés a la màquina i per tant obligaria a desplaçar-nos fins al DATACENTER per solucionar l'error.&lt;br /&gt;
&lt;br /&gt;
Veieu l'exemple DHCP amb ifup i ifdown per a més informació.&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' ifupdown&lt;br /&gt;
*'''Path:''' /sbin/ifdown (podeu obtenir el path amb la comanda which ifdown)&lt;br /&gt;
*'''Manual''': [http://www.annodex.net/cgi-bin/man/man2html?ifdown+8 man ifdown]&lt;br /&gt;
&lt;br /&gt;
===ping===&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 [[ICMP#Ping]]&lt;br /&gt;
&lt;br /&gt;
===arp===&lt;br /&gt;
&lt;br /&gt;
El [http://en.wikipedia.org/wiki/Address_Resolution_Protocol protocol ARP] (Address Resolution Protocol) s'encarrega de traduir adreces IP a adreçes MAc al nivell d'enllaç en les xarxes LAN. ARP és un protocol que funciona que utilitza missatges de difusió a tota la xarxa per descobrir quin node de la xarxa té la IP demanada i aconseguir la seva MAC. Un cop aconsegueix la MAC, l'emmagatzema a la taula ARP.&lt;br /&gt;
&lt;br /&gt;
Podem consultar aquesta taula amb la comanda:&lt;br /&gt;
&lt;br /&gt;
 $ arp&lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 192.168.1.36             ether   00:0C:29:D3:47:00   C                     eth0&lt;br /&gt;
 192.168.1.34             ether   00:0E:35:29:2A:48   C                     eth0&lt;br /&gt;
 192.168.1.1              ether   00:30:DA:89:FC:8A   C                     eth0&lt;br /&gt;
&lt;br /&gt;
Per afegir una entrada a la taula ARP:&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp -s 192.168.1.35 00:50:04:62:F7:23&lt;br /&gt;
&lt;br /&gt;
Ho podem comprovar amb:&lt;br /&gt;
&lt;br /&gt;
 $ arp&lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 192.168.1.34             ether   00:0E:35:29:2A:48   C                     eth0&lt;br /&gt;
 192.168.1.36             ether   00:0C:29:D3:47:00   C                     eth0&lt;br /&gt;
 192.168.1.1              ether   00:30:DA:89:FC:8A   C                     eth0&lt;br /&gt;
 192.168.1.35             ether   00:50:04:62:F7:23   CM                    eth0&lt;br /&gt;
&lt;br /&gt;
Podeu obtenir totes les MACs de la xarxa i omplir la taula ARP amb la comanda nmap. Suposem la xarxa de tipus C 192.168.1.0, executem:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nmap 192.168.1.1-255&lt;br /&gt;
&lt;br /&gt;
Un cop finalitzi la comanda tornem a consultar la taula ARP&lt;br /&gt;
&lt;br /&gt;
 $ arp&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' Com veieu, aquesta comanda, conjuntament amb la comanda nmap, pot ser molt útil per tal d'aconseguir totes les MACs dels PCs d'una xarxa.&lt;br /&gt;
&lt;br /&gt;
*Paquet Debian: [[Xarxes_Linux#Paquet_net-tools_.28abans_netbase.29 | net-tools&lt;br /&gt;
*'''Path:''' /usr/sbin/arp (podeu executar which arp per conèixer el path de la comanda)&lt;br /&gt;
*'''Manual''': man arp &lt;br /&gt;
&lt;br /&gt;
====Ús de la comanda ping per entendre millor el funcionament del protocol ARP====&lt;br /&gt;
&lt;br /&gt;
Si consultem la taula arp d'una màquina (IP:192.168.0.7) dins d'una xarxa local de clase C 192.168.0.0:&lt;br /&gt;
&lt;br /&gt;
 $ arp&lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 192.168.0.5              ether   00:30:05:4C:90:1C   C                     eth0&lt;br /&gt;
 192.168.0.1              ether   00:13:49:87:40:66   C                     eth0&lt;br /&gt;
&lt;br /&gt;
I executem:&lt;br /&gt;
&lt;br /&gt;
 $ ping 192.168.0.10&lt;br /&gt;
 PING 192.168.0.10 (192.168.0.10) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.0.10: icmp_seq=1 ttl=64 time=10.7 ms&lt;br /&gt;
 64 bytes from 192.168.0.10: icmp_seq=2 ttl=64 time=0.289 ms&lt;br /&gt;
 64 bytes from 192.168.0.10: icmp_seq=3 ttl=64 time=0.291 ms&lt;br /&gt;
 64 bytes from 192.168.0.10: icmp_seq=4 ttl=64 time=0.302 ms&lt;br /&gt;
 .............&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Si us fixeu, el primer paquet ping tarda força més en respondre (10.7ms) que és unes 37 vegades més que el que tarden els següents paquets.... Recordeu que estem fent un ping a una màquina de la mateixa xarxa. Si consultem ara la taula arp:&lt;br /&gt;
&lt;br /&gt;
 $ arp&lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 192.168.0.5              ether   00:30:05:4C:90:1C   C                     eth0&lt;br /&gt;
 192.168.0.1              ether   00:13:49:87:40:66   C                     eth0&lt;br /&gt;
 192.168.0.10             ether   00:48:54:8D:58:47   C                     eth0&lt;br /&gt;
&lt;br /&gt;
Veiem que hi ha una nova entrada a la taula d'ARP. El primer paquet tarda més temps perquè ha de traduir l'adreça IP que li proporcionem (192.168.1.10) per la corresponent adreça MAC (00:48:54:8D:58:47). Per fer aquesta traducció s'executa el protocol ARP un cop, i una vegada resolta la MAC s'emmagatzema a la taula local ARP. Un cop emmagatzemada ja no cal fer més la traducció IP--&amp;gt;MAC i per això la resta de paquets o següents pings ja no tardaran tant:&lt;br /&gt;
&lt;br /&gt;
 $ ping 192.168.0.10&lt;br /&gt;
 PING 192.168.0.10 (192.168.0.10) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.0.10: icmp_seq=1 ttl=64 time=0.234 ms&lt;br /&gt;
 64 bytes from 192.168.0.10: icmp_seq=2 ttl=64 time=0.291 ms&lt;br /&gt;
 64 bytes from 192.168.0.10: icmp_seq=3 ttl=64 time=0.258 ms&lt;br /&gt;
 ..........................&lt;br /&gt;
&lt;br /&gt;
===arping===&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Arping Arping] és una comanda molt similar a ping però que utilitza el [http://en.wikipedia.org/wiki/Address_Resolution_Protocol protocol ARP] en comptes del [http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol ICMP]. Com a conseqüència aquesta comanda només es pot utilitzar entre màquines de la mateixa xarxa local. Igual que ping envia un paquet ARP REQUEST. Exemple:&lt;br /&gt;
&lt;br /&gt;
 $ arping -c 4 192.168.0.10&lt;br /&gt;
 WARNING: interface is ignored: Operation not permitted&lt;br /&gt;
 ARPING 192.168.0.10 from 192.168.0.7 eth0&lt;br /&gt;
 Unicast reply from 192.168.0.10 [00:48:54:8D:58:47]  0.663ms&lt;br /&gt;
 Unicast reply from 192.168.0.10 [00:48:54:8D:58:47]  0.684ms&lt;br /&gt;
 Unicast reply from 192.168.0.10 [00:48:54:8D:58:47]  0.681ms&lt;br /&gt;
 Unicast reply from 192.168.0.10 [00:48:54:8D:58:47]  0.671ms&lt;br /&gt;
 Sent 4 probes (1 broadcast(s))&lt;br /&gt;
 Received 4 response(s)&lt;br /&gt;
&lt;br /&gt;
Per instal·lar, cal executar la comanda:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install iputils-arping&lt;br /&gt;
&lt;br /&gt;
El funcionament és molt similar a la comanda ping. El paràmetre c és igual i l'opció per defecte també és il·limitats &amp;quot;pings&amp;quot; que els podem aturar amb la combinació de tetcles Ctrl+C.&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' iputils-arping&lt;br /&gt;
*'''Path:''' /usr/bin/arping (podeu consultar el path executant which arping)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man8/arping.8.html man arping]&lt;br /&gt;
&lt;br /&gt;
==== Provocar arp-replys ====&lt;br /&gt;
&lt;br /&gt;
Primer cal assignar-se una IP:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip addr add 192.168.9.35 dev wlan0&lt;br /&gt;
&lt;br /&gt;
Ara enviar els paquets ARP-REPLY:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[arping]] -q -c 3 -A -I wlan0 192.168.99.35&lt;br /&gt;
&lt;br /&gt;
On:&lt;br /&gt;
&lt;br /&gt;
:*'''-q''': sortida silenciosa&lt;br /&gt;
:*'''-c''': número de peticions enviades&lt;br /&gt;
:*'''-A (o -U)''': arping envia peticions arp-request per defecte. Amb aquesta opció envia peticions ARP-REPLY.&lt;br /&gt;
:*'''-I device''': Permet indicar la interfície de xarxa.&lt;br /&gt;
&lt;br /&gt;
Els podeu observar amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[tcpdump]] -c 3 -nni wlan0 arp&lt;br /&gt;
 ...&lt;br /&gt;
 06:02:50.626330 arp reply 192.168.99.35 is-at 0:80:c8:f8:4a:51 (0:80:c8:f8:4a:51) &lt;br /&gt;
 06:02:51.622727 arp reply 192.168.99.35 is-at 0:80:c8:f8:4a:51 (0:80:c8:f8:4a:51) &lt;br /&gt;
 06:02:52.620954 arp reply 192.168.99.35 is-at 0:80:c8:f8:4a:51 (0:80:c8:f8:4a:51)&lt;br /&gt;
&lt;br /&gt;
==== Provocar arp-requests ====&lt;br /&gt;
&lt;br /&gt;
 $ sudo arping -q -c 3 -U -I eth0 192.168.99.35&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Els podeu observar amb:&lt;br /&gt;
 &lt;br /&gt;
 $ sudp tcpdump -c 3 -nni eth0 arp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Detectar duplicats ====&lt;br /&gt;
&lt;br /&gt;
 $ sudo arping -D -I eth0 192.168.99.147; echo $?&lt;br /&gt;
&lt;br /&gt;
===rarp===&lt;br /&gt;
&lt;br /&gt;
Aquest programa és obsolet (els nous kernels ja no l'utilitzen). Ho podeu comprovar executant:&lt;br /&gt;
&lt;br /&gt;
 $ rarp -a&lt;br /&gt;
 This kernel does not support RARP.&lt;br /&gt;
&lt;br /&gt;
*Paquet Debian: net-tools&lt;br /&gt;
*'''Path:''' /usr/sbin/rarp (podeu executar which rarp per conèixer el path de la comanda)&lt;br /&gt;
*'''Manual''': [http://bama.ua.edu/cgi-bin/man-cgi?RARP+7P man rarp] &lt;br /&gt;
&lt;br /&gt;
===dhclient===&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' net-tools&lt;br /&gt;
*'''Path:''' /sbin/dhclient (podeu trobar el camí de la comanda executant which dhclient)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man8/dhclient.8.html man dhclient] &lt;br /&gt;
&lt;br /&gt;
===route===&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': Es recomana utilitzar la comanda [[#ip|ip]] per configurar rutes estàtiques.&lt;br /&gt;
&lt;br /&gt;
La comada route permet mostrar o manipular la taula de rutes ip de la màquina. Igual que passa amb la comanda ifconfig, el seu ús més habitual és mostrar la taula de rutes, executant route sense paràmetres:&lt;br /&gt;
&lt;br /&gt;
 $ route&lt;br /&gt;
 Kernel IP routeing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 192.168.196.0   *               255.255.255.0   U     0      0        0 vmnet8&lt;br /&gt;
 192.168.1.0 *              255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.252.0   *               255.255.255.0   U     0      0        0 vmnet1&lt;br /&gt;
 default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
En negreta trobem la taula de rutes de la targeta de xarxa principal (eth0). Les altres targetes (vmnet8 i vmnet1), són les targetes virtuals de l'emulador de màquines Vmware. Podeu trobar més informació sobre la xarxa de vmware aquí.&lt;br /&gt;
&lt;br /&gt;
Si interpretem línia a línia:&lt;br /&gt;
&lt;br /&gt;
 192.168.1.0 *              255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
Aquesta línia s'encarrega de les adreces de xarxa Local i ens indica que la ruta per arribar a totes les adreces de xarxa local (192.168.1.0 | rang: 192.168.1.1-254) és *. L'asterisc representa que no cal passar per cap node|router|gateway per arribar a una destinació local o, el que és el mateix, que les màquines amb adreça local estan connectades directament entre elles a nivell d'enllaç.&lt;br /&gt;
&lt;br /&gt;
 default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
Aquesta línia s'encarrega de la resta d'adreces (default). El que ens indica és que el primer node pel qual hem de passar per assolir qualsevol adreça IP és el node amb IP 192.168.1.1. Aquesta màquina és la que anomenen Gateway|pasarel·la o router.&lt;br /&gt;
&lt;br /&gt;
Per tant, la forma més senzilla de consultar el nostre gateway és amb la comanda route.&lt;br /&gt;
&lt;br /&gt;
Veiem ara un exemple més complex, amb la taula de rutes d'un router amb 5 targetes de xarxa (connectat a 5 subxarxes):&lt;br /&gt;
&lt;br /&gt;
 $ /sbin/route &lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 192.168.213.0   *               255.255.255.0   U     0      0        0 eth2&lt;br /&gt;
 192.168.0.0 *              255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.217.0   *               255.255.255.0   U     0      0        0 eth4&lt;br /&gt;
 192.168.216.0   *               255.255.255.0   U     0      0        0 eth3&lt;br /&gt;
 192.168.10.0*              255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
 169.254.0.0 *              255.255.0.0     U     0      0        0 eth4&lt;br /&gt;
 default         192.168.10.1    0.0.0.0         UG    0      0        0 eth1&lt;br /&gt;
&lt;br /&gt;
Com podem veure hi ha 5 targetes de xarxa o NICs (eth0,eth1,eth2,eth3,eth4), 5 subxarxes de clase C (192.168.0.0, 192.168.10.0, 192.168.213.0, 192.168.216.0, 192.168.217.0) i una subxarxa de clase B (169.254.0.0). Per tant aquesta xarxa té 6 subxarxes connectades entre elles per un router i connectades a Internet a través del gateway 192.168.10.1 que està a la subxarxa 192.168.10.0.&lt;br /&gt;
&lt;br /&gt;
La taula de rutes d'una màquina es compon de dues parts. Hi ha una part fixa|estàtica que es conserva al reiniciar l'ordinador i un part cache que emmagatzema rutes temporals. Podem veure totes dues taules amb la comanda:&lt;br /&gt;
&lt;br /&gt;
 $route -CFvee&lt;br /&gt;
 Kernel IP routeing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    MSS   Window irtt&lt;br /&gt;
 192.168.196.0   *               255.255.255.0   U     0      0        0 vmnet8   0     0      0&lt;br /&gt;
 192.168.1.0 *              255.255.255.0   U     0      0        0 eth0     0     0      0&lt;br /&gt;
 192.168.252.0   *               255.255.255.0   U     0      0        0 vmnet1   0     0      0&lt;br /&gt;
 default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0     0     0      0&lt;br /&gt;
 Kernel IP routeing cache&lt;br /&gt;
 Source          Destination     Gateway         Flags Metric Ref    Use Iface    MSS   Window irtt  TOS HHRef HHUptod     SpecDst&lt;br /&gt;
 nobel.upc.es    192.168.1.33    192.168.1.33    l     0      0       14 lo       0     0      0     0   -1    0      192.168.1.33&lt;br /&gt;
 250.Red-80-58-6 192.168.1.33    192.168.1.33    l     0      0       55 lo       0     0      0     0   -1    0      192.168.1.33&lt;br /&gt;
 192.168.1.33    post2.audioscro 192.168.1.1           0      0        1 eth0     1500  0      120   0   6     0      192.168.1.33&lt;br /&gt;
 192.168.1.33    fiordland.ubunt 192.168.1.1           0      0        1 eth0     1500  0      0     10  6     0      192.168.1.33&lt;br /&gt;
 192.168.1.33    post2.audioscro 192.168.1.1           0      0        0 eth0     1500  0      0     0   -1    0      192.168.1.33&lt;br /&gt;
 192.168.1.35    192.168.1.255   192.168.1.255   ibl   0      0       38 lo       0     0      0     0   -1    0      192.168.1.33&lt;br /&gt;
 fiordland.ubunt 192.168.1.33    192.168.1.33    l     0      0        1 lo       0     0      0     0   -1    0      192.168.1.33&lt;br /&gt;
 192.168.1.33    nobel.upc.es    192.168.1.1           0      1        0 eth0     1500  0      0     0   6     0      192.168.1.33&lt;br /&gt;
 192.168.1.1     192.168.1.33    192.168.1.33    il    0      0        3 lo       0     0      0     0   -1    0      192.168.1.33&lt;br /&gt;
 post2.audioscro 192.168.1.33    192.168.1.33    l     0      0        6 lo       0     0      0     0   -1    0      192.168.1.33&lt;br /&gt;
 192.168.1.33    250.Red-80-58-6 192.168.1.1           0      0       62 eth0     1500  0      0     0   -1    0      192.168.1.33&lt;br /&gt;
 192.168.1.33    250.Red-80-58-6 192.168.1.1           0      0       62 eth0     1500  0      0     0   6     0      192.168.1.33&lt;br /&gt;
 localhost       localhost       localhost       l     0      1        0 lo       16436 0      0     0   2     1         localhost&lt;br /&gt;
 *               255.255.255.255 255.255.255.255 bl    0      0        3 lo       0     0      0     0   -1    0      192.168.1.33&lt;br /&gt;
&lt;br /&gt;
La cache s'omple a mesura que s'utilitzen recursos de xarxa. Podem destacar (en negreta) la taula de rutes de localhost (127.0) a la interfície de loopback (lo).&lt;br /&gt;
&lt;br /&gt;
Ara veiem alguns exemples de manipulació de la taula de rutes:&lt;br /&gt;
&lt;br /&gt;
 route add -net 127.0.0.0&lt;br /&gt;
&lt;br /&gt;
Afegeix la entrada normal de loopback (normalment ja ho tenim configurat així)&lt;br /&gt;
&lt;br /&gt;
 route add -net 192.56.76.0 netmask 255.255.255.0 eth0&lt;br /&gt;
&lt;br /&gt;
Afegeix una ruta a la xarxa 192.56.76.x a través de la targeta de xarxa eth0. La màscara de classe C 255.255.255.0 no és necessària perquè la xarxa 192.56.76.0 és de classe C.&lt;br /&gt;
&lt;br /&gt;
 route add default gw gateway-machine-name&lt;br /&gt;
&lt;br /&gt;
Aquesta comanda configura un gateway. La passarel·la·la ha de ser accessible per xarxa local o sinó caldrà afegir una ruta estàtica fins l'encaminador. Per tal de tenir la línia de la taula de rutes següent (extreta de l'exemple anterior):&lt;br /&gt;
&lt;br /&gt;
   default         192.168.10.1    0.0.0.0         UG    0      0        0 eth1&lt;br /&gt;
&lt;br /&gt;
Hauríem d'executar&lt;br /&gt;
&lt;br /&gt;
 route add default gw 192.168.10.1 eth1&lt;br /&gt;
&lt;br /&gt;
Per esborrar-lo:&lt;br /&gt;
&lt;br /&gt;
 route del default gw 192.168.10.1 eth1&lt;br /&gt;
&lt;br /&gt;
La següent comanda elimina una ruta de la taula de rutes:&lt;br /&gt;
&lt;br /&gt;
 route del -net 10.207.161.0&lt;br /&gt;
&lt;br /&gt;
El fitxer que emmagatzema físicament la taula de rutes actual és /proc/net/route.&lt;br /&gt;
&lt;br /&gt;
 '''NOTA:''' És important recordar que de la mateixa manera que succeïx amb ifconfig, les rutes afegides amb la comanda route&lt;br /&gt;
 es perden al reiniciar o al  apagar la interfície de xarxa. Veieu el fitxer [[Xarxes_Linux#.2Fetc.2Fnetwork.2Finterfaces | /etc/network/interfaces] &lt;br /&gt;
 per tal d'afegir rutes de forma permanent.&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' net-tools&lt;br /&gt;
*'''Path:''' /sbin/route (podeu trobar el camí de la comanda executant which route)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man8/route.8.html man route]&lt;br /&gt;
&lt;br /&gt;
====Missatges d'error de la comanda route====&lt;br /&gt;
&lt;br /&gt;
Els missatges d'error són una mica críptics. Anem a veure com funcionen...&lt;br /&gt;
&lt;br /&gt;
Hi ha dos tipus:&lt;br /&gt;
&lt;br /&gt;
*'''SIOCDELRT''': és un missatge d'error que succeïx quan s'està esborrant una ruta ('''DEL'''eting  '''R'''ou'''T'''e)&lt;br /&gt;
*'''SIOCDELRT''': és un missatge d'error que succeïx quan s'està afegint una ruta ('''ADD'''ing  '''R'''ou'''T'''e)&lt;br /&gt;
&lt;br /&gt;
'''Errors típics''':&lt;br /&gt;
&lt;br /&gt;
'''IOCADDRT: Network is unreachable'''&lt;br /&gt;
&lt;br /&gt;
Per exemple la comanda&lt;br /&gt;
&lt;br /&gt;
 $ sudo route add default gw 1.2.3.4&lt;br /&gt;
&lt;br /&gt;
Pot donar aquest error si el gateway 1.2.3.4 no està directament connectat al mateix segment de xarxa que la màquina on executem aquesta comanda.&lt;br /&gt;
&lt;br /&gt;
'''IOCADDRT: File exists'''&lt;br /&gt;
&lt;br /&gt;
S'està afegint una ruta que ja existeix.&lt;br /&gt;
&lt;br /&gt;
'''SIOCADDRT: No such device'''&lt;br /&gt;
     You omitted the gw keyword before the default gateway address, as in:&lt;br /&gt;
            route add -net 10.2.2.76/24 10.1.1.22                              wrong&lt;br /&gt;
&lt;br /&gt;
'''SIOCDELRT No such process'''&lt;br /&gt;
&lt;br /&gt;
S'està intentant esborrar una ruta que no existeix. Llisteu les rutes amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo route -n&lt;br /&gt;
&lt;br /&gt;
I comproveu quin és l'error que esteu cometent.&lt;br /&gt;
&lt;br /&gt;
'''SIOCADDRT: Operation not supported by device'''&lt;br /&gt;
&lt;br /&gt;
S'està ometen el paràmetre gw:&lt;br /&gt;
&lt;br /&gt;
 $ sudo route add -net 10.0.0.0/8 10.1.1.254                               &lt;br /&gt;
 $ sudo route add -net 172.23.24.128/25                                    &lt;br /&gt;
&lt;br /&gt;
Són incorrectes:&lt;br /&gt;
&lt;br /&gt;
 $ sudo route add -net 10.0.0.0/8 gw 10.1.1.254                    &lt;br /&gt;
 $ sudo route add -net 172.23.24.128/25 gw 10.1.1.22             &lt;br /&gt;
&lt;br /&gt;
'''SIOCADDRT: Operation not permitted'''&lt;br /&gt;
&lt;br /&gt;
No s'està executant route com a superusuari. Poseu el sudo davant.&lt;br /&gt;
&lt;br /&gt;
'''SIOCADDRT: Invalid argument'''&lt;br /&gt;
&lt;br /&gt;
Exemples incorrectes:&lt;br /&gt;
&lt;br /&gt;
 $ sudo route add -net 10.2.2.0 gw 10.1.1.254                             &lt;br /&gt;
 $ sudo route del -net 172.23.0.0                                         &lt;br /&gt;
&lt;br /&gt;
Falta la màscara. Correcte:&lt;br /&gt;
&lt;br /&gt;
 $ sudo route add -net 10.2.2.0 netmask 255.255.255.0 gw 10.1.1.254&lt;br /&gt;
 $ sudo route add -net 10.2.2.0/24 gw 10.1.1.254                                 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.google.es/search?hl=ca&amp;amp;client=firefox-a&amp;amp;rls=com.ubuntu:en-US:unofficial&amp;amp;hs=EhL&amp;amp;sa=X&amp;amp;oi=spell&amp;amp;resnum=0&amp;amp;ct=result&amp;amp;cd=1&amp;amp;q=route+command+error+messages&amp;amp;spell=1&lt;br /&gt;
&lt;br /&gt;
===netstat===&lt;br /&gt;
&lt;br /&gt;
Consulteu [[netstat]].&lt;br /&gt;
&lt;br /&gt;
===ip===&lt;br /&gt;
&lt;br /&gt;
 {{nota| Si busqueu el protocol de xarxa IP consulteu [[IP]]}}&lt;br /&gt;
&lt;br /&gt;
ip és l'eina de nova generació pensada per substituir eines com ifconfig o route. Es proporcionada per [[LARTC]] (Linux Advanced Routing an Traffic Control)&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' iproute&lt;br /&gt;
*'''Path:''' /sbin/ip (podeu trobar el camí de la comanda executant which ip)&lt;br /&gt;
*'''Manual''':[http://www.die.net/doc/linux/man/man7/ip.7.html man ip] &lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*http://linux-ip.net/html/tools-ip-address.html&lt;br /&gt;
&lt;br /&gt;
==== ip link ====&lt;br /&gt;
&lt;br /&gt;
Exemples:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip link show eth0&lt;br /&gt;
 2: eth0: &amp;lt;NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP&amp;gt; mtu 1500 qdisc pfifo_fast state DOWN qlen 1000&lt;br /&gt;
    link/ether 00:1d:09:59:10:39 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
&lt;br /&gt;
Activar [[mode promiscu]]:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip link set eth0 promisc on&lt;br /&gt;
&lt;br /&gt;
Per desactivar-lo:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip link set eth0 promisc off&lt;br /&gt;
&lt;br /&gt;
====ip route====&lt;br /&gt;
&lt;br /&gt;
L'ordre '''ip route''' s'utilitza per configurar les rutes i està pensada per substituir route. A diferència de route permet Policy Routing (route només permet encaminar segons la IP de destinació) Vegeu:&lt;br /&gt;
&lt;br /&gt;
 http://lartc.org/howto/lartc.iproute2.html#LARTC.IPROUTE2.WHY&lt;br /&gt;
&lt;br /&gt;
i [[lartc]].&lt;br /&gt;
&lt;br /&gt;
Per exemple la comanda:&lt;br /&gt;
&lt;br /&gt;
 $ sudo route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.20&lt;br /&gt;
&lt;br /&gt;
És equivalent a:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route add dev eth0 to 192.168.10.0/24 via 192.168.1.20&lt;br /&gt;
&lt;br /&gt;
Per entendre les tècniques d'Advanced Routing cal entendre com el nucli del sistema encamina:&lt;br /&gt;
&lt;br /&gt;
:1) Primer es consulta el cache d'encaminament ([http://linux-ip.net/html/routing-cache.html routing cache]). ES tracta d'una taula hash en memòria RAM que conté les rutes utilitzades recentment i permet encaminar de forma més ràpida. Si es troba una entrada a la cache aleshores s'aplica i no es continua el procés.&lt;br /&gt;
:2) Si no hi ha entrada a la cache, aleshores el kernel comença el procés de selecció de ruta (route selection)&lt;br /&gt;
:3) El nucli itera per prioritat a la base de dades d'encaminament (RPDB o Routing Policy DataBase). Per cada coincidència a la RPDB el nucli intenta trobar una ruta coincident a la ip de destinació a la taula de rutes especificada.&lt;br /&gt;
&lt;br /&gt;
 For each matching entry in the RPDB, the kernel will try to find a matching route to the destination IP address in the specified routing table using the aforementioned &lt;br /&gt;
 longest prefix match selection algorithm ([[LPM]] o [[Longest Prefix Match]] [http://en.wikipedia.org/wiki/Longest_prefix_match]). When a matching destination is found, the &lt;br /&gt;
 kernel will select the matching route, and forward the packet. If no matching entry is found in the &lt;br /&gt;
 specified routing table, the kernel will pass to the next rule in the RPDB, until it finds a match or falls through the end of the RPDB and all consulted routing tables.&lt;br /&gt;
&lt;br /&gt;
Table 4.1. Keys used for hash table lookups during route selection&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! route cache&lt;br /&gt;
! RPDB 2&lt;br /&gt;
! route table&lt;br /&gt;
|-&lt;br /&gt;
| destination&lt;br /&gt;
| source&lt;br /&gt;
| destination&lt;br /&gt;
|-&lt;br /&gt;
| ToS&lt;br /&gt;
| ToS&lt;br /&gt;
| scope&lt;br /&gt;
|-&lt;br /&gt;
| fwmark&lt;br /&gt;
| fwmark&lt;br /&gt;
| oif&lt;br /&gt;
|-&lt;br /&gt;
| iif&lt;br /&gt;
| iif&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The route cache (also the forwarding information base) can be displayed using ip route show cache. The routing policy database (RPDB) can be manipulated with the ip rule utility. Individual route tables can be manipulated and displayed with the ip route command line tool.&lt;br /&gt;
&lt;br /&gt;
Example 4.5. Listing the Routing Policy Database (RPDB)&lt;br /&gt;
&lt;br /&gt;
[root@isolde]# ip rule show&lt;br /&gt;
0:      from all lookup local&lt;br /&gt;
32766:  from all lookup main&lt;br /&gt;
32767:  from all lookup 253&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
Observation of the output of ip rule show in Example 4.5, “Listing the Routing Policy Database (RPDB)” on a box whose RPDB has not been changed should reveal a high priority rule, rule 0. This rule, created at RPDB initialization, instructs the kernel to try to find a match for the destination in the local routing table. If there is no match for the packet in the local routing table, then, per rule 32766, the kernel will perform a route lookup in the main routing table. Normally, the main routing table will contain a default route if not a more specific route. Failing a route lookup in the main routing table the final rule (32767) instructs the kernel to perform a route lookup in table 253.&lt;br /&gt;
&lt;br /&gt;
A common mistake when working with multiple routing tables involves forgetting about the statelessness of IP routing. This manifests when the user configuring the policy routing machine accounts for outbound packets (via fwmark, or ip rule selectors), but forgets to account for the return packets.&lt;br /&gt;
4.5.3. Summary&lt;br /&gt;
&lt;br /&gt;
For more ideas on how to use policy routing, how to work with multiple routing tables, and how to troubleshoot, see Section 10.3, “Using the Routing Policy Database and Multiple Routing Tables”.&lt;br /&gt;
&lt;br /&gt;
Yeah. That's it. So there. &lt;br /&gt;
&lt;br /&gt;
===== Script per reiniciar totes les rutes i normes =====&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
     #During debugging, show pre-execution conditions&lt;br /&gt;
     echo ***Before&lt;br /&gt;
     echo ...Rules...&lt;br /&gt;
     ip ru sh&lt;br /&gt;
     echo ...Routes...&lt;br /&gt;
     ip ro sh&lt;br /&gt;
     echo ...Rules for table WAN1...&lt;br /&gt;
     ip ro sh table WAN1&lt;br /&gt;
     echo ...Rules for table WAN2...&lt;br /&gt;
     ip ro sh table WAN2&lt;br /&gt;
     echo&lt;br /&gt;
 &lt;br /&gt;
 #This script flushes all routes and rules, EXCEPT those specified to remain&lt;br /&gt;
 # Copyright, 2003, Carol Anne Ogdin.  This script is freely available&lt;br /&gt;
 # for use under the terms of the GNU General Public License published at&lt;br /&gt;
 # http://www.gnu.org/copyleft/gpl.html.  Any improvements/enhancements&lt;br /&gt;
 # gratefully accepted; send them to caogdin (at) deepwoods (dot) com.&lt;br /&gt;
 &lt;br /&gt;
 # (Constants for the script)&lt;br /&gt;
 # We must know the device names of interfaces (such as our local LAN, and  lo)&lt;br /&gt;
 #  that should NEVER be taken down, so we can retain LAN-based control of  the&lt;br /&gt;
 #  router (where our administrator is working).  For AWK, they're separated&lt;br /&gt;
 #  by an &amp;quot;or&amp;quot; operator (vertical bar)&lt;br /&gt;
 &lt;br /&gt;
 iifs=&amp;quot;eth0|lo&amp;quot;                # interfaces we never touch (awk regexp)&lt;br /&gt;
 &lt;br /&gt;
 # Next, we need to know the non-standard tables (if any) we use.  Again,for&lt;br /&gt;
 #  AWK, these need to be separated by vertical bars.&lt;br /&gt;
 #  (In a future version, this information could be obtained by parsing&lt;br /&gt;
 #  /etc/iproute2/rt_tables&lt;br /&gt;
 &lt;br /&gt;
 ours=&amp;quot;WAN1|WAN2&amp;quot;              # our table/lookup names used (awk regexp)&lt;br /&gt;
 &lt;br /&gt;
 # (End of constants)&lt;br /&gt;
 &lt;br /&gt;
 keepers=&amp;quot;dev ($iifs)&amp;quot;         # devices NOT to be removed&lt;br /&gt;
 tables=&amp;quot;lookup ($ours)&amp;quot;       # rules that look like this are to be removed&lt;br /&gt;
 &lt;br /&gt;
 # Initialize, and clean up any lingering stuff from prior test executions&lt;br /&gt;
 # Step 1: Remove all default route(s), if any&lt;br /&gt;
 #    Note a condition of this script:  Every ip ro sh and ip ru sh must&lt;br /&gt;
 #    produce lines that are complete entries.  The only exception is the&lt;br /&gt;
 #    &amp;quot;default&amp;quot; route which is separately deleted first because, if you're&lt;br /&gt;
 #    configured for &amp;quot;split access,&amp;quot; (see LARTC) may display on several&lt;br /&gt;
 #    successive lines.&lt;br /&gt;
 &lt;br /&gt;
 ip route delete default &amp;amp;&amp;gt;/dev/null  # Always get rid of default first&lt;br /&gt;
 &lt;br /&gt;
   # How the AWK program is constructed to delete all routes on $iifs&lt;br /&gt;
   # $0 !~ $keepers {{       Select only lines that aren't to be kept&lt;br /&gt;
   # print &amp;quot;ip route delete &amp;quot;Issue the command-building command&lt;br /&gt;
   # $0                        and output the routing table entry as  arguments&lt;br /&gt;
   # | &amp;quot;bash&amp;quot; }              Finally, pipe the constructed command to bash&lt;br /&gt;
 # Step 2: Remove main routes not excluded by $keepers&lt;br /&gt;
 &lt;br /&gt;
 ip route show | awk -v k=&amp;quot;$keepers&amp;quot; '$0 !~ k \&lt;br /&gt;
     { print &amp;quot; ip route delete &amp;quot; $0 | &amp;quot;bash&amp;quot; }'&lt;br /&gt;
 &lt;br /&gt;
 # Step 3: Remove all routes from our tables&lt;br /&gt;
 for wan in ${ours//|/ }; do&lt;br /&gt;
   ip route flush table $wan &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Remove all our rules&lt;br /&gt;
   # How the AWK program is constructed to get the results we want&lt;br /&gt;
   # $0 ~ $tables {{         Select only lines that are to be removed&lt;br /&gt;
   # sub(/from all /,&amp;quot;&amp;quot;);    For those lines, delete any &amp;quot;from all &amp;quot; string&lt;br /&gt;
   # print &amp;quot;ip rule delete &amp;quot; Issue the command-building command&lt;br /&gt;
   # substr($0, 8)             and output all except the rule #&lt;br /&gt;
   # | &amp;quot;bash&amp;quot; }              Finally, pipe the constructed command to bash&lt;br /&gt;
 &lt;br /&gt;
 ip rule show | awk -v k=&amp;quot;$tables&amp;quot; '$0 ~ k \&lt;br /&gt;
     { sub(/from all/,&amp;quot;&amp;quot;); print &amp;quot;ip rule delete &amp;quot; substr($0, 8) | &amp;quot;bash&amp;quot; }'&lt;br /&gt;
 &lt;br /&gt;
 ip route flush cache        # Flush the cache so nothing lingers&lt;br /&gt;
 &lt;br /&gt;
 # End of GNU General Public Licensed script.&lt;br /&gt;
 &lt;br /&gt;
     # While testing this script:  Show results.&lt;br /&gt;
     echo&lt;br /&gt;
     echo ***After&lt;br /&gt;
     echo ...Rules...&lt;br /&gt;
     ip ru sh&lt;br /&gt;
     echo ...Routes...&lt;br /&gt;
     ip ro sh&lt;br /&gt;
     echo ...Rules for table WAN1...&lt;br /&gt;
     ip ro sh table WAN1&lt;br /&gt;
     echo ...Rules for table WAN2...&lt;br /&gt;
     ip ro sh table WAN2&lt;br /&gt;
&lt;br /&gt;
===== Tipus de normes =====&lt;br /&gt;
&lt;br /&gt;
:*'''unicast''': És la més comuna i el que s'aplica per defecte si no es diu res. L'únic que fa és indicar quina és taula que s'ha d'aplicar si es compleixen els criteris especificats. Exemples:&lt;br /&gt;
&lt;br /&gt;
 ip rule add unicast from 192.168.100.17 table 5&lt;br /&gt;
&lt;br /&gt;
és el mateix que:&lt;br /&gt;
&lt;br /&gt;
 ip rule add from 192.168.100.17 table 5&lt;br /&gt;
&lt;br /&gt;
Altres exemples:&lt;br /&gt;
&lt;br /&gt;
 ip rule add unicast iif eth7 table 5&lt;br /&gt;
 ip rule add unicast fwmark 4 table 4&lt;br /&gt;
                &lt;br /&gt;
:*'''nat''': The nat rule type is required for correct operation of stateless NAT. This rule is typically coupled with a corresponding nat route entry. The RPDB nat entry causes the kernel to rewrite the source address of an outbound packet. See Section 5.3, “Stateless NAT with iproute2” for a fuller discussion of network address translation in general.&lt;br /&gt;
&lt;br /&gt;
Exemples:&lt;br /&gt;
&lt;br /&gt;
 ip rule add nat 193.7.255.184 from 172.16.82.184&lt;br /&gt;
 ip rule add nat 10.40.0.0 from 172.40.0.0/16&lt;br /&gt;
                &lt;br /&gt;
:*'''unreachable''': Any route lookup matching a rule entry with an unreachable rule type will cause the kernel to generate an ICMP unreachable to the source address of the packet.&lt;br /&gt;
&lt;br /&gt;
 Example 4.18. unreachable rule type&lt;br /&gt;
&lt;br /&gt;
 ip rule add unreachable iif eth2 tos 0xc0&lt;br /&gt;
 ip rule add unreachable iif wan0 fwmark 5&lt;br /&gt;
 ip rule add unreachable from 192.168.7.0/25&lt;br /&gt;
             &lt;br /&gt;
:*'''prohibit''': Any route lookup matching a rule entry with a prohibit rule type will cause the kernel to generate an ICMP prohibited to the source address of the packet.&lt;br /&gt;
&lt;br /&gt;
Example 4.19. prohibit rule type&lt;br /&gt;
&lt;br /&gt;
 ip rule add prohibit from 209.10.26.51&lt;br /&gt;
 ip rule add prohibit to 64.65.64.0/18&lt;br /&gt;
 ip rule add prohibit fwmark 7&lt;br /&gt;
                &lt;br /&gt;
:*'''blackhole''': While traversing the RPDB, any route lookup which matches a rule with the blackhole rule type will cause the packet to be dropped. No ICMP will be sent and no packet will be forwarded.&lt;br /&gt;
&lt;br /&gt;
Example 4.20. blackhole rule type&lt;br /&gt;
&lt;br /&gt;
 ip rule add blackhole from 209.10.26.51&lt;br /&gt;
 ip rule add blackhole from 172.19.40.0/24&lt;br /&gt;
 ip rule add blackhole to 10.182.17.64/28&lt;br /&gt;
&lt;br /&gt;
:*'''throw''': The throw route type is a convenient route type which causes a route lookup in a routing table to fail, returning the routing selection process to the RPDB. This is useful when there are additional routing tables. Note that there is an implicit throw if no default route exists in a routing table, so the route created by the first command in the example is superfluous, although legal.&lt;br /&gt;
&lt;br /&gt;
Example 4.14. throw route types&lt;br /&gt;
&lt;br /&gt;
 ip route add throw default&lt;br /&gt;
 ip route add throw 10.79.0.0/16&lt;br /&gt;
 ip route add throw 172.16.0.0/12&lt;br /&gt;
&lt;br /&gt;
:*'''broadcast''': This route type is used for link layer devices (such as Ethernet cards) which support the notion of a broadcast address. This route type is used only in the local routing table [26] and is typically handled by the kernel.&lt;br /&gt;
&lt;br /&gt;
Example 4.8. broadcast route types&lt;br /&gt;
&lt;br /&gt;
 ip route add table local broadcast 10.10.20.255 dev eth0 proto kernel scope link src 10.10.20.67&lt;br /&gt;
 ip route add table local broadcast 192.168.43.31 dev eth4 proto kernel scope link src 192.168.43.14&lt;br /&gt;
                  &lt;br /&gt;
:*'''local''': The kernel will add entries into the local routing table when IP addresses are added to an interface. This means that the IPs are locally hosted IPs [27].&lt;br /&gt;
&lt;br /&gt;
Example 4.9. local route types&lt;br /&gt;
&lt;br /&gt;
 ip route add table local local 10.10.20.64 dev eth0 proto kernel scope host src 10.10.20.67&lt;br /&gt;
 ip route add table local local 192.168.43.12 dev eth4 proto kernel scope host src 192.168.43.14&lt;br /&gt;
                                  &lt;br /&gt;
===== Routing cache o FIB (forwarding information base) =====&lt;br /&gt;
&lt;br /&gt;
La memòria cau d'encaminament o [[aka]] [[routing cache]] o [[Forwarding Information Base]] ([[FIB]]). La seva funció és emmagatzemaar les entrades de rutes utilitzades recentment. Es tracta d'una taula Hash i es consulta abans que les taules de rutes. Si es troba una coincidència a la cache la ruta s'aplica automàticament i es deixa de provar la resta d'opcions de la resta de rutes i taules de rutes.&lt;br /&gt;
&lt;br /&gt;
Quan es fa un canvi a les rutes no s'apliquen automàticament per culpa de la memòria cau. Es poden aplicar els canvis fent un flush.&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route flush cache&lt;br /&gt;
&lt;br /&gt;
La memòria cau es pot consultar amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route show cache&lt;br /&gt;
&lt;br /&gt;
Les claus que es troben a la taula hash són:&lt;br /&gt;
&lt;br /&gt;
 TODO Compare this list with the elements identified in Table 4.1, “Keys used for hash table lookups during route selection”.&lt;br /&gt;
&lt;br /&gt;
:*'''dst, Destination Address''': The destination IP address of the packet. This is the destination address on the packet at the time of the route lookup. The address is a host address. All 32 bits are significant during this lookup. &lt;br /&gt;
:*'''src, Source Address''': The source IP address of the packet. This is the source address on the packet at the time of the route lookup. The address is a host address. All 32 bits are significant during this lookup. &lt;br /&gt;
:*'''tos, Type of Service''': The ToS marking on the packet. If there is no ToS marking on the packet (tos == 0), this lookup key is unused. If there is a ToS marking, the kernel will search for a match with this ToS value. If no matching (dst, src, tos) is found, the kernel will continue the search for a route by traversing the RPDB. &lt;br /&gt;
:*'''fwmark''': The mark on a packet added administratively by the packet filtering engine (ipchains or iptables). This mark is not part of the physical IP packet, and only exists as part of the data structure held in memory on the routing device to represent the IP packet. If there is no fwmark on the packet, this lookup key is unused. When present, the kernel will search for a matching (dst, src, tos?, fwmark) entry. If no matching entry is found, the kernel will continue the search for a route by traversing the RPDB. &lt;br /&gt;
:*'''iif, inbound interface''': The name of the interface on which the packet arrived.  &lt;br /&gt;
&lt;br /&gt;
The following attributes may be stored for each entry in the routing cache.&lt;br /&gt;
&lt;br /&gt;
:*cwnd, FIXME Window&lt;br /&gt;
:*FIXME. A) I don't know what it is. B) I don't know how to describe it. &lt;br /&gt;
:*advmss, Advertised Maximum Segment Size&lt;br /&gt;
:*src, (Preferred Local) Source Address&lt;br /&gt;
:*mtu, Maximum Transmission Unit&lt;br /&gt;
:*rtt, Round Trip Time&lt;br /&gt;
:*rttvar, Round Trip Time Variation&lt;br /&gt;
:*FIXME. Gotta find some references to this, too. &lt;br /&gt;
:*age&lt;br /&gt;
:*users&lt;br /&gt;
:*used&lt;br /&gt;
&lt;br /&gt;
TODO Collectively the hash keys uniquely identify routes in the forwarding information base (routing cache) and each entry provides attributes of the route.&lt;br /&gt;
&lt;br /&gt;
:*http://linux-ip.net/html/routing-cache.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://lartc.org/howto/index.html&lt;br /&gt;
&lt;br /&gt;
======Rutes per defecte i routing policy======&lt;br /&gt;
&lt;br /&gt;
[[Routing policy]] o política de rutes o [[encaminament]] ([http://lartc.org/lartc.html#LARTC.RPDB]) permet establir diferents polítiques segons certs criteris (segons l'usuari, la IP d'origen...). La base de dades de polítiques de rutes ([[routing policy database]]) permet tenir tenir diferents conjunts de taules de rutes. Quan el nucli del sistema operatiu (kernel) ha de prendre un decisió de rutes consulta les taules de rutes. Per defecte hi ha 3 normes:&lt;br /&gt;
&lt;br /&gt;
 $ ip rule list&lt;br /&gt;
 0:	from all lookup local &lt;br /&gt;
 32766:	from all lookup main &lt;br /&gt;
 32767:	from all lookup default &lt;br /&gt;
 &lt;br /&gt;
{{nota| La majoria de nuclis ja ho tenen activat però per poder fer routing policy cal compilar el nucli amb les opcions &amp;quot;IP: advanced router&amp;quot; i &amp;quot;IP: policy routing&amp;quot; activades}}&lt;br /&gt;
&lt;br /&gt;
{{nota|L'ordre [[route]] només modifica les taules main i local, que també és el que fa per defecte l'ordre [[ip]] si no s'indica cap taula especifica}}&lt;br /&gt;
&lt;br /&gt;
L'ordre ip rule list llista la prioritat de totes les normes. Totes les normes s'apliquen a tots els paquets ('from all'). La taula main és la que ens mostra per defecte l'ordre [[route]] i podeu observar que hi ha dues taules noves:&lt;br /&gt;
&lt;br /&gt;
:*'''local''':&lt;br /&gt;
:*'''default''': &lt;br /&gt;
&lt;br /&gt;
Amb l'ordre [[ip]] podem implementar polítiques de rutes, creant normes que s'apliquin a taules diferents a les per defecte, és a dir aquests polítiques sobreescriuen la política per defecte en certes situacions.&lt;br /&gt;
&lt;br /&gt;
Les trobareu al fitxer [[/etc/iproute2/rt_tables]]&lt;br /&gt;
&lt;br /&gt;
 cat /etc/iproute2/rt_tables &lt;br /&gt;
 #&lt;br /&gt;
 # reserved values&lt;br /&gt;
 #&lt;br /&gt;
 255	local&lt;br /&gt;
 254	main&lt;br /&gt;
 253	default&lt;br /&gt;
 0	unspec&lt;br /&gt;
 #&lt;br /&gt;
 # local&lt;br /&gt;
 #&lt;br /&gt;
 #1	inr.ruhep&lt;br /&gt;
&lt;br /&gt;
{{nota|rt és '''r'''ou'''t'''ing}}&lt;br /&gt;
&lt;br /&gt;
Les podeu mostrar amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route show table local&lt;br /&gt;
 broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1 &lt;br /&gt;
 broadcast 192.168.111.255 dev wlan0  proto kernel  scope link  src 192.168.111.29 &lt;br /&gt;
 local 192.168.111.29 dev wlan0  proto kernel  scope host  src 192.168.111.29 &lt;br /&gt;
 broadcast 192.168.111.0 dev wlan0  proto kernel  scope link  src 192.168.111.29 &lt;br /&gt;
 broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1 &lt;br /&gt;
 local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1 &lt;br /&gt;
 local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1 &lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route show table main&lt;br /&gt;
 192.168.111.0/24 dev wlan0  proto kernel  scope link  src 192.168.111.29  metric 2 &lt;br /&gt;
 169.254.0.0/16 dev wlan0  scope link  metric 1000 &lt;br /&gt;
 192.168.0.0/16 via 192.168.111.100 dev wlan0 &lt;br /&gt;
 10.0.0.0/8 via 192.168.111.100 dev wlan0 &lt;br /&gt;
 default via 192.168.111.1 dev wlan0  proto static &lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route show table default&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route show table unspec&lt;br /&gt;
 192.168.111.0/24 dev wlan0  proto kernel  scope link  src 192.168.111.29  metric 2 &lt;br /&gt;
 169.254.0.0/16 dev wlan0  scope link  metric 1000 &lt;br /&gt;
 192.168.0.0/16 via 192.168.111.100 dev wlan0 &lt;br /&gt;
 10.0.0.0/8 via 192.168.111.100 dev wlan0 &lt;br /&gt;
 default via 192.168.111.1 dev wlan0  proto static &lt;br /&gt;
 broadcast 127.255.255.255 dev lo  table local  proto kernel  scope link  src 127.0.0.1 &lt;br /&gt;
 broadcast 192.168.111.255 dev wlan0  table local  proto kernel  scope link  src 192.168.111.29 &lt;br /&gt;
 local 192.168.111.29 dev wlan0  table local  proto kernel  scope host  src 192.168.111.29 &lt;br /&gt;
 broadcast 192.168.111.0 dev wlan0  table local  proto kernel  scope link  src 192.168.111.29 &lt;br /&gt;
 broadcast 127.0.0.0 dev lo  table local  proto kernel  scope link  src 127.0.0.1 &lt;br /&gt;
 local 127.0.0.1 dev lo  table local  proto kernel  scope host  src 127.0.0.1 &lt;br /&gt;
 local 127.0.0.0/8 dev lo  table local  proto kernel  scope host  src 127.0.0.1 &lt;br /&gt;
 fe80::/64 dev wlan0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0&lt;br /&gt;
 unreachable default dev lo  table unspec  proto kernel  metric -1  error -101 hoplimit 255&lt;br /&gt;
 local ::1 via :: dev lo  table local  proto none  metric 0  mtu 16436 rtt 0.00ms rttvar 0.00ms cwnd 3 advmss 16376 hoplimit 0&lt;br /&gt;
 local fe80::21f:3cff:fe52:79c0 via :: dev lo  table local  proto none  metric 0  mtu 16436 advmss 16376 hoplimit 0&lt;br /&gt;
 ff00::/8 dev wlan0  table local  metric 256  mtu 1500 advmss 1440 hoplimit 0&lt;br /&gt;
 unreachable default dev lo  table unspec  proto kernel  metric -1  error -101 hoplimit 255&lt;br /&gt;
&lt;br /&gt;
o:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route show table 255&lt;br /&gt;
 $ sudo ip route show table 254&lt;br /&gt;
 $ sudo ip route show table 253&lt;br /&gt;
 $ sudo ip route show table 0&lt;br /&gt;
&lt;br /&gt;
'''Eliminar una norma''':&lt;br /&gt;
&lt;br /&gt;
 $ ip rule del XXXXXXXXXXXXXX&lt;br /&gt;
&lt;br /&gt;
On XXXXXXXX és el mateix que es va posar al fer el add. Si per exemple vam executar:&lt;br /&gt;
&lt;br /&gt;
 $ ip rule add from 10.0.0.10 table John&lt;br /&gt;
&lt;br /&gt;
Cal posar:&lt;br /&gt;
&lt;br /&gt;
 ip rule del from 10.0.0.10 table John&lt;br /&gt;
&lt;br /&gt;
{{nota| 0/0 indica tot (all)}}&lt;br /&gt;
&lt;br /&gt;
''' Prioritat de les normes''':&lt;br /&gt;
&lt;br /&gt;
Exemple:&lt;br /&gt;
 # ip rule add from I.P.OF.PPP0 pri 200 table PPP0&lt;br /&gt;
 # ip rule add from I.P.OF.PPP1 pri 300 table PPP1&lt;br /&gt;
&lt;br /&gt;
On '''pri''' (o priority) controla la prioritat. Quan major és el número que s'indica '''MENOR''' és la prioritat. LA prioritat va de 0 en endavant fins a la prioritat 32767 sent la 0 la més prioritària. Les taules per defecte són&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip rule show&lt;br /&gt;
 0:	from all lookup local &lt;br /&gt;
 32766:	from all lookup main &lt;br /&gt;
 32767:	from all lookup default &lt;br /&gt;
&lt;br /&gt;
És a dir la taula de rutes per a loopback/localhost és la de màxima prioritat i les taules main i default són les últimes taules.&lt;br /&gt;
&lt;br /&gt;
 {{nota| When a new packet arrives for routing (assuming the routing cache is empty), the kernel begins at the highest priority rule in the RPDB--rule 0. The kernel iterates over each rule in turn until the packet to be routed matches a rule. When this happens the kernel follows the instructions in that rule. Typically, this causes the kernel to perform a route lookup in a specified routing table. If a matching route is found in the routing table, the kernel uses that route. If no such route is found, the kernel returns to traverse the RPDB again, until every option has been exhausted. }}&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
:*http://linux-ip.net/html/tools-ip-rule.html&lt;br /&gt;
:*http://linux-ip.net/html/routing-rpdb.html&lt;br /&gt;
        &lt;br /&gt;
'''Source routing''':&lt;br /&gt;
&lt;br /&gt;
Cal afegir una nova norma a una nova taula:&lt;br /&gt;
&lt;br /&gt;
Definim la nova taula de rutes:&lt;br /&gt;
&lt;br /&gt;
 # echo 200 John &amp;gt;&amp;gt; /etc/iproute2/rt_tables&lt;br /&gt;
&lt;br /&gt;
Afegim la norma&lt;br /&gt;
&lt;br /&gt;
 # ip rule add from 10.0.0.10 table John&lt;br /&gt;
&lt;br /&gt;
 # ip rule ls&lt;br /&gt;
 0:	from all lookup local &lt;br /&gt;
 32765:	from 10.0.0.10 lookup John&lt;br /&gt;
 32766:	from all lookup main &lt;br /&gt;
 32767:	from all lookup default&lt;br /&gt;
&lt;br /&gt;
En aquest cas, abans de la taula principal (i després de local!) s'aplicarà una nova taula de rutes quan els paquet provinguin de la IP 10.0.0.10. Ara només cal definir la ruta especial per a la taula John&lt;br /&gt;
&lt;br /&gt;
 # ip route add default via 195.96.98.253 dev ppp2 table John&lt;br /&gt;
 # ip route flush cache&lt;br /&gt;
&lt;br /&gt;
{{nota| A l'exemple no oblideu de configurar també les rutes locals!}}&lt;br /&gt;
&lt;br /&gt;
Ara John utilitzarà un gateway que no és el gateway per defecte que apareix a l'ordre route!&lt;br /&gt;
&lt;br /&gt;
'''Enrutament segons una marca establerta amb iptables''':&lt;br /&gt;
&lt;br /&gt;
Crear les taules:&lt;br /&gt;
&lt;br /&gt;
 # echo 200 PPP0 &amp;gt;&amp;gt; /etc/iproute2/rt_tables&lt;br /&gt;
 # echo 201 PPP1 &amp;gt;&amp;gt; /etc/iproute2/rt_tables&lt;br /&gt;
&lt;br /&gt;
Afegir les dos entrades a la taula de rutes (xarxa local i default gw). L'exemple és amb una interfície PPP directament connectada a Internet.&lt;br /&gt;
&lt;br /&gt;
 # ip route add MY.GA.TE.WAY dev ppp0 table PPP0&lt;br /&gt;
 # ip route add default via MY.GA.TE.WAY dev ppp0 table PPP0&lt;br /&gt;
&lt;br /&gt;
i el mateix amb ppp1&lt;br /&gt;
&lt;br /&gt;
 # ip route add MY.GA.TE.WAY dev ppp1 table PPP1&lt;br /&gt;
 # ip route add default via MY.GA.TE.WAY dev ppp1 table PPP1&lt;br /&gt;
&lt;br /&gt;
Mostreu els canvis:&lt;br /&gt;
&lt;br /&gt;
 # ip route list table PPP0&lt;br /&gt;
 MY.GA.TE.WAY dev ppp0  scope link &lt;br /&gt;
 default via MY.GA.TE.WAY dev ppp0 &lt;br /&gt;
 &lt;br /&gt;
 # ip route list table PPP1&lt;br /&gt;
 MY.GA.TE.WAY dev ppp1  scope link &lt;br /&gt;
 default via MY.GA.TE.WAY dev ppp1 &lt;br /&gt;
&lt;br /&gt;
Ara marquem els paquets, per exemple marcarem els paquets d'un usuari concret:&lt;br /&gt;
&lt;br /&gt;
 $ sudo iptables -t mangle -A OUTPUT -m owner --uid-owner 108 -j MARK --set-mark 1&lt;br /&gt;
&lt;br /&gt;
L'usuari té el [[UUID]] 108.&lt;br /&gt;
&lt;br /&gt;
Alternativa que no sabem si funciona:&lt;br /&gt;
&lt;br /&gt;
 $ sudo iptables -t mangle -A OUTPUT -m owner --cmd-owner sshd -j MARK --set-mark 1 &lt;br /&gt;
    ( another sidenote: AFAIK, the '--cmd-owner' flag does not work in recent ( &amp;gt;= 2.6.15 ) kernels &lt;br /&gt;
&lt;br /&gt;
Ara afegim una norma d'enrutament:&lt;br /&gt;
&lt;br /&gt;
 # ip rule add fwmark 1 pri 100 table PPP1&lt;br /&gt;
&lt;br /&gt;
Envia tot el que tingui la marca 1 a la taula PPP1.&lt;br /&gt;
&lt;br /&gt;
Encara ens queda activar el [[SNAT]]&lt;br /&gt;
&lt;br /&gt;
 # iptables -t nat -A POSTROUTING -o ppp1 -j SNAT --to-source=I.P.OF.PPP1&lt;br /&gt;
&lt;br /&gt;
O Masquerade si la IP no és fixa:&lt;br /&gt;
&lt;br /&gt;
 # iptables -t nat -A POSTROUTING -o ppp1 -j MASQUERADE&lt;br /&gt;
 &lt;br /&gt;
També cal desactivar [[rp_filter]]&lt;br /&gt;
&lt;br /&gt;
 # echo 0 &amp;gt; /proc/sys/net/ipv4/conf/ppp1/rp_filter &lt;br /&gt;
&lt;br /&gt;
Ara cal assegurar-se que tots els paquets que entren per les interfícies de xarxa connectades a Internet, també utilizin la ruta que els asseguri que retornen per la mateixa targeta de xarxa:&lt;br /&gt;
&lt;br /&gt;
 # ip rule add from I.P.OF.PPP0 pri 200 table PPP0&lt;br /&gt;
 # ip rule add from I.P.OF.PPP1 pri 300 table PPP1&lt;br /&gt;
&lt;br /&gt;
FIxeu-vos que la prioritat d'aquestes dos normes ha de ser menor (número més alt!) que la norma ue qenvia cap a la taula PPP1 els paquets amb la marca 1.&lt;br /&gt;
&lt;br /&gt;
Finalment la taula de normes ha de quedar:&lt;br /&gt;
&lt;br /&gt;
 # ip rule list&lt;br /&gt;
 0:      from all lookup local &lt;br /&gt;
 100:    from all fwmark 0x1 lookup PPP1 &lt;br /&gt;
 200:    from I.P.OF.PPP0 lookup PPP0 &lt;br /&gt;
 300:    from I.P.OF.PPP1 lookup PPP1 &lt;br /&gt;
 32766:  from all lookup main &lt;br /&gt;
 32767:  from all lookup default &lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
:*http://linux-ip.net/html/tools-ip-rule.html&lt;br /&gt;
&lt;br /&gt;
'''Provar rutes'''&lt;br /&gt;
&lt;br /&gt;
Permet simular una petició provocant que s'inicii l'algorisme de &amp;quot;routing selection&amp;quot;. Quan s'acaba l'algorisme aleshores mostra els camí escollit.&lt;br /&gt;
&lt;br /&gt;
{{nota| En certa manera és similar a fer un ping i després consultar la cache amb: $ ip route show cache}}&lt;br /&gt;
&lt;br /&gt;
 # ip -s route get 127.0.0.1/32&lt;br /&gt;
 ip -s route get 127.0.0.1/32&lt;br /&gt;
 local 127.0.0.1 dev lo  src 127.0.0.1 &lt;br /&gt;
     cache &amp;lt;local&amp;gt;  users 1 used 1 mtu 16436 advmss 16396&lt;br /&gt;
 &lt;br /&gt;
 # ip -s route get 127.0.0.1/32&lt;br /&gt;
 local 127.0.0.1 dev lo  src 127.0.0.1 &lt;br /&gt;
     cache &amp;lt;local&amp;gt;  users 1 used 2 mtu 16436 advmss 16396&lt;br /&gt;
          &lt;br /&gt;
 TODO: Once the route cache has been emptied, new route lookups (if not by a packet, then manually with ip route get) will result in a new lookup to &lt;br /&gt;
 the kernel routing tables.&lt;br /&gt;
&lt;br /&gt;
'''Enrutament segons el TOS'''&lt;br /&gt;
&lt;br /&gt;
Suposem creada la taula 8.&lt;br /&gt;
&lt;br /&gt;
 # ip route add default via 205.254.211.254 table 8&lt;br /&gt;
 # ip rule add tos 0x08 table 8&lt;br /&gt;
 # ip route flush cache&lt;br /&gt;
 # ip rule show&lt;br /&gt;
 0:      from all lookup local &lt;br /&gt;
 32765:  from all tos 0x08 lookup 8 &lt;br /&gt;
 32766:  from all lookup main &lt;br /&gt;
 32767:  from all lookup 253&lt;br /&gt;
&lt;br /&gt;
Tingueu en compte que la nova norma s'afegeix. Ho podem canviar especificant l'opció prio i indican directament el número de prioritat. Ara qualsevol paquet que s'enruti en aquesta màquina provingui de la targeta de xarxa que provingui serà enviat a la taula 8. Si cap ruta de la taula 8 se li apliques (no és el cas ja que em definit una ruta per defecte) aleshores s'aplicaria la taula de següent prioritat (main).&lt;br /&gt;
&lt;br /&gt;
'''Especificant múltiples criteris d'encaminament'''&lt;br /&gt;
&lt;br /&gt;
 # ip rule add from 192.168.100.17 tos 0x08 fwmark 4 table 7&lt;br /&gt;
&lt;br /&gt;
'''NAT ROUTING'''&lt;br /&gt;
&lt;br /&gt;
 TODO&lt;br /&gt;
&lt;br /&gt;
 $ ip rule add nat .... &lt;br /&gt;
&lt;br /&gt;
'''Split access'''&lt;br /&gt;
&lt;br /&gt;
Si tenim 2 ADSL i hi ha peticions que venen de l'exterior (per exemple accés a servidors web amb ports DNAT) i tenim policy routing cal assegurar-se que les peticions que venen per una línia són contestades per la mateixa línia. Consulteu:&lt;br /&gt;
&lt;br /&gt;
 http://lartc.org/lartc.html#AEN268&lt;br /&gt;
&lt;br /&gt;
També es pot fer amb iptables, marques i remarcant els paquets que són d'un connexió ja establerta.&lt;br /&gt;
&lt;br /&gt;
==== ip monitor ====&lt;br /&gt;
&lt;br /&gt;
Permet monitoritzar els esdeveniments de les targetes de xarxa del sistema:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip monitor all&lt;br /&gt;
&lt;br /&gt;
Per exemple detectarà els link UP i link DOWN o els canvis a la taula [[arp]]. Per exemple&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip monitor all&lt;br /&gt;
 192.168.1.1 dev eth0 lladdr 00:25:69:3f:d5:ae STALE&lt;br /&gt;
 192.168.1.1 dev eth0 lladdr 00:25:69:3f:d5:ae STALE&lt;br /&gt;
 192.168.1.1 dev eth0 lladdr 00:25:69:3f:d5:ae REACHABLE&lt;br /&gt;
 192.168.1.1 dev eth0 lladdr 00:25:69:3f:d5:ae STALE&lt;br /&gt;
 192.168.1.1 dev eth0 lladdr 00:25:69:3f:d5:ae REACHABLE&lt;br /&gt;
 192.168.1.1 dev eth0 lladdr 00:25:69:3f:d5:ae STALE&lt;br /&gt;
 192.168.1.1 dev eth0 lladdr 00:25:69:3f:d5:ae REACHABLE&lt;br /&gt;
 192.168.1.1 dev eth0 lladdr 00:25:69:3f:d5:ae STALE&lt;br /&gt;
 192.168.1.1 dev eth0 lladdr 00:25:69:3f:d5:ae REACHABLE&lt;br /&gt;
&lt;br /&gt;
Específicament podeu monitoritzar les rutes amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip monitor route&lt;br /&gt;
 ...&lt;br /&gt;
 ff02::1:2 via ff02::1:2 dev alumnat  metric 0 &lt;br /&gt;
    cache  mtu 1500 advmss 1440 hoplimit 4294967295&lt;br /&gt;
&lt;br /&gt;
Ho podeu provar si executeu en una terminal:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip monitor route&lt;br /&gt;
&lt;br /&gt;
I sense tancar aquesta terminal a un altre terminal modifiqueu les taules de rutes, per exemple:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route add 192.168.0.0/24 via 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Per l'altre terminal apareixerà:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.0/24 via 192.168.1.1 dev wlan0 &lt;br /&gt;
&lt;br /&gt;
Si consulteu l'ajuda:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip monitor help&lt;br /&gt;
 Usage: ip monitor [ all | LISTofOBJECTS ]&lt;br /&gt;
&lt;br /&gt;
Si no s'especifica res s'aplica all.  Segons els manual ($ [[man]] ip) els objectes possibles són:&lt;br /&gt;
&lt;br /&gt;
 OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute | monitor }&lt;br /&gt;
&lt;br /&gt;
==== Exemples ====&lt;br /&gt;
&lt;br /&gt;
===== multigateway =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si teniu un ruter o màquina connectat a més d'una línia ADSL, en algun moment us trobareu que voleu accedir des de Internet a aquest router i us plantejareu la opció d'accedir-hi des de qualsevol dels dos routers. Si tenim la màquina configurada amb taules de rutes normals (sense [[policy routing]], configurades amb l'ordre [[route]] en comptes de l'ordre [[ip]]) només un dels dos routers ADSL serà el gateway per defecte.&lt;br /&gt;
&lt;br /&gt;
Imagineu el següent esquema:&lt;br /&gt;
&lt;br /&gt;
     /------\      ISP1           +----------+&lt;br /&gt;
    /-      -\     +--------------+          |&lt;br /&gt;
   / Internet |----|              | Firewall |----- Red Interna&lt;br /&gt;
   \        -/     +--------------+          |&lt;br /&gt;
    \-------/      ISP2           +----------+&lt;br /&gt;
&lt;br /&gt;
'''ISP1''': Router ADSL multilloc&lt;br /&gt;
:*IP pública del router: 77.230.8.90&lt;br /&gt;
:*IP privada del router: 192.168.11.1&lt;br /&gt;
:*IP de la interficie internet1 del firewall: 192.168.11.2 &lt;br /&gt;
:*Connectat a la interfície de xarxa internet1&lt;br /&gt;
&lt;br /&gt;
'''ISP2''': Router ADSL '''monolloc'''&lt;br /&gt;
:*IP pública del router: 80.32.57.101&lt;br /&gt;
:*IP de la interfície internet2 del firewall: 80.32.57.101&lt;br /&gt;
:*Gateway del ISP: 80.32.57.65&lt;br /&gt;
:*Connectat a la interfície de xarxa internet2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si la taula de rutes del router és només:&lt;br /&gt;
&lt;br /&gt;
 $ [[route]] -n&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 80.32.57.64     0.0.0.0         255.255.255.192 U     0      0        0 internet2&lt;br /&gt;
 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 intranet&lt;br /&gt;
 192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 internet1&lt;br /&gt;
 0.0.0.0         '''192.168.11.1'''    0.0.0.0         UG    100    0        0 internet1&lt;br /&gt;
&lt;br /&gt;
Si des de una màquina d'Internet feu un ping al ISP2:&lt;br /&gt;
&lt;br /&gt;
 $ [[ping]] 80.32.57.101&lt;br /&gt;
 PING 80.32.57.101 (80.32.57.101) 56(84) bytes of data.&lt;br /&gt;
 ^C&lt;br /&gt;
 --- 80.32.57.101 ping statistics ---&lt;br /&gt;
 117 packets transmitted, 0 received, 100% packet loss, time 116169ms&lt;br /&gt;
&lt;br /&gt;
Veureu que no respon. Però el paquet podeu comprovar que arriba a la màquina per la interfície que pertoca (internet2):&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] tcpdump -n -i internet2&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on internet2, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 05:29:12.840780 IP 80.103.175.51 &amp;gt; 80.32.57.101: ICMP echo request, id 28754, seq 10, length 64&lt;br /&gt;
 05:29:13.848222 IP 80.103.175.51 &amp;gt; 80.32.57.101: ICMP echo request, id 28754, seq 11, length 64&lt;br /&gt;
 05:29:14.856897 IP 80.103.175.51 &amp;gt; 80.32.57.101: ICMP echo request, id 28754, seq 12, length 64&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
El problema és que el paquet de resposta surt pel gateway per defecte que és el connectat a la interfície internet1 en comptes de tornar per la mateixa interfície de xarxa (internet2):&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[tcpdump]] -n -i internet1 not port 22&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on internet1, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 05:31:03.298757 IP 80.32.57.101 &amp;gt; 80.103.175.51: ICMP echo reply, id 28754, seq 120, length 64&lt;br /&gt;
 05:31:04.298311 IP 80.32.57.101 &amp;gt; 80.103.175.51: ICMP echo reply, id 28754, seq 121, length 64&lt;br /&gt;
 05:31:05.297868 IP 80.32.57.101 &amp;gt; 80.103.175.51: ICMP echo reply, id 28754, seq 122, length 64&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Anem a veure com ho podem solucionar amb policy routing. Primer cal configurar una taula de rutes per la internet2. Afegiu noves taules de rutes al fitxer [[/etc/iproute2/rt_tables]]:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[joe]] /etc/iproute2/rt_tables&lt;br /&gt;
&lt;br /&gt;
Afegiu les línies:&lt;br /&gt;
&lt;br /&gt;
 200 internet1&lt;br /&gt;
 201 internet2&lt;br /&gt;
&lt;br /&gt;
{{nota| La taula internet1 ja la creem tot i que en aquest article no al utilitzarem . El nom de la taula de rutes no té perquè ser el mateix que el de la interfície. El número indica la prioritat de la taula. Busqueu més informació a aquest mateix article i a l'ordre [[ip]]}}&lt;br /&gt;
&lt;br /&gt;
Consulteu la taula de rutes per defecte:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route list&lt;br /&gt;
 80.32.57.64/26 dev internet2  proto kernel  scope link  src 80.32.57.101 &lt;br /&gt;
 192.168.1.0/24 dev intranet  proto kernel  scope link  src 192.168.1.5 &lt;br /&gt;
 192.168.11.0/24 dev internet1  proto kernel  scope link  src 192.168.11.2 &lt;br /&gt;
 default via 192.168.11.1 dev internet1  metric 100 &lt;br /&gt;
&lt;br /&gt;
La taula de rutes internet2 encara està buida:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route list table internet2&lt;br /&gt;
&lt;br /&gt;
Afegim rutes a la taula de rutes 2. Es pot fer fàcilment copiant les rutes de la taula per defecte, la sintaxi és:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route add RUTA_COPIADA_DE_LA_TAULA_PER_DEFECTE table internet2&lt;br /&gt;
&lt;br /&gt;
És a dir:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route add 80.32.57.64/26 dev internet2  proto kernel  scope link  src 80.32.57.101 table internet2&lt;br /&gt;
 $ sudo ip route add 192.168.1.0/24 dev intranet  proto kernel  scope link  src 192.168.1.5 table internet2&lt;br /&gt;
 $ sudo ip route add 192.168.11.0/24 dev internet1  proto kernel  scope link  src 192.168.11.2 table internet2&lt;br /&gt;
&lt;br /&gt;
ara ja teniu rutes a la taula 2:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route list table internet2&lt;br /&gt;
 80.32.57.64/26 dev internet2  proto kernel  scope link  src 80.32.57.101 &lt;br /&gt;
 192.168.1.0/24 dev intranet  proto kernel  scope link  src 192.168.1.5 &lt;br /&gt;
 192.168.11.0/24 dev internet1  proto kernel  scope link  src 192.168.11.2 &lt;br /&gt;
&lt;br /&gt;
Ara només falta el gateway per defecte. A aquesta taula el gateway per defecte serà el del ISP de la connexió internet2: 80.32.57.65. Per tant:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route add default via 80.32.57.65 dev internet2  metric 100 table internet2&lt;br /&gt;
&lt;br /&gt;
Ara la taula de rutes internet2 queda:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route list table internet2&lt;br /&gt;
 80.32.57.64/26 dev internet2  proto kernel  scope link  src 80.32.57.101 &lt;br /&gt;
 192.168.1.0/24 dev intranet  proto kernel  scope link  src 192.168.1.5 &lt;br /&gt;
 192.168.11.0/24 dev internet1  proto kernel  scope link  src 192.168.11.2 &lt;br /&gt;
 default via 80.32.57.65 dev internet2  metric 100 &lt;br /&gt;
&lt;br /&gt;
Aquesta taula de rutes però encara no l'utilitza ningú. Cal afegir alguna norma (policy) de rutes. &lt;br /&gt;
&lt;br /&gt;
{{nota| El que anem a fer ara és quelcom similar al que es fa a l'article [[Load_Balancing#Squid_i_tcp_outgoing_address]]}}&lt;br /&gt;
&lt;br /&gt;
Li diem al router que els paquets amb IP d'origen la IP de la interfície internet1 surtin per la taula internet1 i el mateix amb els paquets amb IP d'origen la de la ip de la interfície internet2:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip rule add from 80.32.57.101 table internet2&lt;br /&gt;
&lt;br /&gt;
Si creesim la taula internet1 també faríem:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip rule add from 192.168.11.2 table internet1&lt;br /&gt;
&lt;br /&gt;
Ara els pings ja contesten.&lt;br /&gt;
&lt;br /&gt;
Per a comprovar el policy routing podeu utilitzar l'ordre [[traceroute]]:&lt;br /&gt;
&lt;br /&gt;
 $ sudo traceroute -n -s 80.32.57.101 www.google.com &lt;br /&gt;
 traceroute to www.google.com (66.249.92.104), 30 hops max, 60 byte packets&lt;br /&gt;
 1  '''80.32.57.65'''  4.567 ms  4.560 ms  4.742 ms&lt;br /&gt;
 2  10.0.209.129  42.872 ms  45.306 ms  47.519 ms&lt;br /&gt;
 3  80.58.53.20  51.030 ms  53.645 ms  56.080 ms&lt;br /&gt;
 4  84.16.6.69  109.057 ms  109.542 ms  110.231 ms&lt;br /&gt;
 5  84.16.13.126  86.809 ms 84.16.13.142  89.503 ms  92.189 ms&lt;br /&gt;
 6  84.16.6.106  110.836 ms 84.16.6.98  107.998 ms  110.953 ms&lt;br /&gt;
 7  209.85.250.142  113.969 ms  78.295 ms  78.643 ms&lt;br /&gt;
 8  64.233.175.115  74.147 ms  74.547 ms  74.381 ms&lt;br /&gt;
 9  66.249.92.104  78.795 ms  77.541 ms  77.295 ms&lt;br /&gt;
&lt;br /&gt;
Fixeu-vos que surt pel gateway del ISP2. En canvi amb l'altre IP:&lt;br /&gt;
&lt;br /&gt;
 $ sudo traceroute -n -s 192.168.11.2 www.google.com&lt;br /&gt;
 traceroute to www.google.com (66.249.92.104), 30 hops max, 60 byte packets&lt;br /&gt;
  1  192.168.11.1  2.389 ms  2.668 ms  2.951 ms&lt;br /&gt;
  2  * * *&lt;br /&gt;
  3  10.4.13.29  18.271 ms  19.313 ms  20.802 ms&lt;br /&gt;
  4  212.145.1.238  23.072 ms  24.005 ms  24.889 ms&lt;br /&gt;
  5  217.130.2.225  36.108 ms  36.478 ms  37.652 ms&lt;br /&gt;
  6  * * *&lt;br /&gt;
  7  * * *&lt;br /&gt;
  8  85.205.24.225  27.876 ms 85.205.24.229  25.932 ms  26.266 ms&lt;br /&gt;
  9  195.81.200.209  27.413 ms 85.205.1.254  27.527 ms  28.117 ms&lt;br /&gt;
 10  89.202.161.22  43.928 ms 216.239.49.230  28.574 ms  28.469 ms&lt;br /&gt;
 11  74.125.50.105  62.854 ms 209.85.240.28  44.139 ms  44.313 ms&lt;br /&gt;
 12  209.85.250.142  44.536 ms 66.249.95.24  43.602 ms 209.85.250.142  45.392 ms&lt;br /&gt;
 13  64.233.175.115  69.461 ms  54.987 ms  49.192 ms&lt;br /&gt;
 14  66.249.92.104  44.309 ms  44.293 ms  43.894 ms&lt;br /&gt;
&lt;br /&gt;
===== DNAT i multigateway =====&lt;br /&gt;
&lt;br /&gt;
{{nota|Consulteu abans l'apartat anterior [[Multigateway]]}}&lt;br /&gt;
&lt;br /&gt;
Continuem amb el mateix esquema que l'apartat anterior. Ara però volem fer [[DNAT]] (el que comunament es coneix com obrir un port). La idea és accedir al servidor web ([[Apache]]) d'una màquina de la xarxa interna, les dades de la màquina són;&lt;br /&gt;
&lt;br /&gt;
:*'''IP''': 192.168.1.7&lt;br /&gt;
:*'''Port''': 80&lt;br /&gt;
&lt;br /&gt;
Això ho fem amb [[iptables]]:&lt;br /&gt;
&lt;br /&gt;
 $ sudo iptables -t nat -A PREROUTING -i internet2 -p tcp --dport 8090 -j DNAT --to=192.168.1.7:80&lt;br /&gt;
&lt;br /&gt;
Fixeu-vos que la connexió es farà des de la internet2, és a dir volem que el servidor web sigui accessible amb la [[URL]]:&lt;br /&gt;
&lt;br /&gt;
 http://80.32.57.101:8090/&lt;br /&gt;
&lt;br /&gt;
Si ho proveu us donarà un error. Si tornem a depurar:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[watch]] iptables -nvL -t nat&lt;br /&gt;
 Every 2,0s: iptables -nvL -t nat                                                                                  Fri Jul 16 06:07:50  2010&lt;br /&gt;
 &lt;br /&gt;
 Chain PREROUTING (policy ACCEPT 1446 packets, 202K bytes)&lt;br /&gt;
  pkts bytes target     prot opt in     out     source               destination&lt;br /&gt;
     2   120 DNAT       tcp  --  internet2 *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8090 to:192.168.0.7:80&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Com podeu veure la norma s'aplica (2 paquets al contador de l'exemple) i els paquets arriben:&lt;br /&gt;
&lt;br /&gt;
Si feu un nmap al port us apareixerà com filtrat:&lt;br /&gt;
&lt;br /&gt;
 $ [[nmap]] -p 8090 80.32.57.101&lt;br /&gt;
 &lt;br /&gt;
 Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-16 05:59 CEST&lt;br /&gt;
 Interesting ports on 101.Red-80-32-57.staticIP.rima-tde.net (80.32.57.101):&lt;br /&gt;
 PORT     STATE    SERVICE&lt;br /&gt;
 8090/tcp filtered unknown&lt;br /&gt;
&lt;br /&gt;
I també podeu veure com rebeu els paquets:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tcpdump -n -i internet2&lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on internet2, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 06:11:19.094266 IP 80.103.175.51.45276 &amp;gt; '''80.32.57.101.8090''': Flags [S], seq 2436355941, win 5840, options [mss 1452,sackOK,TS val 29128727 ecr 0,nop,wscale 6], length 0&lt;br /&gt;
&lt;br /&gt;
Per saber per que no funciona cal tenir en compte el camí que segueix un paquet al nucli del sistema operatiu Linux:&lt;br /&gt;
&lt;br /&gt;
[[Image:Tables traverse.jpg|center|450px]]&lt;br /&gt;
&lt;br /&gt;
Citant http://bulma.net/body.phtml?nIdNoticia=2145:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Cuando un paquete va del cliente al servidor, lo primero que se encuentra (que sea relevante para esta explicación) es la lista PREROUTING de la tabla nat, donde se hace el DNAT. En el DNAT se cambia la dirección destino del paquete, y al enrutarse posteriormente, como el kernel ve que va dirigido al servidor, mete el paquete hacia la red interna.&lt;br /&gt;
&lt;br /&gt;
El problema está en que cuando las respuestas del servidor hacia el cliente pasan por el firewall, no se deshace el DNAT antes del enrutado. El kernel primero enrutará el paquete y luego le cambiará la IP origen, deshaciendo el DNAT. ¡Pero nuestro policy routing estaba enrutando según la dirección origen! Ahí esta el problema, no podemos enrutar por dirección origen los paquetes que son respuesta de otro que sufrió un proceso de DNAT.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solució és encaminar per marques combinant [[iptables]] i [[iproute]] utilitzant el mòdul d'iptables [[connection track match]] ( no confondre amb el mòdul [[conntrack]]) que s'encarrega de mantindre les taules de NAT al kernel que permeten fer i desfer NAT (tant SNAT com DNAT).&lt;br /&gt;
&lt;br /&gt;
Cal afegir les següent normes '''ABANS''' del DNAT:&lt;br /&gt;
&lt;br /&gt;
 $ sudo iptables -t mangle -I PREROUTING 1 -m conntrack --ctorigdst 80.32.57.101 -j MARK --set-mark=2&lt;br /&gt;
&lt;br /&gt;
{{important| Amb -I fem un insert i així afegim les normes abans de la norma de DNAT }}&lt;br /&gt;
&lt;br /&gt;
Comproveu que els paquets es marquen executant:&lt;br /&gt;
&lt;br /&gt;
 $ sudo watch iptables -nvL -t mangle&lt;br /&gt;
 Every 2,0s: iptables -nvL -t mangle                                                                            Fri Jul 16 06:38:37 2010&lt;br /&gt;
 &lt;br /&gt;
 Chain PREROUTING (policy ACCEPT 1073 packets, 96360 bytes)&lt;br /&gt;
  pkts bytes target     prot opt in     out     source               destination&lt;br /&gt;
    5   300 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0           ctorigdst 80.32.57.101 MARK xset 0x2/0xffffffff&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
I tornant a demanar la pàgina:&lt;br /&gt;
&lt;br /&gt;
 http://80.32.57.101:8090&lt;br /&gt;
&lt;br /&gt;
Ara només falta que encaminem segons la marca:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip rule add fwmark 2 table internet2&lt;br /&gt;
&lt;br /&gt;
Consulteu com queden les normes de [[Policy Routing]]:&lt;br /&gt;
 &lt;br /&gt;
 $ sudo ip rule list&lt;br /&gt;
 0:	from all lookup local &lt;br /&gt;
 32764:	from all fwmark 0x2 lookup internet2 &lt;br /&gt;
 32765:	from 80.32.57.101 lookup internet2 &lt;br /&gt;
 32766:	from all lookup main &lt;br /&gt;
 32767:	from all lookup default &lt;br /&gt;
&lt;br /&gt;
{{important|També cal que la màquina interna (a l'exemple 192.168.1.7) tingui com a gateway el firewall sobre el que estem aplicant les normes!}}&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
:*http://bulma.net/body.phtml?nIdNoticia=2145&lt;br /&gt;
:*http://bulma.net/body.phtml?nIdNoticia=1615&lt;br /&gt;
&lt;br /&gt;
===== Enviar cap a un gateway especific només una màquina =====&lt;br /&gt;
&lt;br /&gt;
Suposeu el següent esquema:&lt;br /&gt;
&lt;br /&gt;
:*'''Estació de treball''': 192.168.10.45. Gateway: 192.168.10.1&lt;br /&gt;
:*'''Router/Gateway''': Dos targetes de xarxa:&lt;br /&gt;
::*'''intranet''': IP: 192.168.10.1&lt;br /&gt;
::*'''internet1''': Sortida cap a Internet per defecte del router i de totes les màquines que utilitzant aquest router com a gateway. Connexió PPPoE.&lt;br /&gt;
::*'''internet2''': IP: 192.168.92.2. Connectat a un gateway amb IP: 192.168.92.1 que té connexió a una segona sortida cap a Internet. No està configurada per defecte. Esta connecta a una xarxa anomenada guifi.net que té accés a Internet.&lt;br /&gt;
&lt;br /&gt;
Cal afegir una nova taula:&lt;br /&gt;
&lt;br /&gt;
 $ sudo joe /etc/iproute2/rt_tables &lt;br /&gt;
 #&lt;br /&gt;
 # reserved values&lt;br /&gt;
 #&lt;br /&gt;
 255     local&lt;br /&gt;
 254     main&lt;br /&gt;
 253     default&lt;br /&gt;
 0       unspec&lt;br /&gt;
 #&lt;br /&gt;
 # local&lt;br /&gt;
 #&lt;br /&gt;
 #1      inr.ruhep&lt;br /&gt;
 200 guifi&lt;br /&gt;
&lt;br /&gt;
Per tal que el sistema comenci a aplicar aquesta taula:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route flush table guifi&lt;br /&gt;
&lt;br /&gt;
Si consulteu la taula per defecte:&lt;br /&gt;
 &lt;br /&gt;
 $ sudo ip route show&lt;br /&gt;
 172.31.255.254 dev ppp0  proto kernel  scope link  src 85.49.2.201 &lt;br /&gt;
 192.168.93.0/24 dev internet3  proto kernel  scope link  src 192.168.93.2 &lt;br /&gt;
 192.168.92.0/24 dev internet2  proto kernel  scope link  src 192.168.92.2 &lt;br /&gt;
 192.168.111.0/24 dev internet1  proto kernel  scope link  src 192.168.111.19 &lt;br /&gt;
 192.168.10.0/24 dev intranet  proto kernel  scope link  src 192.168.10.1 &lt;br /&gt;
 default dev ppp0  scope link &lt;br /&gt;
&lt;br /&gt;
{{nota|L'ordre anterior és equivalent a $ route -n, route només mostra la taula per defecte}}&lt;br /&gt;
&lt;br /&gt;
Ara consulteu la taula nova:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route show table guifi&lt;br /&gt;
&lt;br /&gt;
Com l'acabem de crear està buida. Anem a afegir una entrada cap a la xarxa guifi.net. Per fer-ho a la taula de rutes per defecte seria:&lt;br /&gt;
&lt;br /&gt;
 $ sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.92.1&lt;br /&gt;
&lt;br /&gt;
{{nota|guifi.net és una xarxa privada de classe A: 10.0.0.0/8 o 10.0.0.0/255.0.0.0}}&lt;br /&gt;
&lt;br /&gt;
A la taula per defecte quedaria:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route show &lt;br /&gt;
 172.31.255.254 dev ppp0  proto kernel  scope link  src 85.49.2.201 &lt;br /&gt;
 192.168.93.0/24 dev internet3  proto kernel  scope link  src 192.168.93.2 &lt;br /&gt;
 192.168.92.0/24 dev internet2  proto kernel  scope link  src 192.168.92.2 &lt;br /&gt;
 192.168.111.0/24 dev internet1  proto kernel  scope link  src 192.168.111.19 &lt;br /&gt;
 192.168.10.0/24 dev intranet  proto kernel  scope link  src 192.168.10.1 &lt;br /&gt;
 '''10.0.0.0/8 via 192.168.92.1 dev internet2'''&lt;br /&gt;
 default dev ppp0  scope link &lt;br /&gt;
&lt;br /&gt;
Però no volem posar-ho en aquesta taula:&lt;br /&gt;
&lt;br /&gt;
 $ sudo route del -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.92.1&lt;br /&gt;
&lt;br /&gt;
Per afegir rutes a taules que no siguin la per defecte cal utilitzar [[ip route]].&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route add table guifi 10.0.0.0/8 via 192.168.92.1 dev internet2&lt;br /&gt;
&lt;br /&gt;
Ara la taula ja té una ruta:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip route show table guifi&lt;br /&gt;
 10.0.0.0/8 via 192.168.92.1 dev internet2 &lt;br /&gt;
&lt;br /&gt;
Ara només cal utilitzar aquesta ruta afegir una política de rutes (ip rule). Per defecte només s'apliquen les polítiques per defecte:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip rule show&lt;br /&gt;
 0:	from all lookup local &lt;br /&gt;
 32766:	from all lookup main &lt;br /&gt;
 32767:	from all lookup default &lt;br /&gt;
&lt;br /&gt;
Per afegir una nova norma:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip rule add from 192.168.10.45 lookup guifi &lt;br /&gt;
 0:	from all lookup local &lt;br /&gt;
 '''32765:	from 192.168.10.45 lookup guifi '''&lt;br /&gt;
 32766:	from all lookup main &lt;br /&gt;
 32767:	from all lookup default&lt;br /&gt;
&lt;br /&gt;
Ara només queda afegir el [[SNAT]]:&lt;br /&gt;
 &lt;br /&gt;
 $ sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o internet2 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
L'única màquina que utilitza aquest gateway és la 192.168.10.45. Qualsevol altre (inclòs el router!) surt pel gateway per defecte del router.&lt;br /&gt;
&lt;br /&gt;
===traceroute===&lt;br /&gt;
&lt;br /&gt;
Per instal·lar traceroute:&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[apt-get]] install traceroute&lt;br /&gt;
&lt;br /&gt;
Hi ha diferents implementacions de traceroute. Si executeu:&lt;br /&gt;
&lt;br /&gt;
 $ [[whereis]] traceroute&lt;br /&gt;
 traceroute: /usr/bin/traceroute /usr/bin/traceroute.db /usr/bin/traceroute6.iputils /usr/bin/traceroute6.db /usr/sbin/traceroute /usr/share/man/man8/traceroute.8.gz&lt;br /&gt;
&lt;br /&gt;
Si busqueu el paquet:&lt;br /&gt;
&lt;br /&gt;
 $ [[dpkg]] -S /usr/bin/traceroute&lt;br /&gt;
 ...&lt;br /&gt;
 dpkg: /usr/bin/traceroute no trobat.&lt;br /&gt;
&lt;br /&gt;
Esteu utilitzant /usr/bin/traceroute.db i l'instal·la el paquet del mateix nom [[traceroute]]. Després s'utilitza [[alternatives]] per indicar la implementació de traceroute que volem utilitzar:&lt;br /&gt;
 &lt;br /&gt;
 $ [[update-alternatives]] --display traceroute&lt;br /&gt;
 traceroute - auto mode&lt;br /&gt;
  l'enllaç apunta actualment cap a /usr/bin/traceroute.db&lt;br /&gt;
 /usr/bin/traceroute.db - prioritat 100&lt;br /&gt;
  esclau traceroute.8.gz: /usr/share/man/man8/traceroute.db.8.gz&lt;br /&gt;
  esclau traceroute.sbin: /usr/bin/traceroute.db&lt;br /&gt;
 Actualment la «millor» versió és /usr/bin/traceroute.db. &lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Traceroute Traceroute] és una comanda que s'utilitza per determinar quina ruta segueixen els paquets IP (per quins gateways o routers passen) per tal d'arribar a una màquina concreta. Exemple:&lt;br /&gt;
&lt;br /&gt;
 $ traceroute www.google.es&lt;br /&gt;
 traceroute: Warning: www.google.es has multiple addresses; using 216.239.59.99&lt;br /&gt;
 traceroute to www.l.google.com (216.239.59.99), 30 hops max, 40 byte packets&lt;br /&gt;
 1  192.168.1.1 (192.168.1.1)  0.713 ms  0.482 ms  0.455 ms&lt;br /&gt;
 2  192.168.153.1 (192.168.153.1)  50.780 ms  51.935 ms  49.973 ms&lt;br /&gt;
 3  97.Red-81-46-52.staticIP.rima-tde.net (81.46.52.97)  55.980 ms  218.281 ms  51.631 ms&lt;br /&gt;
 4  * * *&lt;br /&gt;
 5  * * *&lt;br /&gt;
 6  P12-0-grtlontl2.red.telefonica-wholesale.net (213.140.43.146)  99.036 ms  97.985 ms  98.048 ms&lt;br /&gt;
 7  72.14.198.9 (72.14.198.9)  98.103 ms  99.954 ms  98.049 ms&lt;br /&gt;
 8  66.249.95.107 (66.249.95.107)  109.915 ms  109.821 ms  108.130 ms&lt;br /&gt;
 9  72.14.232.241 (72.14.232.241)  107.947 ms 64.233.174.185 (64.233.174.185)  108.198 ms  126.053 ms&lt;br /&gt;
 10  216.239.49.126 (216.239.49.126)  111.904 ms  112.058 ms  111.769 ms&lt;br /&gt;
 11  216.239.59.99 (216.239.59.99)  110.163 ms  107.823 ms  108.138 ms&lt;br /&gt;
&lt;br /&gt;
Amb l'opció -n no s'intenta resoldre les IPs a noms de màquina. Els 3 últims camps són els temps del viatge d'anada i tornada de les tres proves que realitza traceroute per cada TTL.&lt;br /&gt;
&lt;br /&gt;
{{important|Si no hi ha resposta en 5 segons, aleshores es mostra un '''*'''}}&lt;br /&gt;
&lt;br /&gt;
Els asteriscs són màquines de la ruta que per protecció o errors de protocol no es poden mostrar.&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' sovint els asterisc es poden solucionar executant traceroute com a superusuari:&lt;br /&gt;
&lt;br /&gt;
 $ sudo traceroute www.google.es&lt;br /&gt;
 Password:&lt;br /&gt;
 traceroute: Warning: www.google.es has multiple addresses; using 216.239.59.99&lt;br /&gt;
 traceroute to www.l.google.com (216.239.59.99), 30 hops max, 40 byte packets&lt;br /&gt;
 1  192.168.1.1 (192.168.1.1)  0.469 ms  0.496 ms  0.429 ms&lt;br /&gt;
 2  192.168.153.1 (192.168.153.1)  50.701 ms  47.989 ms  48.041 ms&lt;br /&gt;
 3  97.Red-81-46-52.staticIP.rima-tde.net (81.46.52.97)  51.949 ms  52.153 ms  51.969 ms&lt;br /&gt;
 4  33.Red-81-46-5.staticIP.rima-tde.net (81.46.5.33)  63.792 ms  63.746 ms  64.027 ms&lt;br /&gt;
 5  84.16.8.125 (84.16.8.125)  62.078 ms  64.046 ms  64.030 ms&lt;br /&gt;
 6  P12-0-grtlontl2.red.telefonica-wholesale.net (213.140.43.146)  98.030 ms  99.910 ms  98.018 ms&lt;br /&gt;
 7  72.14.198.9 (72.14.198.9)  98.140 ms  97.968 ms  98.028 ms&lt;br /&gt;
 8  66.249.95.107 (66.249.95.107)  109.928 ms  110.080 ms  109.853 ms&lt;br /&gt;
 9  64.233.174.185 (64.233.174.185)  109.930 ms 72.14.232.241 (72.14.232.241)  110.133 ms  109.800 ms&lt;br /&gt;
 10  216.239.49.114 (216.239.49.114)  114.104 ms  114.010 ms  109.848 ms&lt;br /&gt;
 11  216.239.59.99 (216.239.59.99)  110.093 ms  110.094 ms  109.865 ms&lt;br /&gt;
&lt;br /&gt;
'''NOTA 2''': Els paquets no sempre segueixen el mateix camí per arribar a un destinatari tal i com podeu comprovar en els nodes 9 i 10 de l'exemple anterior...&lt;br /&gt;
&lt;br /&gt;
Actualment molts tallafocs impedeixen els paquets necessaris per tal que funcioni correctament traceroute. Per aquesta raó l'ordre premet provar amb diferents mètodes:&lt;br /&gt;
&lt;br /&gt;
:*'''default''': és el mètode tradicional i l'utilitzat per defecte. Aquest mètode el pot executar qualsevol usuari. S'envien paquets UDP amb ports poc probables (per defecte 33434 i es va augmentant). S'esperant missatges &amp;quot;icmp unreach port&amp;quot;&lt;br /&gt;
:*'''icmp''': Opció -I. Si es pot fer un ping a totes les màquines de la ruta, també s'hauria de poder fer aquest tipus de tracerouting.&lt;br /&gt;
:*'''tcp''': Opció -T. Utilitza el port 80&lt;br /&gt;
&lt;br /&gt;
Hi ha algunes utilitats relacionades amb traceroute que poden ser interessants:&lt;br /&gt;
&lt;br /&gt;
*http://www.mapulator.com/: Utilitza traceroute junt amb Google Maps per tal de dibuixar una ruta física entre dues màquines en un mapa de Google.&lt;br /&gt;
*http://paris-traceroute.net/download.htm &lt;br /&gt;
&lt;br /&gt;
L'ordre:&lt;br /&gt;
&lt;br /&gt;
 $ traceroute6&lt;br /&gt;
&lt;br /&gt;
és equivalent a:&lt;br /&gt;
&lt;br /&gt;
 $ traceroute -6&lt;br /&gt;
&lt;br /&gt;
És a dir és fa un traceroute amb [[IPv6]]. Es necessita connectivitat IPv6.&lt;br /&gt;
&lt;br /&gt;
Vegeu també [[tracert]]. &lt;br /&gt;
&lt;br /&gt;
L'ordre ping també es pot utilitzar per traçar rutes:&lt;br /&gt;
&lt;br /&gt;
 $ ping -nR www.xtec.cat&lt;br /&gt;
 PING xtec.cat (213.176.161.13) 56(124) bytes of data.&lt;br /&gt;
 64 bytes from 213.176.161.13: icmp_seq=1 ttl=251 time=54.3 ms&lt;br /&gt;
 NOP&lt;br /&gt;
 RR: 	192.168.0.46 &lt;br /&gt;
 	213.176.160.157&lt;br /&gt;
 	213.176.160.26&lt;br /&gt;
 	213.176.161.1&lt;br /&gt;
 	213.176.161.13&lt;br /&gt;
 	213.176.160.19&lt;br /&gt;
 	213.176.160.153&lt;br /&gt;
 	10.19.41.1&lt;br /&gt;
 	85.192.120.9&lt;br /&gt;
 &lt;br /&gt;
 64 bytes from 213.176.161.13: icmp_seq=2 ttl=251 time=52.9 ms&lt;br /&gt;
 NOP	(same route)&lt;br /&gt;
 64 bytes from 213.176.161.13: icmp_seq=3 ttl=251 time=53.1 ms&lt;br /&gt;
 NOP	(same route)&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' traceroute&lt;br /&gt;
*'''Path:''' /usr/sbin/traceroute (podeu trobar el camí de la comanda executant which traceroute)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man8/traceroute.8.html man traceroute] &lt;br /&gt;
&lt;br /&gt;
Una alternativa a traceroute és [[Paketto_Keiretsu#Paratrace Paratrace] de Paketto Keiretsu.&lt;br /&gt;
&lt;br /&gt;
====Com funciona traceroute====&lt;br /&gt;
&lt;br /&gt;
Traceroute utilitzar el protocol [[ICMP]]. Hi ha múltiples alternatives a l'hora d'intentar conèixer la ruta, però una de les més senzilles és enviat paquets de [[ping]] amb [[TTL]] ([[Times To Live]]) limitats. &lt;br /&gt;
&lt;br /&gt;
Per conèixer la primera màquina d'una ruta enviem un paquet ping amb TTL=1&lt;br /&gt;
&lt;br /&gt;
 $ ping -t 1 www.google.com&lt;br /&gt;
 PING www.l.google.com (209.85.227.105) 56(84) bytes of data.&lt;br /&gt;
 From Livebox-D5AC (192.168.111.1) icmp_seq=1 Time to live exceeded&lt;br /&gt;
&lt;br /&gt;
Ara ja sabeu que la primera màquina de la ruta és la 192.168.111.1. Si fem el mateix amb un TTL=2 obtindrem el nom de la segona màquina.&lt;br /&gt;
&lt;br /&gt;
Podeu anar provant augmentant, fins que el paquet ping retorni.&lt;br /&gt;
&lt;br /&gt;
====mtr. My Traceroute====&lt;br /&gt;
&lt;br /&gt;
Un altre traceroute:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -S /usr/bin/mtr&lt;br /&gt;
 mtr-tiny: /usr/bin/mtr&lt;br /&gt;
&lt;br /&gt;
 $ mtr www.upc.edu&lt;br /&gt;
&lt;br /&gt;
===tracepath===&lt;br /&gt;
&lt;br /&gt;
És una versió més senzilla de traceroute:&lt;br /&gt;
&lt;br /&gt;
 $ tracepath www.google.es&lt;br /&gt;
 1:  192.168.1.33 (192.168.1.33)                            0.135ms pmtu 1500&lt;br /&gt;
 1:  192.168.1.1 (192.168.1.1)                              0.898ms &lt;br /&gt;
 2:  192.168.1.1 (192.168.1.1)                            asymm  1   0.943ms pmtu 1492&lt;br /&gt;
 3:  97.Red-81-46-52.staticIP.rima-tde.net (81.46.52.97)   91.871ms &lt;br /&gt;
 4:  33.Red-81-46-5.staticIP.rima-tde.net (81.46.5.33)    asymm  5 105.926ms &lt;br /&gt;
 5:  84.16.8.125 (84.16.8.125)                            asymm  6 103.997ms &lt;br /&gt;
 6:  P12-0-grtlontl2.red.telefonica-wholesale.net (213.140.43.146) 137.995ms &lt;br /&gt;
 .....................&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' iputils-tracepath&lt;br /&gt;
*'''Path:''' /usr/sbin/tracepath (podeu trobar el camí de la comanda executant which tracepath)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man8/tracepath.8.html man tracepath] &lt;br /&gt;
&lt;br /&gt;
===dig===&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -S dig | grep bin&lt;br /&gt;
 dnsutils: /usr/bin/dig&lt;br /&gt;
 ..............&lt;br /&gt;
&lt;br /&gt;
Podeu trobar més exemples a [[Servidor de DNS#Comanda dig |comanda dig]].&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' dnsutils&lt;br /&gt;
*'''Path:''' /usr/bin/dig (podeu trobar el camí de la comanda executant which dig)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man1/dig.1.html man dig]&lt;br /&gt;
&lt;br /&gt;
===nslookup===&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' dnsutils&lt;br /&gt;
*'''Path:''' /usr/bin/dig (podeu trobar el camí de la comanda executant which dig)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man1/nslookup.1.html man dig]&lt;br /&gt;
&lt;br /&gt;
===host===&lt;br /&gt;
&lt;br /&gt;
Consulteu [[host]].&lt;br /&gt;
&lt;br /&gt;
===dnstracer===&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' dnstracer&lt;br /&gt;
*'''Path:''' /usr/bin/dnstracer (podeu trobar el camí de la comanda executant which dnstracer)&lt;br /&gt;
*'''Manual''': [http://www.mavetju.org/unix/dnstracer-man.php man dnstracer] &lt;br /&gt;
&lt;br /&gt;
===nmap===&lt;br /&gt;
&lt;br /&gt;
Consulteu [[nmap]]&lt;br /&gt;
&lt;br /&gt;
===ipcalc===&lt;br /&gt;
&lt;br /&gt;
[http://jodies.de/ipcalc Ipcalc] és una eina que donada una ip i la seva màscara calcula les IPs de boradcast, xarxa, Cisco wildcard Mask, el rang de màquines, el tipus de xarxa i altres informacions interessants.&lt;br /&gt;
&lt;br /&gt;
 $ ipcalc 192.168.0.1&lt;br /&gt;
&lt;br /&gt;
 Address:   192.168.0.1          11000000.10101000.00000000. 00000001&lt;br /&gt;
 Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000&lt;br /&gt;
 Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111&lt;br /&gt;
 =&amp;gt;&lt;br /&gt;
 Network:   192.168.0.0/24       11000000.10101000.00000000. 00000000&lt;br /&gt;
 HostMin:   192.168.0.1          11000000.10101000.00000000. 00000001&lt;br /&gt;
 HostMax:   192.168.0.254        11000000.10101000.00000000. 11111110&lt;br /&gt;
 Broadcast: 192.168.0.255        11000000.10101000.00000000. 11111111&lt;br /&gt;
 Hosts/Net: 254                   Class C, Private Internet&lt;br /&gt;
&lt;br /&gt;
Si no s'especifica cap màscara, s'utilitza la màscara per defecte (255.255.255.0 o 24 en notació CIDR).&lt;br /&gt;
&lt;br /&gt;
La sortida per pantalla és amb colors. Els colors ens permeten per exemple identificar els primers bits que corresponent a cada tipus de xarxa (A,B,C):&lt;br /&gt;
&lt;br /&gt;
[[Image:Ipcalc.jpg]]&lt;br /&gt;
&lt;br /&gt;
 $ ipcalc 192.168.0.1/24&lt;br /&gt;
&lt;br /&gt;
És equivalent a ipcalc 192.168.0.1&lt;br /&gt;
&lt;br /&gt;
 $ ipcalc 192.168.0.1/255.255.128.0&lt;br /&gt;
 Address:   192.168.0.1          11000000.10101000.0 0000000.00000001&lt;br /&gt;
 Netmask:   255.255.128.0 = 17   11111111.11111111.1 0000000.00000000&lt;br /&gt;
 Wildcard:  0.0.127.255          00000000.00000000.0 1111111.11111111&lt;br /&gt;
 =&amp;gt;&lt;br /&gt;
 Network:   192.168.0.0/17       11000000.10101000.0 0000000.00000000&lt;br /&gt;
 HostMin:   192.168.0.1          11000000.10101000.0 0000000.00000001&lt;br /&gt;
 HostMax:   192.168.127.254      11000000.10101000.0 1111111.11111110&lt;br /&gt;
 Broadcast: 192.168.127.255      11000000.10101000.0 1111111.11111111&lt;br /&gt;
 Hosts/Net: 32766                 Class C, Private Internet&lt;br /&gt;
&lt;br /&gt;
Ipcalc és molt útil per al càlcul de subxarxes. Per fer subnetting, per exemple dividir una xarxa de màscara 24 en 4 subxarxes de màscara 26 podem utilitzar:&lt;br /&gt;
&lt;br /&gt;
 $ ipcalc 192.168.0.1/24 26&lt;br /&gt;
 Address:   192.168.0.1          11000000.10101000.00000000. 00000001&lt;br /&gt;
 Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000&lt;br /&gt;
 Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111&lt;br /&gt;
 =&amp;gt;&lt;br /&gt;
 Network:   192.168.0.0/24       11000000.10101000.00000000. 00000000&lt;br /&gt;
 HostMin:   192.168.0.1          11000000.10101000.00000000. 00000001&lt;br /&gt;
 HostMax:   192.168.0.254        11000000.10101000.00000000. 11111110&lt;br /&gt;
 Broadcast: 192.168.0.255        11000000.10101000.00000000. 11111111&lt;br /&gt;
 Hosts/Net: 254                   Class C, Private Internet&lt;br /&gt;
 &lt;br /&gt;
 Subnets after transition from /24 to /26&lt;br /&gt;
 &lt;br /&gt;
 Netmask:   255.255.255.192 = 26 11111111.11111111.11111111.11 000000&lt;br /&gt;
 Wildcard:  0.0.0.63             00000000.00000000.00000000.00 111111 &lt;br /&gt;
 &lt;br /&gt;
  1.&lt;br /&gt;
 Network:   192.168.0.0/26       11000000.10101000.00000000.00 000000&lt;br /&gt;
 HostMin:   192.168.0.1          11000000.10101000.00000000.00 000001&lt;br /&gt;
 HostMax:   192.168.0.62         11000000.10101000.00000000.00 111110&lt;br /&gt;
 Broadcast: 192.168.0.63         11000000.10101000.00000000.00 111111&lt;br /&gt;
 Hosts/Net: 62                    Class C, Private Internet &lt;br /&gt;
 &lt;br /&gt;
  2.&lt;br /&gt;
 Network:   192.168.0.64/26      11000000.10101000.00000000.01 000000&lt;br /&gt;
 HostMin:   192.168.0.65         11000000.10101000.00000000.01 000001&lt;br /&gt;
 HostMax:   192.168.0.126        11000000.10101000.00000000.01 111110&lt;br /&gt;
 Broadcast: 192.168.0.127        11000000.10101000.00000000.01 111111&lt;br /&gt;
 Hosts/Net: 62                    Class C, Private Internet&lt;br /&gt;
 &lt;br /&gt;
  3.&lt;br /&gt;
 Network:   192.168.0.128/26     11000000.10101000.00000000.10 000000&lt;br /&gt;
 HostMin:   192.168.0.129        11000000.10101000.00000000.10 000001&lt;br /&gt;
 HostMax:   192.168.0.190        11000000.10101000.00000000.10 111110&lt;br /&gt;
 Broadcast: 192.168.0.191        11000000.10101000.00000000.10 111111&lt;br /&gt;
 Hosts/Net: 62                    Class C, Private Internet&lt;br /&gt;
 &lt;br /&gt;
  4.&lt;br /&gt;
 Network:   192.168.0.192/26     11000000.10101000.00000000.11 000000&lt;br /&gt;
 HostMin:   192.168.0.193        11000000.10101000.00000000.11 000001&lt;br /&gt;
 HostMax:   192.168.0.254        11000000.10101000.00000000.11 111110&lt;br /&gt;
 Broadcast: 192.168.0.255        11000000.10101000.00000000.11 111111&lt;br /&gt;
 Hosts/Net: 62                    Class C, Private Internet  &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 Subnets:   4&lt;br /&gt;
 Hosts:     248&lt;br /&gt;
    &lt;br /&gt;
També es pot utilitzar a l'inrevés, per fer supernetting:&lt;br /&gt;
&lt;br /&gt;
 $ ipcalc 192.168.0.1/24 23&lt;br /&gt;
 Address:   192.168.0.1          11000000.10101000.00000000. 00000001&lt;br /&gt;
 Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000&lt;br /&gt;
 Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111&lt;br /&gt;
 =&amp;gt;&lt;br /&gt;
 Network:   192.168.0.0/24       11000000.10101000.00000000. 00000000&lt;br /&gt;
 HostMin:   192.168.0.1          11000000.10101000.00000000. 00000001&lt;br /&gt;
 HostMax:   192.168.0.254        11000000.10101000.00000000. 11111110&lt;br /&gt;
 Broadcast: 192.168.0.255        11000000.10101000.00000000. 11111111&lt;br /&gt;
 Hosts/Net: 254                   Class C, Private Internet  &lt;br /&gt;
 &lt;br /&gt;
 Supernet&lt;br /&gt;
 &lt;br /&gt;
 Netmask:   255.255.254.0 = 23   11111111.11111111.1111111 0.00000000&lt;br /&gt;
 Wildcard:  0.0.1.255            00000000.00000000.0000000 1.11111111&lt;br /&gt;
 &lt;br /&gt;
 Network:   192.168.0.0/23       11000000.10101000.0000000 0.00000000&lt;br /&gt;
 HostMin:   192.168.0.1          11000000.10101000.0000000 0.00000001&lt;br /&gt;
 HostMax:   192.168.1.254        11000000.10101000.0000000 1.11111110&lt;br /&gt;
 Broadcast: 192.168.1.255        11000000.10101000.0000000 1.11111111&lt;br /&gt;
 Hosts/Net: 510                   Class C, Private Internet&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' Xarxes_Linux#Paquet_ipcalc ipcalc&lt;br /&gt;
*'''Path:''' /usr/bin/ipcalc (podeu trobar el camí de la comanda executant which ipcalc)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man1/ipcalc.1.html man ipcalc]&lt;br /&gt;
&lt;br /&gt;
===tcpdump===&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[tcpdump]].&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' tcpdump&lt;br /&gt;
*'''Path:''' /usr/bin/tcpdump (podeu trobar el camí de la comanda executant which tcpdump)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man8/tcpdump.8.html man tcpdump]&lt;br /&gt;
&lt;br /&gt;
===whois===&lt;br /&gt;
&lt;br /&gt;
*'''Paquet:''' whois&lt;br /&gt;
*'''Path:''' /usr/bin/whois (podeu trobar el camí de la comanda executant which whois)&lt;br /&gt;
*'''Manual''': [http://www.die.net/doc/linux/man/man1/whois.1.html man whois] &lt;br /&gt;
&lt;br /&gt;
===Comandes wireless===&lt;br /&gt;
&lt;br /&gt;
Podeu consultar aquestes comandes a la pàgina [[Xarxes_Linux_Wireless#Comandes | Xarxes Linux Wireless]] d'aquesta wiki.&lt;br /&gt;
&lt;br /&gt;
===iptables===&lt;br /&gt;
&lt;br /&gt;
Consulteu la secció iptables de l'article [[Netfilter/iptables]].&lt;br /&gt;
&lt;br /&gt;
===nc (netcat)===&lt;br /&gt;
&lt;br /&gt;
Consulteu [[nc (netcat)]].&lt;br /&gt;
&lt;br /&gt;
===ethtool===&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[ethtool]].&lt;br /&gt;
&lt;br /&gt;
===mii-tool===&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Ethtool#mii-tool | mii-tool]]&lt;br /&gt;
&lt;br /&gt;
===mii-diag===&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Ethtool#mii-diag | mii-diag]]&lt;br /&gt;
&lt;br /&gt;
==Fitxers de configuració==&lt;br /&gt;
&lt;br /&gt;
===/etc/modules===&lt;br /&gt;
&lt;br /&gt;
Aquest fitxer es pot utilitzar per afegir un mòdul al kernel (per exemple de suport a la targeta de xarxa). Els mòduls que apareixen a aquest fitxer es carreguen durant la càrrega del sistema. Exemple de fitxer&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/modules &lt;br /&gt;
 # /etc/modules: kernel modules to load at boot time.&lt;br /&gt;
 #&lt;br /&gt;
 # This file contains the names of kernel modules that should be loaded&lt;br /&gt;
 # at boot time, one per line. Lines beginning with &amp;quot;#&amp;quot; are ignored.&lt;br /&gt;
 &lt;br /&gt;
 lp&lt;br /&gt;
 psmouse&lt;br /&gt;
 sbp2&lt;br /&gt;
 sr_mod&lt;br /&gt;
&lt;br /&gt;
Els fitxers dels mòduls estan típicament a /lib/modules/. Aquí trobareu una carpeta per a cada versió del kernel (podeu utilitzar uname -r' per conèixer la vostra versió.&lt;br /&gt;
&lt;br /&gt;
Per exemple, seguint les instruccions de la wiki d'Ubuntu (https://wiki.ubuntu.com/HardwareSupportComponentsWiredNetworkCards3Com), per fer funcionar una targeta 3COM 3c509TP Etherlink III, hem d'afegir el mòdul 3c509 al fitxer '''/etc/modules'''.&lt;br /&gt;
&lt;br /&gt;
===/etc/conf.modules===&lt;br /&gt;
&lt;br /&gt;
Mitjançant aquest fitxer podem configurar els paràmetres dels mòduls. Per exemple podem indicar a linux quin driver ha d'utilitzar per a la nostra targeta de xarxa. Exemple:&lt;br /&gt;
&lt;br /&gt;
 alias eth0 module_name&lt;br /&gt;
 options module_name option1=value1 option2=value2 ...&lt;br /&gt;
&lt;br /&gt;
Un mòdul proporciona al sistema operatiu (kernel) la informació necessària per controlar una targeta ethernet en particular. Per conèxer els noms dels mòduls (module_name) podeu consultar [aquesta pàgina http://tldp.org/HOWTO/Ethernet-HOWTO-2.html#what-card].&lt;br /&gt;
&lt;br /&gt;
Les línies d'opcions només acostumen a ser necessàries per a antigues targetes ISA (obsoletes i no recomanables). Si es tenen més targetes serà necessari posar més línies al fitxer (eth1, eth2...).&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' If you build your own kernel, you have the option of having all the drivers merged with the kernel right then and there, rather than existing as separate files. When this is done, the drivers will detect the hardware at boot up. Options to the drivers are supplied by the kernel command line prior to boot (see BootPrompt Howto for more details). The user chooses what drivers are used during the make config step of building the kernel (again see the kernel howto).&lt;br /&gt;
&lt;br /&gt;
===/etc/network/interfaces===&lt;br /&gt;
&lt;br /&gt;
Fitxer de configuració de les interfícies de xarxa (NICs) en sistemes Debian. Guarda la configuració de les interfícies de xarxa. Aquest fitxer és llegit per les comandes ifup i ifdown quan s'activen les interfícies de xarxa (ja sigui explícitament o en l'arrencada del sistema)&lt;br /&gt;
&lt;br /&gt;
Exemple de fitxer interfaces totes configurades per DHCP:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/network/interfaces &lt;br /&gt;
 auto lo&lt;br /&gt;
 iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet dhcp&lt;br /&gt;
 &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet dhcp&lt;br /&gt;
 &lt;br /&gt;
 auto ath0&lt;br /&gt;
 iface ath0 inet dhcp&lt;br /&gt;
 &lt;br /&gt;
 auto wlan0&lt;br /&gt;
 iface wlan0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
Exemple de fitxer interfaces amb configuració estàtica:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/network/interfaces &lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
 address 192.168.1.1&lt;br /&gt;
 network 192.168.1.0&lt;br /&gt;
 netmask 255.255.255.0&lt;br /&gt;
 broadcast 192.168.1.255&lt;br /&gt;
 gateway 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Es pot utilitzar per automatitzar tasques abans i després d'activar les interfícies. Per això cal utilitzar les opcions pre-up o post-up:&lt;br /&gt;
&lt;br /&gt;
Podeu trobar exemples de configuració al fitxer comprimit '''/usr/share/doc/ifupdown/examples/network-interfaces.gz''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo gunzip /usr/share/doc/ifupdown/examples/network-interfaces.gz &lt;br /&gt;
 $ cat /usr/share/doc/ifupdown/examples/network-interfaces&lt;br /&gt;
&lt;br /&gt;
Trobareu exemples de configuració del fitxer '''/etc/network/interfaces''' per a xarxes wireless a http://acacha.dyndns.org/mediawiki/index.php/Xarxes_Linux_Wireless#.2Fetc.2Fnetwork.2Finterfaces.&lt;br /&gt;
&lt;br /&gt;
'''Paràmetre allow-hotplug''':&lt;br /&gt;
&lt;br /&gt;
Del manual del fitxer interfaces:&lt;br /&gt;
&lt;br /&gt;
 Lines beginning with &amp;quot;allow-&amp;quot; are  used  to  identify  interfaces  that&lt;br /&gt;
 should  be  brought  up automatically by various subsytems. This may be&lt;br /&gt;
 done using a command such as &amp;quot;ifup --allow=hotplug  eth0  eth1&amp;quot;,  which&lt;br /&gt;
 will  only  bring up eth0 or eth1 if it is listed in an &amp;quot;allow-hotplug&amp;quot;&lt;br /&gt;
 line. Note that &amp;quot;allow-auto&amp;quot; and &amp;quot;auto&amp;quot; are synonyms.&lt;br /&gt;
&lt;br /&gt;
Sembla que és una línia per evitar problemes amb udev i dispositius connectables en calent (ethernet USB):&lt;br /&gt;
&lt;br /&gt;
*http://people.debian.org/~terpstra/thread/20070131.210332.97bd5f70.ca.html&lt;br /&gt;
&lt;br /&gt;
S'utilitza per marcar interfícies per tipologies. A Ubuntu per exemple no pareix al fitxer per defecte i a debian si. A Ubuntu el fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/udev/rules.d/85-ifupdown.rules &lt;br /&gt;
 # This file causes network devices to be brought up or down as a result&lt;br /&gt;
 # of hardware being added or removed, including that which isn't ordinarily&lt;br /&gt;
 # removable.&lt;br /&gt;
 # See udev(7) for syntax.  &lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, GOTO=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 GOTO=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Bring devices up and down only if they're marked auto.&lt;br /&gt;
 # Use start-stop-daemon so we don't wait on dhcp&lt;br /&gt;
 ACTION==&amp;quot;add&amp;quot;,          RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas '''/sbin/ifup -- --allow auto'''  $env{INTERFACE}&amp;quot;&lt;br /&gt;
 ACTION==&amp;quot;remove&amp;quot;,       RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
*[http://annys.eines.info/cgi-bin/man/man2html?interfaces+5 man interfaces] &lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*Exemples de fitxers /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
===/etc/init.d/networking===&lt;br /&gt;
&lt;br /&gt;
Aquest fitxer és un script estàndard de configuració de serveis System V. Permet controlar el servei de xarxa. Les opcions són les estàndard de SystemV:&lt;br /&gt;
&lt;br /&gt;
Arrancar la xarxa:&lt;br /&gt;
&lt;br /&gt;
 sudo /etc/init.d/networking start&lt;br /&gt;
&lt;br /&gt;
Apagar la xarxa:&lt;br /&gt;
&lt;br /&gt;
 sudo /etc/init.d/networking stop&lt;br /&gt;
&lt;br /&gt;
Apagar i arrancar la xarxa (reiniciar) la xarxa:&lt;br /&gt;
&lt;br /&gt;
 sudo /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Apagar i arrancar la xarxa (reiniciar) la xarxa:&lt;br /&gt;
&lt;br /&gt;
 sudo /etc/init.d/networking force-reload&lt;br /&gt;
&lt;br /&gt;
En aquest cas, les opcions restart i force-reload són equivalents.&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' Cal destacar que no és exactament el mateix executar /etc/init.d/networking start (o stop) que executar ifup. Ho podem comprovar si mirem l'script que conté el fitxer on veurem que s'utilitzen les comandes ifup i ifdown però que a més hi ha controls extres (com per exemple no apagar la xarxa si hi han unitats NFS encara muntades).&lt;br /&gt;
&lt;br /&gt;
El link '''/etc/rcS.d/S40networking''' és l'encarregat d'iniciar la configuració de xarxa en Sistemes Debian seguint el sistema d' scripts d'inicialització de SystemV.&lt;br /&gt;
&lt;br /&gt;
Podeu obtenir més informació sobre serveis i dimonis en Linux a l'article [[Configuració_de_serveis_en_Linux._Daemons | Configuració de serveis en Linux. Daemons]] d'aquesta wiki i concretament sobre els Scripts de control de serveis SystemV.&lt;br /&gt;
&lt;br /&gt;
*'''Paquet que el proporciona:''' netbase&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': aquest fitxer es completament diferents en una Debian que en una Ubuntu. A Ubuntu es basa en simplement fer primer un '''ifdown -a''' i després un '''ifup -a''' a Debian fa altres coses...&lt;br /&gt;
&lt;br /&gt;
====Fitxer a Ubuntu (Feisty)====&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/init.d/networking &lt;br /&gt;
 #!/bin/sh -e&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:          networking&lt;br /&gt;
 # Required-Start:    mountkernfs ifupdown $local_fs&lt;br /&gt;
 # Required-Stop:     ifupdown $local_fs&lt;br /&gt;
 # Default-Start:     S&lt;br /&gt;
 # Default-Stop:      0 6&lt;br /&gt;
 # Short-Description: Raise network interfaces.&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [ -x /sbin/ifup ] || exit 0 &lt;br /&gt;
 &lt;br /&gt;
 . /lib/lsb/init-functions&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
 start)&lt;br /&gt;
         log_action_begin_msg &amp;quot;Configuring network interfaces&amp;quot;&lt;br /&gt;
         type usplash_write &amp;gt;/dev/null 2&amp;gt;/dev/null &amp;amp;&amp;amp; usplash_write &amp;quot;TIMEOUT 120&amp;quot; || true&lt;br /&gt;
         if [ &amp;quot;$VERBOSE&amp;quot; != no ]; then&lt;br /&gt;
             '''if ifup -a; then'''&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             else&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             fi&lt;br /&gt;
         else&lt;br /&gt;
             if ifup -a &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             else&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             fi&lt;br /&gt;
         fi&lt;br /&gt;
         type usplash_write &amp;gt;/dev/null 2&amp;gt;/dev/null &amp;amp;&amp;amp; usplash_write &amp;quot;TIMEOUT 15&amp;quot; || true&lt;br /&gt;
         ;;&lt;br /&gt;
 &lt;br /&gt;
 stop)&lt;br /&gt;
         if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts | &lt;br /&gt;
                 grep -qE '^(nfs[1234]?|smbfs|ncp|ncpfs|coda|cifs)$'; then&lt;br /&gt;
             log_warning_msg &amp;quot;not deconfiguring network interfaces: network shares still mounted.&amp;quot;&lt;br /&gt;
             exit 0&lt;br /&gt;
         fi &lt;br /&gt;
 &lt;br /&gt;
         log_action_begin_msg &amp;quot;Deconfiguring network interfaces&amp;quot;&lt;br /&gt;
         if [ &amp;quot;$VERBOSE&amp;quot; != no ]; then&lt;br /&gt;
             if ifdown -a --exclude=lo; then&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             else&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             fi&lt;br /&gt;
         else&lt;br /&gt;
             if '''ifdown -a --exclude=lo''' &amp;gt;/dev/null 2&amp;gt;/dev/null; then&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             else&lt;br /&gt;
                 log_action_end_msg $?&lt;br /&gt;
             fi&lt;br /&gt;
         fi&lt;br /&gt;
         ;;&lt;br /&gt;
 &lt;br /&gt;
 force-reload|restart)&lt;br /&gt;
         log_action_begin_msg &amp;quot;Reconfiguring network interfaces&amp;quot;&lt;br /&gt;
         ifdown -a --exclude=lo || true&lt;br /&gt;
         if ifup -a --exclude=lo; then&lt;br /&gt;
             log_action_end_msg $?&lt;br /&gt;
         else&lt;br /&gt;
             log_action_end_msg $?&lt;br /&gt;
         fi&lt;br /&gt;
         ;;&lt;br /&gt;
 &lt;br /&gt;
 *)&lt;br /&gt;
         echo &amp;quot;Usage: /etc/init.d/networking {start|stop|restart|force-reload}&amp;quot;&lt;br /&gt;
         exit 1&lt;br /&gt;
         ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
====Fitxer a Debian Etch====&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/init.d/networking &lt;br /&gt;
 #!/bin/sh -e&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:          networking&lt;br /&gt;
 # Required-Start:    mountkernfs ifupdown $local_fs&lt;br /&gt;
 # Required-Stop:     ifupdown $local_fs&lt;br /&gt;
 # Default-Start:     S&lt;br /&gt;
 # Default-Stop:      0 6&lt;br /&gt;
 # Short-Description: Raise network interfaces.&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 PATH=&amp;quot;/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 [ -x /sbin/ifup ] || exit 0 &lt;br /&gt;
 &lt;br /&gt;
 . /lib/lsb/init-functions&lt;br /&gt;
 &lt;br /&gt;
 spoofprotect_rp_filter() {&lt;br /&gt;
     [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] || return 1&lt;br /&gt;
     RC=0&lt;br /&gt;
     for f in /proc/sys/net/ipv4/conf/*/rp_filter; do&lt;br /&gt;
         echo 1 &amp;gt; $f || RC=1&lt;br /&gt;
     done&lt;br /&gt;
     return $RC&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 spoofprotect() {&lt;br /&gt;
     log_action_begin_msg &amp;quot;Setting up IP spoofing protection&amp;quot;&lt;br /&gt;
     if spoofprotect_rp_filter; then&lt;br /&gt;
         log_action_end_msg 0 &amp;quot;rp_filter&amp;quot;&lt;br /&gt;
     else&lt;br /&gt;
         log_action_end_msg 1&lt;br /&gt;
     fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ip_forward() {&lt;br /&gt;
     log_action_begin_msg &amp;quot;Enabling packet forwarding&amp;quot;&lt;br /&gt;
     if echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward; then&lt;br /&gt;
         log_action_end_msg 0&lt;br /&gt;
     else&lt;br /&gt;
         log_action_end_msg 1&lt;br /&gt;
     fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 syncookies() {&lt;br /&gt;
     log_action_begin_msg &amp;quot;Enabling TCP SYN cookies&amp;quot;&lt;br /&gt;
     if echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies; then&lt;br /&gt;
         log_action_end_msg 0&lt;br /&gt;
     else&lt;br /&gt;
         log_action_end_msg 1&lt;br /&gt;
     fi&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 doopt() {&lt;br /&gt;
     optname=$1&lt;br /&gt;
     default=$2&lt;br /&gt;
     opt=`grep &amp;quot;^$optname=&amp;quot; /etc/network/options || true`&lt;br /&gt;
     if [ -z &amp;quot;$opt&amp;quot; ]; then&lt;br /&gt;
          opt=&amp;quot;$optname=$default&amp;quot;&lt;br /&gt;
     fi&lt;br /&gt;
     optval=${opt#$optname=}&lt;br /&gt;
     if [ &amp;quot;$optval&amp;quot; = &amp;quot;yes&amp;quot; ]; then&lt;br /&gt;
         eval $optname&lt;br /&gt;
     fi&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 process_options() {&lt;br /&gt;
     [ -e /etc/network/options ] || return 0&lt;br /&gt;
     log_warning_msg &amp;quot;/etc/network/options is deprecated (see README.Debian of netbase).&amp;quot;&lt;br /&gt;
     doopt spoofprotect yes&lt;br /&gt;
     doopt syncookies no&lt;br /&gt;
     doopt ip_forward no&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
 start)&lt;br /&gt;
         process_options&lt;br /&gt;
         log_action_begin_msg &amp;quot;Configuring network interfaces&amp;quot;&lt;br /&gt;
         if ifup -a; then&lt;br /&gt;
             log_action_end_msg $?&lt;br /&gt;
         else&lt;br /&gt;
             log_action_end_msg $?&lt;br /&gt;
         fi&lt;br /&gt;
         ;; &lt;br /&gt;
 &lt;br /&gt;
 stop)&lt;br /&gt;
         if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts | &lt;br /&gt;
                 grep -qE '^(nfs[1234]?|smbfs|ncp|ncpfs|coda|cifs)$'; then&lt;br /&gt;
             log_warning_msg &amp;quot;not deconfiguring network interfaces: network shares still mounted.&amp;quot;&lt;br /&gt;
             exit 0&lt;br /&gt;
         fi &lt;br /&gt;
 &lt;br /&gt;
         log_action_begin_msg &amp;quot;Deconfiguring network interfaces&amp;quot;&lt;br /&gt;
         if ifdown -a --exclude=lo; then&lt;br /&gt;
             log_action_end_msg $?&lt;br /&gt;
         else&lt;br /&gt;
             log_action_end_msg $?&lt;br /&gt;
         fi&lt;br /&gt;
         ;; &lt;br /&gt;
 &lt;br /&gt;
 force-reload|restart)&lt;br /&gt;
         process_options&lt;br /&gt;
         log_action_begin_msg &amp;quot;Reconfiguring network interfaces&amp;quot;&lt;br /&gt;
         ifdown -a --exclude=lo || true&lt;br /&gt;
         if ifup -a --exclude=lo; then&lt;br /&gt;
             log_action_end_msg $?&lt;br /&gt;
         else&lt;br /&gt;
             log_action_end_msg $?&lt;br /&gt;
         fi&lt;br /&gt;
         ;;  &lt;br /&gt;
 &lt;br /&gt;
 *)&lt;br /&gt;
         echo &amp;quot;Usage: /etc/init.d/networking {start|stop|restart|force-reload}&amp;quot;&lt;br /&gt;
         exit 1&lt;br /&gt;
         ;;&lt;br /&gt;
 esac &lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
===/etc/init.d/loopback===&lt;br /&gt;
&lt;br /&gt;
Igual que '''/etc/init.d/networking''' és un script de control de serveis ( init scripts) de [http://en.wikipedia.org/wiki/System_V UNIX System V]. En aquesta cas s'encarrega de configurar la interfície de loopback. Permet controlar el servei d'interfície de loopback.&lt;br /&gt;
&lt;br /&gt;
El link '''/etc/rcS.d/S08loopback''' és l'encarregat d'iniciar la interfície de loopbacken Sistemes Debian seguint el sistema d' scripts d'inicialització de SystemV.&lt;br /&gt;
&lt;br /&gt;
Podeu consultar més sobre els serveis i dimonis Linux a l'article [[Configuració de serveis en Linux. Daemons.]]&lt;br /&gt;
&lt;br /&gt;
*'''Paquet que el proporciona:''' netbase &lt;br /&gt;
&lt;br /&gt;
===/etc/sysconfig/network===&lt;br /&gt;
&lt;br /&gt;
En sistemes RED HAT/Fedora o similars aquest fitxer és el que conté la configuració de xarxa (equivalent del fitxer '''/etc/network/interfaces''' en Sistemes Debian). Un exemple de configuració estàtica seria:&lt;br /&gt;
&lt;br /&gt;
 NETWORKING=yes&lt;br /&gt;
 FORWARD_IPV4=false&lt;br /&gt;
 HOSTNAME=milinux.localdomain&lt;br /&gt;
 DOMAINAME=localdomain&lt;br /&gt;
 GATEWAY=10.0.0.1&lt;br /&gt;
 GATEWAYDEV=eth0&lt;br /&gt;
 IPADDR=10.0.0.120&lt;br /&gt;
 NETMASK=255.0.0.0&lt;br /&gt;
 NETWORK=10.0.0.0&lt;br /&gt;
 BROADCAST=10.255.255.255&lt;br /&gt;
 ONBOOT=yes  &lt;br /&gt;
&lt;br /&gt;
===/etc/sysctl.conf===&lt;br /&gt;
&lt;br /&gt;
Controla paràmetres del kernel:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
El podem utilitzar per activar ip_forwarding:&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 # Uncomment the next line to enable packet forwarding for IPv4&lt;br /&gt;
 #net.ipv4.ip_forward=1&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[Sysctl._Tunning_del_kernel]].&lt;br /&gt;
&lt;br /&gt;
===Carpeta /etc/sysconfig/networking===&lt;br /&gt;
&lt;br /&gt;
En sistemes RED HAT/fedora trobem en aquesta carpeta els perfils de xarxa i/o els fitxers ifcfg-xxx amb la configuració de la xarxa.&lt;br /&gt;
&lt;br /&gt;
===Carpeta /etc/sysconfig/network===&lt;br /&gt;
&lt;br /&gt;
Aquesta carpeta també s'utilitza en sistemes SUSE o derivats (openSuse, Linkat....)&lt;br /&gt;
&lt;br /&gt;
*Sistema: RED HAT&lt;br /&gt;
*'''Paquet:''' ? &lt;br /&gt;
&lt;br /&gt;
===/etc/sysconfig/network/config===&lt;br /&gt;
&lt;br /&gt;
En sistemes com OpenSUSE hi ha paràmetres generals de configuració de xarxa.&lt;br /&gt;
&lt;br /&gt;
===Fitxers ifcfg-xxx===&lt;br /&gt;
&lt;br /&gt;
Els sistemes RED HAT, Fedora i Suse guarden la configuració de les interfícies de xarxa als fitxers ifcfg-xxx. Depenent de la distribució, de si s'utilitzen perfils o no i altres temes, aquests fitxers poden estar en diferents localitzacions (carpetes). Les xxxx del nom del fitxer se substitueixen pel nom del dispositiu de xarxa. Per exemple:&lt;br /&gt;
&lt;br /&gt;
 *loopback: ifcfg-lo&lt;br /&gt;
 *eth0: ifcfg-eth0&lt;br /&gt;
 *eth1: ifcfg-eth1&lt;br /&gt;
&lt;br /&gt;
Altres noms són possibles (per exemple utilitzant identificadors ifcfg-eth-id-00\:0c\:29\:d3\:47\:00). Aquests fitxers de configuració contenen parells de valors.&lt;br /&gt;
&lt;br /&gt;
A SUSE aquests fitxers es localitzen a la carpeta '''/etc/sysconfig/network'''&lt;br /&gt;
&lt;br /&gt;
SUSE també ofereix un fitxer d'exemple (template) de configuració. Podem consultar aquest &amp;quot;template&amp;quot; per conèixer la utilitat de cadascun dels possibles paràmetres. També podem consultar l'entrada de manual de Linux man ifcfg&lt;br /&gt;
&lt;br /&gt;
Exemple d'interfície configurada amb DHCP:&lt;br /&gt;
&lt;br /&gt;
 BOOTPROTO='dhcp'&lt;br /&gt;
 BROADCAST=&lt;br /&gt;
 ETHTOOL_OPTIONS=&lt;br /&gt;
 IPADDR=&lt;br /&gt;
 MTU=&lt;br /&gt;
 NAME='AMD PCnet - Fast 79C971'&lt;br /&gt;
 NETMASK='255.255.255.0'&lt;br /&gt;
 NETWORK=&lt;br /&gt;
 REMOTE_IPADDR=&lt;br /&gt;
 STARTMODE='auto'&lt;br /&gt;
 UNIQUE='rBUF.weGuQ9ywYPF'&lt;br /&gt;
 USERCONTROL='no'&lt;br /&gt;
 _nm_name='bus-pci-0000:00:10.0'&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
Exemple d'interfície amb configuracio estàtica:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=eth0&lt;br /&gt;
 IPADDR=208.164.186.1&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 NETWORK=208.164.186.0&lt;br /&gt;
 BROADCAST=208.164.186.255&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
 BOOTPROTO=none&lt;br /&gt;
 USERCTL=no&lt;br /&gt;
&lt;br /&gt;
Configuració de loopback a Open Suse:&lt;br /&gt;
&lt;br /&gt;
 sergi@linux-ngx8:/etc/sysconfig/network&amp;gt; cat ifcfg-lo &lt;br /&gt;
 # Loopback (lo) configuration&lt;br /&gt;
 IPADDR=127.0.0.1&lt;br /&gt;
 NETMASK=255.0.0.0&lt;br /&gt;
 NETWORK=127.0.0.0&lt;br /&gt;
 BROADCAST=127.255.255.255&lt;br /&gt;
 STARTMODE=onboot&lt;br /&gt;
 USERCONTROL=no&lt;br /&gt;
&lt;br /&gt;
*'''Manual''': man ifcfg &lt;br /&gt;
&lt;br /&gt;
===/etc/sysconfig/networking/profiles===&lt;br /&gt;
&lt;br /&gt;
Conté els perfils de xarxa de la màquina RED HAT/Fedora. El perfil per defecte és default /etc/sysconfig/networking/profiles/default. Els perfils poden sobrescriure les dades de configuració de xarxa generals (fitxer '''/etc/sysconfig/network''').&lt;br /&gt;
&lt;br /&gt;
===Scripts de preconfiguració/postconfiguració de la xarxa.===&lt;br /&gt;
&lt;br /&gt;
====Carpetes /etc/network/if-down.d /etc/network/if-post-down.d /etc/network/if-pre-up.d /etc/network/if-up.d====&lt;br /&gt;
&lt;br /&gt;
En aquestes carpetes es col·loquen els scripts que volem que s'executin abans o després de l'engegada o aturada de la xarxa. Per exemple, si fem una ullada a la carpeta '''/etc/network/if-up.d''':&lt;br /&gt;
&lt;br /&gt;
 $ ls -l /etc/network/if-up.d/&lt;br /&gt;
 total 16&lt;br /&gt;
 -rwxr-xr-x 1 root root 3190 2006-10-06 13:34 mountnfs&lt;br /&gt;
 -rwxr-xr-x 1 root root  551 2006-05-29 04:48 ntpdate&lt;br /&gt;
 -rwxr-xr-x 1 root root  160 2006-09-18 21:09 ntp-server&lt;br /&gt;
 -rwxr-xr-x 1 root root 1120 2006-09-10 12:48 postfix&lt;br /&gt;
&lt;br /&gt;
Són scripts que configuren aplicacions després de la configuració de la xarxa:&lt;br /&gt;
&lt;br /&gt;
*mountnfs: Monta els recursos NFS i SAMBA&lt;br /&gt;
*ntpdate i ntp-server: Configuren ntp (servei de temps)..... &lt;br /&gt;
&lt;br /&gt;
Aquests fitxers, juntament amb les comandes ifup i ifdown les proporciona el paquet ifupdown.&lt;br /&gt;
&lt;br /&gt;
Podem veure el detall del que s'executa al aixecar/apagar una targeta de xarxa amb les comandes:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifdown --verbose eth0&lt;br /&gt;
 Configuring interface eth0=eth0 (inet)&lt;br /&gt;
 route del -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.20 dev eth0&lt;br /&gt;
 run-parts --verbose /etc/network/if-down.d&lt;br /&gt;
 run-parts: executing /etc/network/if-down.d/avahi-autoipd&lt;br /&gt;
 run-parts: executing /etc/network/if-down.d/wpasupplicant&lt;br /&gt;
 &lt;br /&gt;
 ifconfig eth0 down&lt;br /&gt;
 run-parts --verbose /etc/network/if-post-down.d&lt;br /&gt;
 run-parts: executing /etc/network/if-post-down.d/avahi-daemon&lt;br /&gt;
 run-parts: executing /etc/network/if-post-down.d/bridge&lt;br /&gt;
 run-parts: executing /etc/network/if-post-down.d/wireless-tools&lt;br /&gt;
 run-parts: executing /etc/network/if-post-down.d/wpasupplicant&lt;br /&gt;
 run-parts: executing /etc/network/if-post-down.d/z50madwifi &lt;br /&gt;
&lt;br /&gt;
 $ sudo ifup --verbose eth0&lt;br /&gt;
 Configuring interface eth0=eth0 (inet)&lt;br /&gt;
 run-parts --verbose /etc/network/if-pre-up.d&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/050madwifi&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/bridge&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/uml-utilities&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/wireless-tools&lt;br /&gt;
 run-parts: executing /etc/network/if-pre-up.d/wpasupplicant&lt;br /&gt;
 &lt;br /&gt;
 ifconfig eth0 192.168.1.2 netmask 255.255.255.0  	   	up&lt;br /&gt;
 &lt;br /&gt;
 route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.20 dev eth0&lt;br /&gt;
 run-parts --verbose /etc/network/if-up.d&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/avahi-autoipd&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/avahi-daemon&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/mountnfs&lt;br /&gt;
  * Starting portmap daemon...&lt;br /&gt;
  * Already running.&lt;br /&gt;
   ...done.&lt;br /&gt;
  * Starting NFS common utilities&lt;br /&gt;
    ...done.&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/ntpdate&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/openssh-server&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/uml-utilities&lt;br /&gt;
 run-parts: executing /etc/network/if-up.d/wpasupplicant&lt;br /&gt;
&lt;br /&gt;
====Carpetes /etc/sysconfig/network/scripts i /etc/sysconfig/network-scripts====&lt;br /&gt;
&lt;br /&gt;
A Open Suse els scripts de post o pre instal·lació de xarxa els trobem a la carpeta '''/etc/sysconfig/network/scripts'''. A Fedora sovint es troben a /etc/sysconfig/network-scripts. El nom d'aquests fitxers segueix la lògica següent:&lt;br /&gt;
&lt;br /&gt;
*ifdown i ifup: són links a les comanda ifdown/ifup&lt;br /&gt;
*ifup-xxxx: On xxxx és el nom d'un servei o aplicació Linux. Per tant, l'script ifup-xxxx és l'script que s'executa referent a aquesta aplicació quan s'engega la xarxa. Exemple ifup-ippp.&lt;br /&gt;
*ifdown-xxxx: On xxxx és el nom d'un servei o aplicació Linux. Per tant, l'script ifdown-xxxx és l'script que s'executa referent a aquesta aplicació quan s'apaga la xarxa. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/etc/protocols===&lt;br /&gt;
&lt;br /&gt;
Aquest fitxer guarda els noms de protocols de TRANPORT utilitzats (o que suporta) aquest sistema.&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/protocols &lt;br /&gt;
 # Internet (IP) protocols&lt;br /&gt;
 #&lt;br /&gt;
 # Updated from http://www.iana.org/assignments/protocol-numbers and other&lt;br /&gt;
 # sources.&lt;br /&gt;
 # New protocols will be added on request if they have been officially&lt;br /&gt;
 # assigned by IANA and are not historical.&lt;br /&gt;
 # If you need a huge list of used numbers please install the nmap package.&lt;br /&gt;
 &lt;br /&gt;
 ip      0       IP              # internet protocol, pseudo protocol number&lt;br /&gt;
 #hopopt 0       HOPOPT          # IPv6 Hop-by-Hop Option [RFC1883]&lt;br /&gt;
 icmp    1       ICMP            # internet control message protocol&lt;br /&gt;
 igmp    2       IGMP            # Internet Group Management&lt;br /&gt;
 ggp     3       GGP             # gateway-gateway protocol&lt;br /&gt;
 ipencap 4       IP-ENCAP        # IP encapsulated in IP (officially ``IP)&lt;br /&gt;
 st      5       ST              # ST datagram mode&lt;br /&gt;
 tcp     6       TCP             # transmission control protocol&lt;br /&gt;
 egp     8       EGP             # exterior gateway protocol&lt;br /&gt;
 igp     9       IGP             # any private interior gateway (Cisco)&lt;br /&gt;
 pup     12      PUP             # PARC universal packet protocol&lt;br /&gt;
 udp     17      UDP             # user datagram protocol&lt;br /&gt;
 hmp     20      HMP             # host monitoring protocol&lt;br /&gt;
 xns-idp 22      XNS-IDP         # Xerox NS IDP&lt;br /&gt;
 rdp     27      RDP             # &amp;quot;reliable datagram&amp;quot; protocol&lt;br /&gt;
 iso-tp4 29      ISO-TP4         # ISO Transport Protocol class 4 [RFC905]&lt;br /&gt;
 xtp     36      XTP             # Xpress Transfer Protocol&lt;br /&gt;
 ddp     37      DDP             # Datagram Delivery Protocol&lt;br /&gt;
 idpr-cmtp 38    IDPR-CMTP       # IDPR Control Message Transport&lt;br /&gt;
 ipv6    41      IPv6            # Internet Protocol, version 6&lt;br /&gt;
 ipv6-route 43   IPv6-Route      # Routing Header for IPv6&lt;br /&gt;
 ipv6-frag 44    IPv6-Frag       # Fragment Header for IPv6&lt;br /&gt;
 idrp    45      IDRP            # Inter-Domain Routing Protocol&lt;br /&gt;
 rsvp    46      RSVP            # Reservation Protocol&lt;br /&gt;
 gre     47      GRE             # General Routing Encapsulation&lt;br /&gt;
 esp     50      IPSEC-ESP       # Encap Security Payload [RFC2406]&lt;br /&gt;
 ah      51      IPSEC-AH        # Authentication Header [RFC2402]&lt;br /&gt;
 skip    57      SKIP            # SKIP&lt;br /&gt;
 ipv6-icmp 58    IPv6-ICMP       # ICMP for IPv6&lt;br /&gt;
 ipv6-nonxt 59   IPv6-NoNxt      # No Next Header for IPv6&lt;br /&gt;
 ipv6-opts 60    IPv6-Opts       # Destination Options for IPv6&lt;br /&gt;
 rspf    73      RSPF CPHB       # Radio Shortest Path First (officially CPHB)&lt;br /&gt;
 vmtp    81      VMTP            # Versatile Message Transport&lt;br /&gt;
 eigrp   88      EIGRP           # Enhanced Interior Routing Protocol (Cisco)&lt;br /&gt;
 ospf    89      OSPFIGP         # Open Shortest Path First IGP&lt;br /&gt;
 ax.25   93      AX.25           # AX.25 frames&lt;br /&gt;
 ipip    94      IPIP            # IP-within-IP Encapsulation Protocol&lt;br /&gt;
 etherip 97      ETHERIP         # Ethernet-within-IP Encapsulation [RFC3378]&lt;br /&gt;
 encap   98      ENCAP           # Yet Another IP encapsulation [RFC1241]&lt;br /&gt;
 #       99                      # any private encryption scheme&lt;br /&gt;
 pim     103     PIM             # Protocol Independent Multicast&lt;br /&gt;
 ipcomp  108     IPCOMP          # IP Payload Compression Protocol&lt;br /&gt;
 vrrp    112     VRRP            # Virtual Router Redundancy Protocol&lt;br /&gt;
 l2tp    115     L2TP            # Layer Two Tunneling Protocol [RFC2661]&lt;br /&gt;
 isis    124     ISIS            # IS-IS over IPv4&lt;br /&gt;
 sctp    132     SCTP            # Stream Control Transmission Protocol&lt;br /&gt;
 fc      133     FC              # Fibre Channel&lt;br /&gt;
&lt;br /&gt;
*'''Paquet que el proporciona:''' netbase&lt;br /&gt;
*'''Manual''': man protocols &lt;br /&gt;
&lt;br /&gt;
===/etc/services===&lt;br /&gt;
&lt;br /&gt;
Conté una llista dels noms de serveis reconeguts pel sistema (protocols a nivell aplicació).&lt;br /&gt;
&lt;br /&gt;
Un extracte del fitxer:&lt;br /&gt;
&lt;br /&gt;
 tcpmux          1/tcp                           # TCP port service multiplexer&lt;br /&gt;
 echo            7/tcp&lt;br /&gt;
 echo            7/udp&lt;br /&gt;
 discard         9/tcp           sink null&lt;br /&gt;
 discard         9/udp           sink null&lt;br /&gt;
 systat          11/tcp          users&lt;br /&gt;
 daytime         13/tcp&lt;br /&gt;
 daytime         13/udp&lt;br /&gt;
 netstat         15/tcp&lt;br /&gt;
 qotd            17/tcp          quote&lt;br /&gt;
 msp             18/tcp                          # message send protocol&lt;br /&gt;
 msp             18/udp&lt;br /&gt;
 chargen         19/tcp          ttytst source&lt;br /&gt;
 chargen         19/udp          ttytst source&lt;br /&gt;
 ftp-data        20/tcp&lt;br /&gt;
 ftp             21/tcp&lt;br /&gt;
 fsp             21/udp          fspd&lt;br /&gt;
 ssh             22/tcp                          # SSH Remote Login Protocol&lt;br /&gt;
 ssh             22/udp&lt;br /&gt;
 telnet          23/tcp&lt;br /&gt;
 smtp            25/tcp          mail&lt;br /&gt;
 time            37/tcp          timserver&lt;br /&gt;
 time            37/udp          timserver&lt;br /&gt;
 rlp             39/udp          resource        # resource location&lt;br /&gt;
 nameserver      42/tcp          name            # IEN 116&lt;br /&gt;
 whois           43/tcp          nicname&lt;br /&gt;
 tacacs          49/tcp                          # Login Host Protocol (TACACS)&lt;br /&gt;
 tacacs          49/udp&lt;br /&gt;
 re-mail-ck      50/tcp                          # Remote Mail Checking Protocol&lt;br /&gt;
 re-mail-ck      50/udp&lt;br /&gt;
 domain          53/tcp          nameserver      # name-domain server&lt;br /&gt;
 domain          53/udp          nameserver&lt;br /&gt;
 mtp             57/tcp                          # deprecated&lt;br /&gt;
 tacacs-ds       65/tcp                          # TACACS-Database Service&lt;br /&gt;
 tacacs-ds       65/udp&lt;br /&gt;
 bootps          67/tcp                          # BOOTP server&lt;br /&gt;
 bootps          67/udp&lt;br /&gt;
 bootpc          68/tcp                          # BOOTP client&lt;br /&gt;
 bootpc          68/udp&lt;br /&gt;
 tftp            69/udp&lt;br /&gt;
 gopher          70/tcp                          # Internet Gopher&lt;br /&gt;
 gopher          70/udp&lt;br /&gt;
 rje             77/tcp          netrjs&lt;br /&gt;
 finger          79/tcp&lt;br /&gt;
 www             80/tcp          http            # WorldWideWeb HTTP&lt;br /&gt;
 www             80/udp                          # HyperText Transfer Protocol&lt;br /&gt;
&lt;br /&gt;
Una de les utilitats d'aquest fitxer és consultar el port per defecte d'un protocol. Per exemple, si volem saber quin port utilitza el protocol smtp podem escriure:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/services | grep smtp&lt;br /&gt;
 smtp            25/tcp          mail&lt;br /&gt;
 ssmtp           465/tcp         smtps           # SMTP over SSL&lt;br /&gt;
&lt;br /&gt;
També es pot utilitzar al revés per conèixer el protocol més usual per a un port donat:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/services | grep 80&lt;br /&gt;
 www             80/tcp          http            # WorldWideWeb HTTP&lt;br /&gt;
 www             80/udp                          # HyperText Transfer Protocol&lt;br /&gt;
 ...............&lt;br /&gt;
&lt;br /&gt;
Cal tenir en compte que totes les aplicacions de xarxa (com nmap o netstat) utilitzant la informació d'aquest fitxer per traduir ports en serveis. Per exemple:&lt;br /&gt;
&lt;br /&gt;
 $ netstat -a&lt;br /&gt;
 Active Internet connections (servers and established)&lt;br /&gt;
 Proto Recv-Q Send-Q Local Address           Foreign Address         State      &lt;br /&gt;
 tcp        0      0 localhost:2208          *:*                     LISTEN     &lt;br /&gt;
 tcp        0      0 *:ldap                  *:*                     LISTEN     &lt;br /&gt;
 tcp        0      0 localhost:47301         *:*                     LISTEN     &lt;br /&gt;
 tcp        0      0 localhost:mysql         *:*                     LISTEN     &lt;br /&gt;
 tcp        0      0 *:11211                 *:*                     LISTEN     &lt;br /&gt;
 tcp        0      0 localhost:ipp           *:*                     LISTEN     &lt;br /&gt;
 tcp        0      0 localhost:postgresql    *:*                     LISTEN     &lt;br /&gt;
 tcp        0      0 *:smtp                  *:*                     LISTEN &lt;br /&gt;
&lt;br /&gt;
Els serveis als quals apareix el número de port són serveis que no apareixen al fitxer '''/etc/services'''. Els protocols que apareixen amb el seu nom (ipp,ldap,mysql,smtp...) són serveis que apareixen al fitxer '''/etc/protocols'''.&lt;br /&gt;
&lt;br /&gt;
*'''Paquet que el proporciona:''' netbase&lt;br /&gt;
*'''Manual''': man services &lt;br /&gt;
&lt;br /&gt;
===/etc/rpc===&lt;br /&gt;
&lt;br /&gt;
Tradueix noms de serveis de programes rpc (remote procedure control) en els seus corresponents números rpc&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/rpc &lt;br /&gt;
 # This file contains user readable names that can be used in place of rpc&lt;br /&gt;
 # program numbers.&lt;br /&gt;
 &lt;br /&gt;
 portmapper      100000  portmap sunrpc&lt;br /&gt;
 rstatd          100001  rstat rstat_svc rup perfmeter&lt;br /&gt;
 rusersd         100002  rusers&lt;br /&gt;
 nfs             100003  nfsprog&lt;br /&gt;
 ypserv          100004  ypprog&lt;br /&gt;
 .........&lt;br /&gt;
&lt;br /&gt;
*'''Paquet que el proporciona:''' netbase&lt;br /&gt;
*'''Manual''': man rpc &lt;br /&gt;
&lt;br /&gt;
===/etc/host.conf===&lt;br /&gt;
&lt;br /&gt;
Vegeu [[Client_DNS#.2Fetc.2Fhosts.conf]]&lt;br /&gt;
&lt;br /&gt;
===/etc/hosts===&lt;br /&gt;
&lt;br /&gt;
Vegeu [[Client_DNS#.2Fetc.2Fhosts]]&lt;br /&gt;
&lt;br /&gt;
===/etc/hosts.allow i /etc/hosts.deny===&lt;br /&gt;
&lt;br /&gt;
Amb aquests fitxers es pot crear una llista ACL (Access Control List) de les màquines que poden (o no poden) accedir al nostre host.&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/hosts.allow &lt;br /&gt;
 # /etc/hosts.allow: list of hosts that are allowed to access the system.&lt;br /&gt;
 #                   See the manual pages hosts_access(5), hosts_options(5)&lt;br /&gt;
 #                   and /usr/doc/netbase/portmapper.txt.gz&lt;br /&gt;
 #&lt;br /&gt;
 # Example:    ALL: LOCAL @some_netgroup&lt;br /&gt;
 #             ALL: .foobar.edu EXCEPT terminalserver.foobar.edu&lt;br /&gt;
 #&lt;br /&gt;
 # If you're going to protect the portmapper use the name &amp;quot;portmap&amp;quot; for the&lt;br /&gt;
 # daemon name. Remember that you can only use the keyword &amp;quot;ALL&amp;quot; and IP&lt;br /&gt;
 # addresses (NOT host or domain names) for the portmapper, as well as for&lt;br /&gt;
 # rpc.mountd (the NFS mount daemon). See portmap(8), rpc.mountd(8) and &lt;br /&gt;
 # /usr/share/doc/portmap/portmapper.txt.gz for further information.&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/hosts.deny &lt;br /&gt;
 # /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.&lt;br /&gt;
 #                  See the manual pages hosts_access(5), hosts_options(5)&lt;br /&gt;
 #                  and /usr/doc/netbase/portmapper.txt.gz&lt;br /&gt;
 #&lt;br /&gt;
 # Example:    ALL: some.host.name, .some.domain&lt;br /&gt;
 #             ALL EXCEPT in.fingerd: other.host.name, .other.domain&lt;br /&gt;
 #&lt;br /&gt;
 # If you're going to protect the portmapper use the name &amp;quot;portmap&amp;quot; for the&lt;br /&gt;
 # daemon name. Remember that you can only use the keyword &amp;quot;ALL&amp;quot; and IP&lt;br /&gt;
 # addresses (NOT host or domain names) for the portmapper. See portmap(8)&lt;br /&gt;
 # and /usr/doc/portmap/portmapper.txt.gz for further information.&lt;br /&gt;
 #&lt;br /&gt;
 # The PARANOID wildcard matches any host whose name does not match its&lt;br /&gt;
 # address.&lt;br /&gt;
 &lt;br /&gt;
 # You may wish to enable this to ensure any programs that don't&lt;br /&gt;
 # validate looked up hostnames still leave understandable logs. In past&lt;br /&gt;
 # versions of Debian this has been the default.&lt;br /&gt;
 # ALL: PARANOID&lt;br /&gt;
&lt;br /&gt;
*'''Manual''': man hosts.allow&lt;br /&gt;
*'''Manual''': man hosts.deny &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/etc/resolv.conf===&lt;br /&gt;
&lt;br /&gt;
Vegeu [[Client_DNS#.2Fetc.2Fresolv.conf]]&lt;br /&gt;
&lt;br /&gt;
===Fitxer /etc/ethers===&lt;br /&gt;
&lt;br /&gt;
Es pot utilitzar aquest fitxer per no haver d'utilitzar la mac cada cop que es fa un wakeonlan:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/ethers&lt;br /&gt;
 08:00:20:00:61:CA nommaquina&lt;br /&gt;
 &lt;br /&gt;
*[http://linux.die.net/man/5/ethers man ethers]&lt;br /&gt;
&lt;br /&gt;
===/etc/networks===&lt;br /&gt;
&lt;br /&gt;
Fitxer opcional (sovint no el tenim). Similar al fitxer '''/etc/hosts''' però per especificar xarxes. Exemple&lt;br /&gt;
&lt;br /&gt;
 loopback 127.0.0.0&lt;br /&gt;
 localdomain 10.0.0.0&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
*man networks&lt;br /&gt;
&lt;br /&gt;
===/etc/hostname===&lt;br /&gt;
&lt;br /&gt;
Conté el nom de la màquina:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/hostname &lt;br /&gt;
 casa-linux&lt;br /&gt;
&lt;br /&gt;
La comanda hostname ens proporciona el nom de la màquina.&lt;br /&gt;
&lt;br /&gt;
===/etc/iftab===&lt;br /&gt;
&lt;br /&gt;
Aquest fitxer permetia assignar noms fixes a les interfícies de xarxa. Actualment s'ha substituit per udev,&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/iftab&lt;br /&gt;
 # This file is no longer used and has benn automatically replaced&lt;br /&gt;
 # See /etc/udev/rules.d/70-persistent-net.rules for more information&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # This file assigns persistent names to network interfaces&lt;br /&gt;
 # see iftab(5) for syntax&lt;br /&gt;
 &lt;br /&gt;
 ##eth0 mac 08:00:27:01:20:85&lt;br /&gt;
&lt;br /&gt;
===/proc/net/arp===&lt;br /&gt;
&lt;br /&gt;
Aquest fitxer conté la taula del [http://en.wikipedia.org/wiki/Address_Resolution_Protocol protocol ARP (Adress Resolution Protocol)]. Aquest protocol és l'encarregat de transformar IPs en MACs i és el que ens permet treballar amb IPs al nivell d'enllaç (xarxa àrea local).&lt;br /&gt;
&lt;br /&gt;
 $ cat /proc/net/arp &lt;br /&gt;
 IP address       HW type     Flags       HW address            Mask     Device&lt;br /&gt;
 10.0.2.101       0x1         0x2         00:11:09:CE:25:8E *       eth0&lt;br /&gt;
 192.168.0.240    0x1         0x2         00:12:17:FC:98:87 *       eth1&lt;br /&gt;
 10.0.2.1         0x1         0x2         00:50:7F:1F:2C:A3 *       eth0&lt;br /&gt;
 10.0.2.107       0x1         0x2         00:11:09:CE:26:3E *       eth0&lt;br /&gt;
 10.0.3.234       0x1         0x2         00:14:22:09:AA:3F *       eth0&lt;br /&gt;
&lt;br /&gt;
Ens dóna el mateix resultat que la comanda arp (encara que la comanda arp no està sempre instal·lada)&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' No s'ha d'editar aquest fitxer directament. Cal utilitzar la comanda arp NOTA1: Només conté les MACS dels nodes (pcs o dispositius de xarxa) amb els quals s'ha establert alguna comunicació.&lt;br /&gt;
&lt;br /&gt;
El podem utilitzar per obtenir les MACS de tots els dispositius d'una xarxa d'àrea local. Per això primer utilitzem nmap&lt;br /&gt;
&lt;br /&gt;
 sudo nmap 192.168.0.1-255&lt;br /&gt;
&lt;br /&gt;
i després consultem la taula arp amb&lt;br /&gt;
&lt;br /&gt;
 $ cat /proc/net/arp&lt;br /&gt;
&lt;br /&gt;
o la comanda&lt;br /&gt;
&lt;br /&gt;
 $ arp&lt;br /&gt;
&lt;br /&gt;
===/etc/udev/rules.d/70-persistent-net.rules===&lt;br /&gt;
&lt;br /&gt;
La gestió del nom de les interfícies de xarxa, abans es feia amb [[ifrename]], però ha estat substituit per udev:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install [[ifrename]] &lt;br /&gt;
 S'està llegint la llista de paquets... Fet &lt;br /&gt;
 S'està construint l'arbre de dependències       &lt;br /&gt;
 S'està llegint la informació de l'estat... Fet&lt;br /&gt;
 El paquet ifrename no té versió disponible, però un altre paquet&lt;br /&gt;
 en fa referència. Això normalment vol dir que el paquet falta,&lt;br /&gt;
 s'ha tornat obsolet o només és disponible des d'una altra font.&lt;br /&gt;
 '''Tot i que els següents paquets el reemplacen:'''&lt;br /&gt;
   '''udev'''&lt;br /&gt;
 E: El paquet ifrename no té candidat d'instal·lació&lt;br /&gt;
&lt;br /&gt;
Ara el gestor de dispositius de xarxa és udev i substitueix la funció del fitxer /etc/iftab. Veieu el següent exemple d'un disc dur en rack que és connecta a diferents màquines, totes iguals però cadascuna amb una adreça de xarxa amb una MAC diferent (disc dur de l'escola):&lt;br /&gt;
&lt;br /&gt;
{{important|Les adreçes MAC s'han de posar en minúscules o encara millor copiar/pegar de la MAC que apareix amb ifconfig. És case sensitive!}}&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/udev/rules.d/70-persistent-net.rules &lt;br /&gt;
 # This file maintains persistent names for network interfaces.&lt;br /&gt;
 # See udev(7) for syntax.&lt;br /&gt;
 #&lt;br /&gt;
 # Entries are automatically added by the 75-persistent-net-generator.rules&lt;br /&gt;
 # file; however you are also free to add your own entries.&lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x10ec:0x8167 (r8169)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:30:05:eb:3a:e6&amp;quot;, NAME=&amp;quot;eth0&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x10ec:0x8167 (r8169)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:30:05:eb:a2:fc&amp;quot;, NAME=&amp;quot;eth1&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x10ec:0x8167 (r8169)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:30:05:eb:a3:8d&amp;quot;, NAME=&amp;quot;eth2&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x10ec:0x8167 (r8169)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:30:05:eb:38:55&amp;quot;, NAME=&amp;quot;eth3&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x10ec:0x8167 (r8169)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:30:05:eb:38:04&amp;quot;, NAME=&amp;quot;eth4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x10ec:0x8167 (r8169)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:30:05:eb:38:11&amp;quot;, NAME=&amp;quot;eth5&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x10ec:0x8167 (r8169)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:30:05:eb:38:0c&amp;quot;, NAME=&amp;quot;eth6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A Debian Etch el fitxer s'anomena /etc/udev/rules.d/z25_persistent-net.rules:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/udev/rules.d/z25_persistent-net.rules &lt;br /&gt;
 # This file was automatically generated by the /lib/udev/write_net_rules&lt;br /&gt;
 # program, probably run by the persistent-net-generator.rules rules file.&lt;br /&gt;
 #&lt;br /&gt;
 # You can modify it, as long as you keep each rule on a single line. &lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x8086:0x2449 (eepro100)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:c0:a8:f9:7b:87&amp;quot;, NAME=&amp;quot;eth0&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x8086:0x2449 (e100)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:c0:a8:f9:7d:3d&amp;quot;, NAME=&amp;quot;eth0&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x8086:0x2449 (e100)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:c0:a8:f9:82:10&amp;quot;, NAME=&amp;quot;eth0&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # PCI device 0x8086:0x2449 (e100)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTRS{address}==&amp;quot;00:c0:a8:f9:89:2e&amp;quot;, NAME=&amp;quot;eth1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''NOTA''': Exemple extret de l'aula Linux.&lt;br /&gt;
&lt;br /&gt;
==== Canviar el nom d'una interfície de xarxa ====&lt;br /&gt;
&lt;br /&gt;
Es pot fer modificant el fitxer [[/etc/udev/rules.d/70-persistent-net.rules]]:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/udev/rules.d/70-persistent-net.rules&lt;br /&gt;
 ...&lt;br /&gt;
 # Virtual network (eth0--&amp;gt; intranet)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;add&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTR{address}==&amp;quot;00:16:3E:00:AB:00&amp;quot;, ATTR{dev_id}==&amp;quot;0x0&amp;quot;, ATTR{type}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;eth*&amp;quot;, NAME=&amp;quot;intranet&amp;quot;  &lt;br /&gt;
  &lt;br /&gt;
 # Virtual network (eth1--&amp;gt; aula1)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;add&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTR{address}==&amp;quot;00:16:3E:00:AB:01&amp;quot;, ATTR{dev_id}==&amp;quot;0x0&amp;quot;, ATTR{type}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;eth*&amp;quot;, NAME=&amp;quot;aula1&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # Virtual network (eth2--&amp;gt; aula2)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;add&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTR{address}==&amp;quot;00:16:3E:00:AB:02&amp;quot;, ATTR{dev_id}==&amp;quot;0x0&amp;quot;, ATTR{type}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;eth*&amp;quot;, NAME=&amp;quot;aula2&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Virtual network (eth3--&amp;gt; aula3)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;add&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTR{address}==&amp;quot;00:16:3E:00:AB:03&amp;quot;, ATTR{dev_id}==&amp;quot;0x0&amp;quot;, ATTR{type}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;eth*&amp;quot;, NAME=&amp;quot;aula3&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Virtual network (eth4--&amp;gt; internet)&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;add&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTR{address}==&amp;quot;00:16:3E:00:AB:04&amp;quot;, ATTR{dev_id}==&amp;quot;0x0&amp;quot;, ATTR{type}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;eth*&amp;quot;, NAME=&amp;quot;internet&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 [[Tallafocs_Linux#domU]]&lt;br /&gt;
&lt;br /&gt;
En alguns casos he trobat que només canvia algunes targetes de xarxa:&lt;br /&gt;
&lt;br /&gt;
ifconfig abans:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifconfig -a&lt;br /&gt;
 eth1     Link encap:Ethernet  HWaddr 00:16:3e:00:ab:01  &lt;br /&gt;
 ...&lt;br /&gt;
 intranet  Link encap:Ethernet  HWaddr 00:16:3e:00:ab:00  &lt;br /&gt;
          inet addr:192.168.0.46  Bcast:192.168.0.255  Mask:255.255.255.0&lt;br /&gt;
          inet6 addr: fe80::216:3eff:fe00:ab00/64 Scope:Link&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:80 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000 &lt;br /&gt;
          RX bytes:5196 (5.1 K&lt;br /&gt;
&lt;br /&gt;
En canvi al executar:&lt;br /&gt;
&lt;br /&gt;
 $ sudo udevadm test /sys/class/net/eth1&lt;br /&gt;
 ...&lt;br /&gt;
 rename_netif: changing net interface name from 'eth1' to 'aula1'&lt;br /&gt;
 udev_event_execute_rules: renamed netif to 'aula1'&lt;br /&gt;
 udev_event_execute_rules: changed devpath to '/devices/vif-1/net/aula1'&lt;br /&gt;
 udevadm_test: UDEV_LOG=6&lt;br /&gt;
 udevadm_test: DEVPATH=/devices/vif-1/net/aula1&lt;br /&gt;
 udevadm_test: INTERFACE=aula1&lt;br /&gt;
 udevadm_test: IFINDEX=3&lt;br /&gt;
 udevadm_test: ACTION=add&lt;br /&gt;
 udevadm_test: SUBSYSTEM=net&lt;br /&gt;
 udevadm_test: INTERFACE_OLD=eth1&lt;br /&gt;
&lt;br /&gt;
Ja li canvia el nom de eth1 a aula1.&lt;br /&gt;
&lt;br /&gt;
===/etc/udev/rules.d/75-persistent-net-generator.rules===&lt;br /&gt;
 &lt;br /&gt;
 $ cat /etc/udev/rules.d/75-persistent-net-generator.rules&lt;br /&gt;
 # these rules generate rules for persistent network device naming&lt;br /&gt;
 &lt;br /&gt;
 ACTION==&amp;quot;add&amp;quot;, SUBSYSTEM==&amp;quot;net&amp;quot;, KERNEL==&amp;quot;eth*|ath*|wlan*|ra*|sta*&amp;quot; \&lt;br /&gt;
         NAME!=&amp;quot;?*&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, GOTO=&amp;quot;persistent_net_generator_do&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 GOTO=&amp;quot;persistent_net_generator_end&amp;quot;&lt;br /&gt;
 LABEL=&amp;quot;persistent_net_generator_do&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # build device description string to add a comment the generated rule&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;pci&amp;quot;, ENV{COMMENT}=&amp;quot;PCI device $attr{vendor}:$attr{device} ($attr{driver})&amp;quot;&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ENV{COMMENT}=&amp;quot;USB device 0x$attr{idVendor}:0x$attr{idProduct} ($attr{driver})&amp;quot;&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;ieee1394&amp;quot;, ENV{COMMENT}=&amp;quot;Firewire device $attr{host_id})&amp;quot;&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;xen&amp;quot;, ENV{COMMENT}=&amp;quot;Xen virtual device&amp;quot;&lt;br /&gt;
 ENV{COMMENT}==&amp;quot;&amp;quot;, ENV{COMMENT}=&amp;quot;$env{SUBSYSTEM} device ($attr{driver})&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 IMPORT{program}=&amp;quot;write_net_rules $attr{address}&amp;quot;&lt;br /&gt;
 ENV{INTERFACE_NEW}==&amp;quot;?*&amp;quot;, NAME=&amp;quot;$env{INTERFACE_NEW}&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;persistent_net_generator_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A Debian Etch:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/udev/rules.d/z45_persistent-net-generator.rules &lt;br /&gt;
 # These rules generate rules to keep network interface names unchanged&lt;br /&gt;
 # across reboots write them to /etc/udev/rules.d/z25_persistent-net.rules.&lt;br /&gt;
 #&lt;br /&gt;
 # The default name for this file is z45_persistent-net-generator.rules. &lt;br /&gt;
 &lt;br /&gt;
 ACTION!=&amp;quot;add&amp;quot;,                          GOTO=&amp;quot;persistent_net_generator_end&amp;quot;&lt;br /&gt;
 SUBSYSTEM!=&amp;quot;net&amp;quot;,                       GOTO=&amp;quot;persistent_net_generator_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # ignore the interface if a name has already been set&lt;br /&gt;
 NAME==&amp;quot;?*&amp;quot;,                             GOTO=&amp;quot;persistent_net_generator_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # ignore &amp;quot;secondary&amp;quot; raw interfaces of the madwifi driver&lt;br /&gt;
 KERNEL==&amp;quot;ath*&amp;quot;, ATTRS{type}==&amp;quot;802&amp;quot;,     GOTO=&amp;quot;persistent_net_generator_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # provide nice comments for the generated rules&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;pci&amp;quot;, \&lt;br /&gt;
 ENV{COMMENT}=&amp;quot;PCI device $attr{vendor}:$attr{device}&amp;quot;&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, \&lt;br /&gt;
  ENV{COMMENT}=&amp;quot;USB device $attr{idVendor}:$attr{idProduct}&amp;quot;&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;ieee1394&amp;quot;, \&lt;br /&gt;
  ENV{COMMENT}=&amp;quot;Firewire device $attr{host_id}&amp;quot;&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;xen&amp;quot;, \&lt;br /&gt;
  ENV{COMMENT}=&amp;quot;Xen virtual device&amp;quot;&lt;br /&gt;
 ENV{COMMENT}==&amp;quot;&amp;quot;, \&lt;br /&gt;
  ENV{COMMENT}=&amp;quot;Unknown $env{SUBSYSTEM} device ($env{DEVPATH})&amp;quot;&lt;br /&gt;
 ATTRS{driver}==&amp;quot;?*&amp;quot;, \&lt;br /&gt;
  ENV{COMMENT}=&amp;quot;$env{COMMENT} ($attr{driver})&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
 # ignore interfaces without a driver link like bridges and VLANs&lt;br /&gt;
 KERNEL==&amp;quot;eth*|ath*|wlan*|ra*|sta*&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;,\&lt;br /&gt;
         IMPORT{program}=&amp;quot;write_net_rules $attr{address}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{INTERFACE_NEW}==&amp;quot;?*&amp;quot;, NAME=&amp;quot;$env{INTERFACE_NEW}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;persistent_net_generator_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===/etc/udev/rules.d/85-ifupdown.rules===&lt;br /&gt;
&lt;br /&gt;
 $ /etc/udev/rules.d/85-ifupdown.rules&lt;br /&gt;
 # This file causes network devices to be brought up or down as a result&lt;br /&gt;
 # of hardware being added or removed, including that which isn't ordinarily&lt;br /&gt;
 # removable.&lt;br /&gt;
 # See udev(7) for syntax.&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, GOTO=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 GOTO=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_start&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # Bring devices up and down only if they're marked auto.&lt;br /&gt;
 # Use start-stop-daemon so we don't wait on dhcp&lt;br /&gt;
 ACTION==&amp;quot;add&amp;quot;,          RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
 ACTION==&amp;quot;remove&amp;quot;,       RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow auto  $env{INTERFACE}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===/proc/net/route===&lt;br /&gt;
&lt;br /&gt;
Conté la taula de rutes de la màquina. Aquest fitxer és molt similar al fitxer '''/proc/net/arp''' però per a la comanda route.&lt;br /&gt;
&lt;br /&gt;
 $ cat /proc/net/route&lt;br /&gt;
 Iface   Destination     Gateway         Flags   RefCnt  Use     Metric  Mask            MTU     Window      IRTT                                                       &lt;br /&gt;
 vmnet8  00C4A8C0        00000000        0001    0       0       0       00FFFFFF        0       0  0                                                                             &lt;br /&gt;
 eth0    0001A8C0        00000000        0001    0       0       0       00FFFFFF        0       0  0                                                                               &lt;br /&gt;
 vmnet1  00FCA8C0        00000000        0001    0       0       0       00FFFFFF        0       0  0                                                                             &lt;br /&gt;
 eth0    00000000        0101A8C0        0003    0       0       0       00000000        0       0  0&lt;br /&gt;
&lt;br /&gt;
Ens dóna el mateix resultat que la comanda route (el format està però en hexadecimal).&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' No s'ha d'editar aquest fitxer directament. Cal utilitzar la comanda route&lt;br /&gt;
&lt;br /&gt;
===/etc/nscd.conf===&lt;br /&gt;
&lt;br /&gt;
És el fitxer de configuració del servei NSCD (Name Service Cache Daemon) en tots els sistemes.&lt;br /&gt;
&lt;br /&gt;
===/etc/nsswitch.conf===&lt;br /&gt;
&lt;br /&gt;
Vegeu [[Client_DNS#.2Fetc.2Fnsswitch.conf]]&lt;br /&gt;
&lt;br /&gt;
===/etc/network/options===&lt;br /&gt;
&lt;br /&gt;
A Debian s'utilitza (és llegeix els continguts a l'executar l'init script [[Xarxes_Linux#.2Fetc.2Finit.d.2Fnetworking | /etc/init.d/networking/restart]]) per configurar les opciones d'arrancada de les targetes de xarxa. Exemple:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/network/options&lt;br /&gt;
 ip_forward=no&lt;br /&gt;
 spoofprotect=yes&lt;br /&gt;
 syncookies=no&lt;br /&gt;
&lt;br /&gt;
''''Recursos''':&lt;br /&gt;
*http://openskills.info/infobox.php?ID=1099&lt;br /&gt;
&lt;br /&gt;
===/proc/sys/net/ipv4===&lt;br /&gt;
&lt;br /&gt;
La carpeta proc conté el pseudo sistema de fitxers (realment aquest sistema de fitxers només existeix en memòria) que s'utilitza com una interfície per accedir a les estructures de dades del kernel de Linux. Majoritariament és de només lectura, però en alguns casos es poden modificar algunes variables. La informació del protocol IP es guarda a la carpeta:&lt;br /&gt;
&lt;br /&gt;
 /proc/sys/net/ipv4&lt;br /&gt;
&lt;br /&gt;
====/proc/sys/net/ipv4/ip_forward====&lt;br /&gt;
&lt;br /&gt;
Indica si la màquina fa o no les funcions d'[[Encaminament|Encaminador]].&lt;br /&gt;
&lt;br /&gt;
===/proc/sys/net/ipv6===&lt;br /&gt;
&lt;br /&gt;
Equivalent a l'anterior però per a la versió 6 del protocol IP.&lt;br /&gt;
&lt;br /&gt;
=/etc/NetworkManager/dispatcher.d/01ifupdown=&lt;br /&gt;
 &lt;br /&gt;
 $ cat /etc/NetworkManager/dispatcher.d/01ifupdown&lt;br /&gt;
 #!/bin/sh -e&lt;br /&gt;
 # Script to dispatch NetworkManager events&lt;br /&gt;
 #&lt;br /&gt;
 # Runs ifupdown scripts when NetworkManager fiddles with interfaces. &lt;br /&gt;
 &lt;br /&gt;
 if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
     echo &amp;quot;$0: called with no interface&amp;quot; 1&amp;gt;&amp;amp;2&lt;br /&gt;
     exit 1;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Fake ifupdown environment&lt;br /&gt;
 export IFACE=&amp;quot;$1&amp;quot;&lt;br /&gt;
 export LOGICAL=&amp;quot;$1&amp;quot;&lt;br /&gt;
 export ADDRFAM=&amp;quot;NetworkManager&amp;quot;&lt;br /&gt;
 export METHOD=&amp;quot;NetworkManager&amp;quot;&lt;br /&gt;
 export VERBOSITY=&amp;quot;0&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # Run the right scripts&lt;br /&gt;
 case &amp;quot;$2&amp;quot; in&lt;br /&gt;
     up)&lt;br /&gt;
         export MODE=&amp;quot;start&amp;quot;&lt;br /&gt;
         export PHASE=&amp;quot;up&amp;quot;&lt;br /&gt;
         exec run-parts /etc/network/if-up.d&lt;br /&gt;
         ;;&lt;br /&gt;
     down)&lt;br /&gt;
         export MODE=&amp;quot;stop&amp;quot;&lt;br /&gt;
         export PHASE=&amp;quot;down&amp;quot;&lt;br /&gt;
         exec run-parts /etc/network/if-down.d&lt;br /&gt;
         ;;&lt;br /&gt;
     pre-up)&lt;br /&gt;
         export MODE=&amp;quot;start&amp;quot;&lt;br /&gt;
         export PHASE=&amp;quot;pre-up&amp;quot;&lt;br /&gt;
         exec run-parts /etc/network/if-pre-up.d&lt;br /&gt;
         ;;&lt;br /&gt;
     post-down)&lt;br /&gt;
         export MODE=&amp;quot;stop&amp;quot;&lt;br /&gt;
         export PHASE=&amp;quot;post-down&amp;quot;&lt;br /&gt;
         exec run-parts /etc/network/if-post-down.d&lt;br /&gt;
         ;;&lt;br /&gt;
     *)&lt;br /&gt;
         echo &amp;quot;$0: called with unknown action \`$2'&amp;quot; 1&amp;gt;&amp;amp;2&lt;br /&gt;
         exit 1&lt;br /&gt;
         ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
Sembla doncs, que amb Netowrk manager els scripts de les carpetes '''/etc/network/if-x.d''' també s'executen.&lt;br /&gt;
===/etc/bind===&lt;br /&gt;
&lt;br /&gt;
Veieu la secció Configuració de bind de l'article sobre [[DNS]].&lt;br /&gt;
&lt;br /&gt;
===/etc/bind/named.conf===&lt;br /&gt;
&lt;br /&gt;
Veieu la secció '''/etc/bind/named.conf''' de l'article sobre [[DNS]].&lt;br /&gt;
&lt;br /&gt;
===/etc/bind/named.conf.local===&lt;br /&gt;
&lt;br /&gt;
Veieu la secció '''/etc/bind/named.conf.local''' de l'article sobre [[DNS]].&lt;br /&gt;
&lt;br /&gt;
===/etc/bind/named.conf.options===&lt;br /&gt;
&lt;br /&gt;
Veieu la secció '''/etc/bind/named.conf.options''' de l'article sobre [[DNS]].&lt;br /&gt;
&lt;br /&gt;
=Configuració gràfica de xarxa a Ubuntu=&lt;br /&gt;
&lt;br /&gt;
*[[Tutorial pas a pas configuració xarxa en Ubuntu]] &lt;br /&gt;
&lt;br /&gt;
=Configuració gràfica de xarxa en sistemes Red Hat / Fedora=&lt;br /&gt;
&lt;br /&gt;
 $ system-config-network&lt;br /&gt;
&lt;br /&gt;
Altres configuradors de la xarxa a Red Hat/Fedora són:&lt;br /&gt;
&lt;br /&gt;
*netconfig: Obsolet.&lt;br /&gt;
*system-config-network-tui: Versió de text de system-config-network.&lt;br /&gt;
*system-config-network-druid (Menu System tools - Internet configuration wizard): Wizard pas a pas de configuració de la xarxa. &lt;br /&gt;
&lt;br /&gt;
Els fitxers de configuració de la resolució de noms són els mateixos que a Debian. El fitxer '''/etc/hosts''' per a la configuració estàtica i el fitxer '''/etc/resolv.conf''' per a la configuració del client de DNS.&lt;br /&gt;
&lt;br /&gt;
Red Hat com Ubuntu, també permet configurar diferents perfils d'accés a xarxa. Els perfils es guarden a la carpeta '''/etc/sysconfig/networking/profiles'''. Cada perfil es guarda en una carpeta amb el nom del perfil. Per exemple, si el perfil és casa tenim una carpeta:&lt;br /&gt;
&lt;br /&gt;
 /etc/sysconfig/networking/profiles/casa&lt;br /&gt;
&lt;br /&gt;
amb la informació de xarxa d'aquest perfil. Al carregar Fedora utilitza el perfil default (/etc/sysconfig/networking/profiles/default). Per canviar de perfil podem executar:&lt;br /&gt;
&lt;br /&gt;
 $ system-config-network-cmd -p profilename --activate.&lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*http://openskills.info/infobox.php?ID=247 &lt;br /&gt;
&lt;br /&gt;
=Configuració gràfica de xarxa en sistemes SUSE (OpenSuse, Linkat...)=&lt;br /&gt;
&lt;br /&gt;
La configuració gràfica es pot fer mitjançant la eina de Suse YAst, que normalment trobem al Menu Escriptori i busquem la configuració de la targeta de xarxa. Podem accedir al mateix lloc directament des de la línia de comandes:&lt;br /&gt;
&lt;br /&gt;
 /sbin/yast2 lan&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
==Test de la xarxa==&lt;br /&gt;
&lt;br /&gt;
La següent bateria de comandes pot ser útil per tal de testejar el funcionament de la xarxa&lt;br /&gt;
&lt;br /&gt;
 $ping yahoo.com # verificar la conexión a Internet&lt;br /&gt;
 $traceroute yahoo.com      # rastrear paquetes IP&lt;br /&gt;
 $ifconfig                  # verificar la configuración del &lt;br /&gt;
                                # anfitrión (host)&lt;br /&gt;
 $route -n                  # verificar la configuración de la ruta&lt;br /&gt;
 $dig [@dns-server.com] host.dom [{a|mx|any}] |less&lt;br /&gt;
          # verificar registros host.dom DNS [@ dns-server.com] para  &lt;br /&gt;
          # un registro {a|mx|any}&lt;br /&gt;
 $ichains  -L -n |less      # verificar filtrado de paquetes (kernel 2.2)&lt;br /&gt;
 $iptables -L -n |less      # verificar filtrado de paquetes (kernel 2.4)&lt;br /&gt;
 $netstat -a                # mostrar todos los puertos abiertos&lt;br /&gt;
 $netstat -l --inet         # mostrar los puertos en escucha&lt;br /&gt;
 $netstat -ln --tcp         # mostrar puertos tcp en escucha (numérico)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
&lt;br /&gt;
*http://ubuntuguide.org/wiki/Ubuntu_Edgy#Networking&lt;br /&gt;
*http://www.debianadmin.com/ubuntu-networking-for-basic-and-advanced-users.html&lt;br /&gt;
*http://tldp.org/HOWTO/NET3-4-HOWTO.html&lt;br /&gt;
*http://www.faqs.org/docs/securing/chap9sec90.html&lt;br /&gt;
*[http://bulma.net/impresion.phtml?nIdNoticia=1309 Redes wireless con linux (Bulma)]&lt;br /&gt;
*http://www.europe.redhat.com/documentation/rhl7.2/rhl-rg-es-7.2/ch-networkscripts.php3&lt;br /&gt;
*http://www.debian.org/doc/manuals/reference/ch-gateway.es.html#s-net-dhcp&lt;br /&gt;
&lt;br /&gt;
[[Category:DissenyXarxesLinux]] [[Category:LinuxAdministracioAvancada]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Fibra_%C3%B2ptica</id>
		<title>Fibra òptica</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Fibra_%C3%B2ptica"/>
				<updated>2010-11-07T18:00:39Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Es crea la pàgina amb «  =Fibra òptica= Consisteix en una guia de llum amb materials millors que el anterior en varis aspectes. Aixo li podem añadir que en la fibra òptica la senyal no es ba…».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=Fibra òptica=&lt;br /&gt;
Consisteix en una guia de llum amb materials millors que el anterior en varis aspectes. Aixo li podem añadir que en la fibra òptica la senyal no es baixa tant como en el de cobre, ja que en las fibres no es perd informació per refracció o dispersió de llum consignin així bons rendiments, en el cobre, en canviem, las senyals es ven atenuades per la resistència del material a la propagació de las ones electromagnètiques de forma major. A demés, es poden emitir a la vegada per el cable varies senyales diferents amb distintes frecuencies per subdistingir-les, lo que en telefonia se diu unir o multiplexar diferents conversacions eléctriques. També es pot usar la fibra òptica per que transmeti llum directament i altre tipus de venteges.&lt;br /&gt;
&lt;br /&gt;
=Característiques=&lt;br /&gt;
&lt;br /&gt;
La fibra òptica està formada per tres parts diferenciades:&lt;br /&gt;
&lt;br /&gt;
*Nucli: Filament transparent fet d'algun tipus de vidre o plàstic el diàmetre està comprés entre 8 i 600 micres depenent del tipus de fibra òptica. Té un índex de refracció alt.&lt;br /&gt;
*Revestiment: Permet retenir la llum dins el nucli i provocar la reflexió total d'aquesta. Per a que això sigui possible, l'índex de refracció del revestiment ha de ser inferior al del nucli.&lt;br /&gt;
*Coberta: Protegeix la fibra fent-la més robusta i evitant que es malmeti. Està formada per material plàstic.&lt;br /&gt;
&lt;br /&gt;
== Ventatges ==&lt;br /&gt;
&lt;br /&gt;
* El amplada de banda es molt gran, hi han sistemes de multiplexió que permeten enviar 32 fets de llum a una velocitat de 10Gb/s  cadascun a un per una mateixa fibra, donant lloc a una velocitat total de 320Gb/s.&lt;br /&gt;
* Atenuació es baixa.&lt;br /&gt;
* Es immune al soroll electromagnètic.&lt;br /&gt;
* La matèria prima amb la que es fabrique es abundant.&lt;br /&gt;
* Es lleugera en comparació amb cableixat elèctric tradicional, aproximadament un ordén de magnitud.&lt;br /&gt;
&lt;br /&gt;
== Desventatges ==&lt;br /&gt;
 &lt;br /&gt;
* La fragilitat de las fibres.&lt;br /&gt;
* Necessitat de utilitzar transmissores i receptores més caros&lt;br /&gt;
* Els empalmes entre fibres son difícils de realitzar, especialment en el camp, lo que dificulta les reparacions en cas de ruptura del cable.&lt;br /&gt;
* No pot transmeti electricitat per alimentar repetidores que es troben enmig&lt;br /&gt;
* La necessitat de efectuar, en molts casos, processos de conversió elèctrica-òptica.&lt;br /&gt;
* La fibra òptica convencional no pot transmeti potenciàs elevades.&lt;br /&gt;
* No existeixen memòries òptiques.&lt;br /&gt;
&lt;br /&gt;
=Aplicacions=&lt;br /&gt;
&lt;br /&gt;
El seu us es molt variat, des de comunicacions digitals, passant per sensors i arribant a usos decoratius, com arbres de nadal, beladors, etc&lt;br /&gt;
&lt;br /&gt;
==Comunicacions con fibra òptica==&lt;br /&gt;
&lt;br /&gt;
La fibra òptica es utilitzada com a mitja per les telecomunicacions i per xarxes ja que la fibra es flexible i pot usar-se com un paquet de cables, per això usaven cables de fibra òptica. Les fibres usades en aquest camp son de plàstic o de vidre, algunes vegades dels dos tipus. Per usos interurbans son de cristall per la baixa atenuació que tenen. Per les comunicacions s'utilitzen fibres multimode per a complements de llarga distancia. Donat que les fibres monomode son més sensibles els empalmes, soldadures i conectas, les fibres y complements aquest son més cars que els de fibra multimode.&lt;br /&gt;
&lt;br /&gt;
==Sensors de fibra òptica==&lt;br /&gt;
&lt;br /&gt;
Les fibres òptiques es poden utilitzar com a sensors per medir la tensió, la temperatura, la presiò i altres paràmetres. El tamany petit i el fet per ells no circula electricitat això dona certes ventatges respecte al sensor electrònic.&lt;br /&gt;
&lt;br /&gt;
Les fibres òptiques s'utilitzen com a hidrofons per els terratrèmols o aplicacions del sonar. S'ha desenvolupat sistemes hidrofonics amb més de 100 sensors utilitzen la fibra òptica. Els hidrofons son usats per la industria del petroli així com les marines de guerra de alguns països. &lt;br /&gt;
&lt;br /&gt;
==Altres usos de la fibra óptica==&lt;br /&gt;
&lt;br /&gt;
Les fibres òptiques son utilitzades en el camp de la il·luminació. Per identificar don la llum pot ser recollida en el terrat i ser portada mitjançant fibra òptica a qualsevol part del edifici. Per fer productes decoratius, com arbres de nadal, llampares, etc.&lt;br /&gt;
&lt;br /&gt;
= Tipus de fibra òptica =&lt;br /&gt;
&lt;br /&gt;
Segons el mode de propagació tenim dos tipus de fibra òptica: multimodo i monomodo.&lt;br /&gt;
&lt;br /&gt;
== Fibra multimodo ==&lt;br /&gt;
&lt;br /&gt;
Es una fibra que pot propaga més de un mode de llum. Una fibra multimode pot tenir més de mil modes de propagació de llum. Les fibres multimode s'utilitzen comunament en aplicacions de petita distancia, menors de 1 km. Simple de dissenyar i econòmic. La seva distancia màxima es de 2 km i s'utilitza canó làser de baixa intensitat&lt;br /&gt;
&lt;br /&gt;
Depèn el tipus de índex de refracció del nucli, tenim dos tipus de fibra multimodo:&lt;br /&gt;
&lt;br /&gt;
* Salto de índex en aquest tipus de fibra, el nucli té un índex de refracció constant en tota la secció cilíndrica.&lt;br /&gt;
* índex gradual: Aquest tipus, el índex de refracció no es constant.&lt;br /&gt;
&lt;br /&gt;
== Fibra monomodo ==&lt;br /&gt;
&lt;br /&gt;
Una fibra monomodo es una fibra óptica en la que solament es propaga un modo de llum. Es redueix el diamete del nucli de la fibra fins a un tamany (8,3 a 10 microones) que això permet un modo de propagació. La distancia màxima es de 3 Km. i usa hub amb canó làser de alta intensitat.&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Netgear_WG602</id>
		<title>Netgear WG602</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Netgear_WG602"/>
				<updated>2010-11-07T08:10:14Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Factory defaults ==&lt;br /&gt;
&lt;br /&gt;
:*'''IP''': 192.168.0.227&lt;br /&gt;
:*'''Usuari''': admin&lt;br /&gt;
:*'''Password''': password&lt;br /&gt;
&lt;br /&gt;
== On l'he muntat? ==&lt;br /&gt;
&lt;br /&gt;
Casa mare Carmen&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Buffalo_WHR-HP-G300N</id>
		<title>Buffalo WHR-HP-G300N</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Buffalo_WHR-HP-G300N"/>
				<updated>2010-11-07T07:25:22Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Redirecció a Buffalo Airstation Nfiniti&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Buffalo Airstation Nfiniti]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Mikrotik_RouterBoard_750/ca</id>
		<title>Mikrotik RouterBoard 750/ca</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Mikrotik_RouterBoard_750/ca"/>
				<updated>2010-11-06T16:43:47Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Vegeu també */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{nota|Es tracta d'un router real de 5 ports, però cal tenir en compte que la configuració per defecte simula un router SOHO típic amb [[NAT]] amb dos interfícies WAN i LAN on la LAN és una switch de 4 ports}}&lt;br /&gt;
&lt;br /&gt;
== Reset to factory defaults ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*[[RouterOS#Fer_un_reset_de_la_configuraci.C3.B3]]&lt;br /&gt;
&lt;br /&gt;
=== Reset amb reset button ===&lt;br /&gt;
&lt;br /&gt;
Cal mantenir apretat amb quelcom amb punta el botó de reset mentrestant connectem la font d'alimentació. Cal mantenir premut el botó fins que el boto activity parpallegi. Això tornar el router a la configuració de fàbrica.&lt;br /&gt;
&lt;br /&gt;
== Configuració de fàbrica ==&lt;br /&gt;
&lt;br /&gt;
Els valors per defecte del dispositiu són:&lt;br /&gt;
&lt;br /&gt;
:*'''IP''': 192.168.1.1&lt;br /&gt;
:*'''Màscara''': 255.255.255.0&lt;br /&gt;
:*'''Usuari''': admin&lt;br /&gt;
:*'''Paraula de pas''': sense paraula de pas&lt;br /&gt;
&lt;br /&gt;
Podeu fer [[IP aliasing]] per tal de connectar-vos:&lt;br /&gt;
&lt;br /&gt;
 $ [[ifconfig]] eth0:1 192.168.88.45 up&lt;br /&gt;
 $ [[ping]] 192.168.88.1&lt;br /&gt;
&lt;br /&gt;
I connectar-vos al [[routerOS]] amb [[winbox]] i [[wine]]:&lt;br /&gt;
&lt;br /&gt;
 $ wine winbox.exe&lt;br /&gt;
&lt;br /&gt;
A la primera connexió o després de fer un:&lt;br /&gt;
&lt;br /&gt;
 /system reset-configuration&lt;br /&gt;
&lt;br /&gt;
Us apareixerà el següent missatge:&lt;br /&gt;
&lt;br /&gt;
 The following default configuration has been installed on your router:&lt;br /&gt;
 &lt;br /&gt;
 ether1 is renamed ether1-gateway, rest of interfaces are switched &lt;br /&gt;
 IP address 192.168.88.1/24 is on switch &lt;br /&gt;
 DHCP client is on ether1-gateway &lt;br /&gt;
 DHCP server is on switch, with address pool 192.168.88.10-192.168.88.254 &lt;br /&gt;
 masquerade on ether1-gateway  &lt;br /&gt;
 &lt;br /&gt;
 You can click on &amp;quot;Show Script&amp;quot; to see the exact commands that are used to add and remove this default configuration.To remove this default configuration click on &amp;quot;Remove   &lt;br /&gt;
 Configuration&amp;quot; or click on &amp;quot;OK&amp;quot; to continue.  &lt;br /&gt;
 &lt;br /&gt;
 NOTE: If you are connected using the above IP and you remove it, you will be disconnected.&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
:*http://wiki.mikrotik.com/wiki/First_time_startup&lt;br /&gt;
&lt;br /&gt;
=== Script per defecte ===&lt;br /&gt;
&lt;br /&gt;
 #| ether1 is renamed ether1-gateway, rest of interfaces are switched&lt;br /&gt;
 #| IP address 192.168.88.1/24 is on switch&lt;br /&gt;
 #| DHCP client is on ether1-gateway&lt;br /&gt;
 #| DHCP server is on switch, with address pool 192.168.88.10-192.168.88.254&lt;br /&gt;
 #| masquerade on ether1-gateway&lt;br /&gt;
 :global action&lt;br /&gt;
 &lt;br /&gt;
 # these commands are executed after installation or configuration reset&lt;br /&gt;
 :if ($action = &amp;quot;apply&amp;quot;) do={&lt;br /&gt;
     /interface set ether1 name=ether1-gateway&lt;br /&gt;
     /interface set ether2 name=ether2-local-master&lt;br /&gt;
     /interface set ether3 name=ether3-local-slave&lt;br /&gt;
     /interface set ether4 name=ether4-local-slave&lt;br /&gt;
     /interface set ether5 name=ether5-local-slave  &lt;br /&gt;
 &lt;br /&gt;
     /interface ethernet set ether3-local-slave master-port=ether2-local-master&lt;br /&gt;
     /interface ethernet set ether4-local-slave master-port=ether2-local-master&lt;br /&gt;
     /interface ethernet set ether5-local-slave master-port=ether2-local-master &lt;br /&gt;
 &lt;br /&gt;
     /ip address add address=192.168.88.1/24 interface=ether2-local-master comment=&amp;quot;default configuration&amp;quot;  &lt;br /&gt;
 &lt;br /&gt;
     :if ([:len [/system package find name=&amp;quot;dhcp&amp;quot; !disabled]] != 0) do={&lt;br /&gt;
        /ip dhcp-client add interface=ether1-gateway disabled=no comment=&amp;quot;default configuration&amp;quot;;&lt;br /&gt;
        /ip pool add name=default-dhcp ranges=192.168.88.10-192.168.88.254;&lt;br /&gt;
        /ip dhcp-server add name=default address-pool=default-dhcp interface=ether2-local-master disabled=no;&lt;br /&gt;
        /ip dhcp-server network add address=192.168.88.0/24 gateway=192.168.88.1 dns-server=192.168.88.1 comment=&amp;quot;default configuration&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    /ip firewall {&lt;br /&gt;
    	filter add chain=input action=accept protocol=icmp comment=&amp;quot;default configuration&amp;quot;&lt;br /&gt;
 	filter add chain=input action=accept connection-state=established in-interface=ether1-gateway comment=&amp;quot;default configuration&amp;quot;&lt;br /&gt;
 	filter add chain=input action=accept connection-state=related in-interface=ether1-gateway comment=&amp;quot;default configuration&amp;quot;&lt;br /&gt;
 	filter add chain=input action=drop in-interface=ether1-gateway comment=&amp;quot;default configuration&amp;quot;&lt;br /&gt;
         nat add chain=srcnat out-interface=ether1-gateway action=masquerade comment=&amp;quot;default configuration&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    /ip dns {&lt;br /&gt;
    	set allow-remote-requests=yes&lt;br /&gt;
    	static add name=router address=192.168.88.1&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    /tool mac-server remove [find]&lt;br /&gt;
    /tool mac-server add interface=ether2-local-master disabled=no&lt;br /&gt;
    /tool mac-server add interface=ether3-local-slave disabled=no&lt;br /&gt;
    /tool mac-server add interface=ether4-local-slave disabled=no&lt;br /&gt;
    /tool mac-server add interface=ether5-local-slave disabled=no&lt;br /&gt;
 &lt;br /&gt;
    /tool mac-server mac-winbox disable [find]&lt;br /&gt;
    /tool mac-server mac-winbox add interface=ether2-local-master disabled=no&lt;br /&gt;
    /tool mac-server mac-winbox add interface=ether3-local-slave disabled=no&lt;br /&gt;
    /tool mac-server mac-winbox add interface=ether4-local-slave disabled=no&lt;br /&gt;
    /tool mac-server mac-winbox add interface=ether5-local-slave disabled=no&lt;br /&gt;
 &lt;br /&gt;
    /ip neighbor discovery set [find name=ether1-gateway] discover=no&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # these commands are executed if user requests to remove default configuration&lt;br /&gt;
 :if ($action = &amp;quot;revert&amp;quot;) do={&lt;br /&gt;
    /ip firewall {&lt;br /&gt;
        :local o [nat find comment=&amp;quot;default configuration&amp;quot;]&lt;br /&gt;
        :if ([:len $o] != 0) do={ nat remove $o }&lt;br /&gt;
 &lt;br /&gt;
        :local o [filter find comment=&amp;quot;default configuration&amp;quot;]&lt;br /&gt;
        :if ([:len $o] != 0) do={ filter remove $o }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    :if ([:len [/system package find name=&amp;quot;dhcp&amp;quot; !disabled]] != 0) do={&lt;br /&gt;
        :local o [/ip dhcp-server network find comment=&amp;quot;default configuration&amp;quot;]&lt;br /&gt;
        :if ([:len $o] != 0) do={ /ip dhcp-server network remove $o }&lt;br /&gt;
 &lt;br /&gt;
        :local o [/ip dhcp-server find name=&amp;quot;default&amp;quot; address-pool=&amp;quot;default-dhcp&amp;quot; interface=ether2-local-master !disabled]&lt;br /&gt;
        :if ([:len $o] != 0) do={ /ip dhcp-server remove $o }&lt;br /&gt;
 &lt;br /&gt;
        /ip pool {&lt;br /&gt;
            :local o [find name=default-dhcp ranges=192.168.88.10-192.168.88.254]&lt;br /&gt;
            :if ([:len $o] != 0) do={ remove $o }&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        :local o [/ip dhcp-client find comment=&amp;quot;default configuration&amp;quot;]&lt;br /&gt;
        :if ([:len $o] != 0) do={ /ip dhcp-client remove $o }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    /ip dns {&lt;br /&gt;
    	set allow-remote-requests=no&lt;br /&gt;
        :local o [static find name=router address=192.168.88.1]&lt;br /&gt;
        :if ([:len $o] != 0) do={ static remove $o }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    /ip address {&lt;br /&gt;
        :local o [find comment=&amp;quot;default configuration&amp;quot;]&lt;br /&gt;
        :if ([:len $o] != 0) do={ remove $o }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    /tool mac-server remove [find]&lt;br /&gt;
    /tool mac-server add interface=all disabled=no&lt;br /&gt;
 &lt;br /&gt;
    /tool mac-server mac-winbox remove [find interface!=all]&lt;br /&gt;
    /tool mac-server mac-winbox set [find] disabled=no &lt;br /&gt;
 &lt;br /&gt;
    /ip neighbor discovery set [find name=ether1-gateway] discover=yes&lt;br /&gt;
 &lt;br /&gt;
    /interface ethernet set ether3-local-slave master-port=none&lt;br /&gt;
    /interface ethernet set ether4-local-slave master-port=none&lt;br /&gt;
    /interface ethernet set ether5-local-slave master-port=none&lt;br /&gt;
 &lt;br /&gt;
    /interface set ether1-gateway name=ether1&lt;br /&gt;
    /interface set ether2-local-master name=ether2&lt;br /&gt;
    /interface set ether3-local-slave name=ether3&lt;br /&gt;
    /interface set ether4-local-slave name=ether4&lt;br /&gt;
    /interface set ether5-local-slave name=ether5&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Convertir la configuració per defecte a un router de 5 ports ==&lt;br /&gt;
&lt;br /&gt;
A interfaces cliquem a cada interfície i els canviem el nom a:&lt;br /&gt;
&lt;br /&gt;
 ether1&lt;br /&gt;
 ether2&lt;br /&gt;
 ether3&lt;br /&gt;
 ether4&lt;br /&gt;
 ether5&lt;br /&gt;
&lt;br /&gt;
A les interfaces 3,4 i 5 posem none a master-port (així eliminem el switch).&lt;br /&gt;
&lt;br /&gt;
{{nota| La IP per defecte 192.168.88.1 només s'assigna a la ether2! Si elimineu la configuració en mode switch (mirror) a partir d'ara només us podreu connectar al router utilitzant aquesta ip pel port ether2}}&lt;br /&gt;
&lt;br /&gt;
== Configuració pas a pas ==&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
:*Per configurar les adreces de xarxa cal:&lt;br /&gt;
::*Crear les interfícies amb les seves adreçes IP&lt;br /&gt;
::*Crear les rutes de xarxa local a routes&lt;br /&gt;
&lt;br /&gt;
{{nota|A diferència d'altres sistemes (per exemple el que fa l'ordre [[ifconfig]] en sistemes [[Linux]]), al assignar una adreça IP a una interfície, no configura automàticament les routes de xarxa local (vegeu ordre [[route]])}}&lt;br /&gt;
&lt;br /&gt;
== Vegeu també ==&lt;br /&gt;
&lt;br /&gt;
:*[[Guifi.net]]&lt;br /&gt;
:*[[DeltComunitatdeRegants]]&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Android</id>
		<title>Android</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Android"/>
				<updated>2010-10-23T14:35:54Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Vegeu també [[HTC Hero]]&lt;br /&gt;
&lt;br /&gt;
:*http://blackhold.nusepas.com/2010/01/traduccion-android-al-catalan/&lt;br /&gt;
&lt;br /&gt;
Mòbils configurables i oberts:&lt;br /&gt;
&lt;br /&gt;
 http://synapse-phones.com/order.php&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
&lt;br /&gt;
:*http://android-dls.com/wiki/index.php?title=Android_FAQ&lt;br /&gt;
&lt;br /&gt;
Vegeu també:&lt;br /&gt;
&lt;br /&gt;
:*[[HTC_Hero#Terminologia]]&lt;br /&gt;
&lt;br /&gt;
= Versions =&lt;br /&gt;
&lt;br /&gt;
:*http://android-dls.com/wiki/index.php?title=Android_FAQ#Q:_What_is_the_release_history_of_Android.3F&lt;br /&gt;
&lt;br /&gt;
=Android Dev Phone (ADP)=&lt;br /&gt;
&lt;br /&gt;
El [[ADP]] o [[Android Dev Phone]] és un mòbil especial amb un SIM desbloquejada i un hardware desbloquejat que esta pensat per al desenvolupadors avançats. És una versió del HTC Dream. També hi ha un ADP 2 basat en HTC Magic... El Nexus One és lliure i és l'utilitzar actualment? (--[[Usuari:Sergi|acacha]] 08:40, 19 ago 2010 (UTC))&lt;br /&gt;
&lt;br /&gt;
:*http://en.wikipedia.org/wiki/Android_Dev_Phone&lt;br /&gt;
:*http://developer.android.com/guide/developing/device.html&lt;br /&gt;
&lt;br /&gt;
=Hacking=&lt;br /&gt;
&lt;br /&gt;
:*http://android-dls.com/wiki/index.php?title=Android_FAQ#Platform_Hacking_and_Development&lt;br /&gt;
&lt;br /&gt;
== Codi font==&lt;br /&gt;
&lt;br /&gt;
:*http://source.android.com/download&lt;br /&gt;
&lt;br /&gt;
== Que no és Open Source? ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
 Q: Is all of the firmware opensourced? If not, what isn't?&lt;br /&gt;
&lt;br /&gt;
A: No. Currently, the kernel is fully opensourced. However there are still some some proprietary userspace bits, which include:&lt;br /&gt;
&lt;br /&gt;
    * htc RIL (radio interface) library and data files &lt;br /&gt;
&lt;br /&gt;
 (this is glue between the telephony layer in android and the AT/QMI&lt;br /&gt;
  control channels provided via GPL kernel drivers)&lt;br /&gt;
&lt;br /&gt;
    * libhgl.so - qualcomm/ati opengl ES library&lt;br /&gt;
    * libqcamera.so - qualcomm camera library&lt;br /&gt;
    * akmd - software to process and adjust compass/accelerometer events&lt;br /&gt;
    * qualcomm h264 codec frontend (does some processing the dsp cannot do)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sistemes de fitxers suportats ==&lt;br /&gt;
&lt;br /&gt;
Els [[Sistemes de fitxers]] suportat són:&lt;br /&gt;
&lt;br /&gt;
:*[[YAFFS]]&lt;br /&gt;
:*[[vFat]] ([[FAT32]]. Vegeu [[FAT]])&lt;br /&gt;
&lt;br /&gt;
== Instal·lar Debian a Android ==&lt;br /&gt;
&lt;br /&gt;
:*http://www.saurik.com/id/10&lt;br /&gt;
&lt;br /&gt;
= Android SDK =&lt;br /&gt;
&lt;br /&gt;
== Configurar un dispositiu per a depurar-lo ==&lt;br /&gt;
&lt;br /&gt;
 Traduït de http://developer.android.com/guide/developing/device.html&lt;br /&gt;
&lt;br /&gt;
Els passos a seguir són:&lt;br /&gt;
&lt;br /&gt;
:*Declarar al manifest de la nostra aplicació que l'aplicació es depurable. Al fitxer [[XML]] [[AndroidManifest.xml]] afegiu:&lt;br /&gt;
&lt;br /&gt;
 android:debuggable=&amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A l'element '''&amp;lt;application&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
:*Al mòbil activar la depuració USB:&lt;br /&gt;
&lt;br /&gt;
 Des de la Home Screen --&amp;gt; Boto MENU, select Applications &amp;gt; Development, then enable USB debugging.&lt;br /&gt;
&lt;br /&gt;
:*Configurar el sistema per detectar el dispositiu:&lt;br /&gt;
&lt;br /&gt;
A Ubuntu Linux:&lt;br /&gt;
&lt;br /&gt;
Cal configurar [[udev]] creant el fitxer:             &lt;br /&gt;
 &lt;br /&gt;
 /etc/udev/rules.d/51-android.rules.&lt;br /&gt;
&lt;br /&gt;
I afegir:&lt;br /&gt;
&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, SYSFS{idVendor}==&amp;quot;0bb4&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
L'exemple és per un dispositiu HTC. La llista de venedors:&lt;br /&gt;
&lt;br /&gt;
 Manufacturer	USB Vendor ID&lt;br /&gt;
 Acer 	0502&lt;br /&gt;
 Dell 	413c&lt;br /&gt;
 Foxconn 	0489&lt;br /&gt;
 Garmin-Asus 	091E&lt;br /&gt;
 HTC 	0bb4&lt;br /&gt;
 Huawei 	12d1&lt;br /&gt;
 Kyocera 	0482&lt;br /&gt;
 LG 	1004&lt;br /&gt;
 Motorola 	22b8&lt;br /&gt;
 Nvidia 	0955&lt;br /&gt;
 Pantech 	10A9&lt;br /&gt;
 Samsung 	04e8&lt;br /&gt;
 Sharp 	04dd&lt;br /&gt;
 Sony Ericsson 	0fce&lt;br /&gt;
 ZTE 	19D2&lt;br /&gt;
&lt;br /&gt;
:*Canvieu els permisos del fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ sudo chmod a+r /etc/udev/rules.d/51-android.rules&lt;br /&gt;
&lt;br /&gt;
Amb [[adb]] cal utilitzar -d flag per depurar. Amb [[Eclipse]] es fa normal i corrent.&lt;br /&gt;
 &lt;br /&gt;
== adb ==&lt;br /&gt;
&lt;br /&gt;
Adb són les sigles de:&lt;br /&gt;
&lt;br /&gt;
 Android Debug Bridge&lt;br /&gt;
&lt;br /&gt;
Es tracta d'una eina de línia d'ordres que es part del Android SDK (la trobareu a la carpeta tools). Les opcions són:&lt;br /&gt;
&lt;br /&gt;
 $ ./adb &lt;br /&gt;
 Android Debug Bridge version 1.0.26&lt;br /&gt;
 &lt;br /&gt;
  -d                            - directs command to the only connected USB device&lt;br /&gt;
                                  returns an error if more than one USB device is present.&lt;br /&gt;
  -e                            - directs command to the only running emulator.&lt;br /&gt;
                                  returns an error if more than one emulator is running.&lt;br /&gt;
  -s &amp;lt;serial number&amp;gt;            - directs command to the USB device or emulator with&lt;br /&gt;
                                  the given serial number. Overrides ANDROID_SERIAL&lt;br /&gt;
                                  environment variable.&lt;br /&gt;
  -p &amp;lt;product name or path&amp;gt;     - simple product name like 'sooner', or&lt;br /&gt;
                                   a relative/absolute path to a product&lt;br /&gt;
                                  out directory like 'out/target/product/sooner'.&lt;br /&gt;
                                  If -p is not specified, the ANDROID_PRODUCT_OUT&lt;br /&gt;
                                  environment variable is used, which must&lt;br /&gt;
                                  be an absolute path.&lt;br /&gt;
  devices                       - list all connected devices&lt;br /&gt;
  connect &amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;         - connect to a device via TCP/IP&lt;br /&gt;
  disconnect &amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;      - disconnect from a TCP/IP device&lt;br /&gt;
 &lt;br /&gt;
 device commands:&lt;br /&gt;
   adb push &amp;lt;local&amp;gt; &amp;lt;remote&amp;gt;    - copy file/dir to device&lt;br /&gt;
   adb pull &amp;lt;remote&amp;gt; [&amp;lt;local&amp;gt;]  - copy file/dir from device&lt;br /&gt;
   adb sync [ &amp;lt;directory&amp;gt; ]     - copy host-&amp;gt;device only if changed&lt;br /&gt;
                                  (see 'adb help all')&lt;br /&gt;
   adb shell                    - run remote shell interactively&lt;br /&gt;
   adb shell &amp;lt;command&amp;gt;          - run remote shell command&lt;br /&gt;
   adb emu &amp;lt;command&amp;gt;            - run emulator console command&lt;br /&gt;
   adb logcat [ &amp;lt;filter-spec&amp;gt; ] - View device log&lt;br /&gt;
   adb forward &amp;lt;local&amp;gt; &amp;lt;remote&amp;gt; - forward socket connections&lt;br /&gt;
                                  forward specs are one of: &lt;br /&gt;
                                    tcp:&amp;lt;port&amp;gt;&lt;br /&gt;
                                    localabstract:&amp;lt;unix domain socket name&amp;gt;&lt;br /&gt;
                                    localreserved:&amp;lt;unix domain socket name&amp;gt;&lt;br /&gt;
                                    localfilesystem:&amp;lt;unix domain socket name&amp;gt;&lt;br /&gt;
                                    dev:&amp;lt;character device name&amp;gt;&lt;br /&gt;
                                    jdwp:&amp;lt;process pid&amp;gt; (remote only)&lt;br /&gt;
   adb jdwp                     - list PIDs of processes hosting a JDWP transport&lt;br /&gt;
   adb install [-l] [-r] [-s] &amp;lt;file&amp;gt; - push this package file to the device and install it&lt;br /&gt;
                                  ('-l' means forward-lock the app)&lt;br /&gt;
                                  ('-r' means reinstall the app, keeping its data)&lt;br /&gt;
                                  ('-s' means install on SD card instead of internal storage)&lt;br /&gt;
   adb uninstall [-k] &amp;lt;package&amp;gt; - remove this app package from the device&lt;br /&gt;
                                  ('-k' means keep the data and cache directories)&lt;br /&gt;
   adb bugreport                - return all information from the device&lt;br /&gt;
                                  that should be included in a bug report.&lt;br /&gt;
 &lt;br /&gt;
   adb help                     - show this help message&lt;br /&gt;
   adb version                  - show version num  &lt;br /&gt;
 &lt;br /&gt;
 DATAOPTS:&lt;br /&gt;
  (no option)                   - don't touch the data partition&lt;br /&gt;
   -w                           - wipe the data partition&lt;br /&gt;
   -d                           - flash the data partition &lt;br /&gt;
  &lt;br /&gt;
 scripting:&lt;br /&gt;
   adb wait-for-device          - block until device is online&lt;br /&gt;
   adb start-server             - ensure that there is a server running&lt;br /&gt;
   adb kill-server              - kill the server if it is running&lt;br /&gt;
   adb get-state                - prints: offline | bootloader | device&lt;br /&gt;
   adb get-serialno             - prints: &amp;lt;serial-number&amp;gt;&lt;br /&gt;
   adb status-window            - continuously print device status for a specified device&lt;br /&gt;
   adb remount                  - remounts the /system partition on the device read-write&lt;br /&gt;
   adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program&lt;br /&gt;
   adb reboot-bootloader        - reboots the device into the bootloader&lt;br /&gt;
   adb root                     - restarts the adbd daemon with root permissions&lt;br /&gt;
   adb usb                      - restarts the adbd daemon listening on USB&lt;br /&gt;
   adb tcpip &amp;lt;port&amp;gt;             - restarts the adbd daemon listening on TCP on the specified port&lt;br /&gt;
 networking:&lt;br /&gt;
   adb ppp &amp;lt;tty&amp;gt; [parameters]   - Run PPP over USB.&lt;br /&gt;
  Note: you should not automatically start a PPP connection.&lt;br /&gt;
  &amp;lt;tty&amp;gt; refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1&lt;br /&gt;
  [parameters] - Eg. defaultroute debug dump local notty usepeerdns&lt;br /&gt;
 &lt;br /&gt;
 adb sync notes: adb sync [ &amp;lt;directory&amp;gt; ]&lt;br /&gt;
   &amp;lt;localdir&amp;gt; can be interpreted in several ways: &lt;br /&gt;
 &lt;br /&gt;
   - If &amp;lt;directory&amp;gt; is not specified, both /system and /data partitions will be updated.&lt;br /&gt;
 &lt;br /&gt;
   - If it is &amp;quot;system&amp;quot; or &amp;quot;data&amp;quot;, only the corresponding partition&lt;br /&gt;
     is updated.&lt;br /&gt;
   &lt;br /&gt;
=== Obtenir una shell amb adb ===&lt;br /&gt;
&lt;br /&gt;
Des de la carpeta tool del SDK d'Android:&lt;br /&gt;
&lt;br /&gt;
 $ ./adb shell&lt;br /&gt;
&lt;br /&gt;
=== Consultar els dispositius detectats ===&lt;br /&gt;
&lt;br /&gt;
 $ ./adb devices&lt;br /&gt;
 List of devices attached &lt;br /&gt;
 HT97WL902677	recovery&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== error: device not found ====&lt;br /&gt;
&lt;br /&gt;
Si teniu l'error:&lt;br /&gt;
&lt;br /&gt;
 $ ./adb shell&lt;br /&gt;
 * daemon not running. starting it now *&lt;br /&gt;
 * daemon started successfully *&lt;br /&gt;
 error: device not found&lt;br /&gt;
&lt;br /&gt;
A altres ordres us donarà l'error:&lt;br /&gt;
&lt;br /&gt;
 - waiting for device -&lt;br /&gt;
&lt;br /&gt;
Cal seguir les passes de:&lt;br /&gt;
&lt;br /&gt;
 [[Android#Configurar_udev_per_tal_que_reconegui_el_dispositiu_HTC]]&lt;br /&gt;
&lt;br /&gt;
Tampoc cal oblidar activar la depuració USB des del mòbil a la configuració --&amp;gt; Aplicaciones --&amp;gt; Desarrollo. De fet millor seguir la guia completa:&lt;br /&gt;
&lt;br /&gt;
 [[Android#Configurar_un_dispositiu_per_a_depurar-lo]]&lt;br /&gt;
&lt;br /&gt;
== Configurar udev per tal que reconegui el dispositiu HTC ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[joe]] /etc/udev/rules.d/51-android.rules&lt;br /&gt;
&lt;br /&gt;
Afegiu les següents línies:&lt;br /&gt;
&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, SYSFS{idVendor}==&amp;quot;0bb4&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Premeu Ctrl+K+x. Canvieu els permisos del fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ chmod a+rx /etc/udev/rules.d/70-android.rules&lt;br /&gt;
&lt;br /&gt;
I ara feu:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/udev restart&lt;br /&gt;
&lt;br /&gt;
A les noves versions d'Ubuntu cal posar:&lt;br /&gt;
&lt;br /&gt;
 $ sudo restart udev&lt;br /&gt;
&lt;br /&gt;
== lsusb i HTC Hero ==&lt;br /&gt;
&lt;br /&gt;
Escriviu:&lt;br /&gt;
&lt;br /&gt;
 $ [[watch]] [[lsusb]]&lt;br /&gt;
 &lt;br /&gt;
Connecteu el dispositiu HTC amb el cable USB (el dispositiu HTC ha d'estar encès). Apareixerà una línia com la següent:&lt;br /&gt;
&lt;br /&gt;
 Bus 002 Device 007: ID 0bb4:0c01 High Tech Computer Corp.&lt;br /&gt;
&lt;br /&gt;
On:&lt;br /&gt;
&lt;br /&gt;
:*'''0bb4''': és el vendor ID (HTC)&lt;br /&gt;
:*'''0c01''': és el dispositiu (HTC Hero)&lt;br /&gt;
&lt;br /&gt;
Si l'encenem en mode [[FastBoot]] les dades són diferents:&lt;br /&gt;
&lt;br /&gt;
 Bus 002 Device 010: ID 0bb4:0fff High Tech Computer Corp.&lt;br /&gt;
&lt;br /&gt;
== Afegir fasboot a adb==&lt;br /&gt;
&lt;br /&gt;
El fitxer binari el podeu obtenir amb wget:&lt;br /&gt;
&lt;br /&gt;
 $ wget http://android-dls.com/files/linux/fastboot&lt;br /&gt;
&lt;br /&gt;
El feu executable:&lt;br /&gt;
&lt;br /&gt;
 $ sudo chmod +x fastboot&lt;br /&gt;
&lt;br /&gt;
Ara el copieu a la carpeta tools del Android SDK i ja el teniu.&lt;br /&gt;
&lt;br /&gt;
:*http://forum.xda-developers.com/showthread.php?t=537508&lt;br /&gt;
&lt;br /&gt;
== Fitxers de log ==&lt;br /&gt;
&lt;br /&gt;
 $ ./[[adb]] logcat&lt;br /&gt;
&lt;br /&gt;
També hi ha una aplicació per consultar el fitxer de log des del mòbil:&lt;br /&gt;
&lt;br /&gt;
 http://code.google.com/p/android-random/&lt;br /&gt;
&lt;br /&gt;
=Rootear=&lt;br /&gt;
&lt;br /&gt;
Consulteu [[HTC Hero]]&lt;br /&gt;
:*http://www.tuxapuntes.com/drupal/book/export/html/1696&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Aplicacions=&lt;br /&gt;
&lt;br /&gt;
Per activar el [[Android Market]] amb aplicacions de pagaments (s'activen segons el proveïdor i el pais): &lt;br /&gt;
&lt;br /&gt;
:*[http://code.google.com/p/market-enabler/ Market Enabler]&lt;br /&gt;
&lt;br /&gt;
De pagament:&lt;br /&gt;
&lt;br /&gt;
:*http://www.codesector.com/maverick.php?am&lt;br /&gt;
&lt;br /&gt;
=Instal·lació amb Eclipse=&lt;br /&gt;
&lt;br /&gt;
--[[Usuari:Sergi|acacha]] 11:50, 12 febr 2009 (CET)&lt;br /&gt;
&lt;br /&gt;
Seguiu els passos de l'article [[Instal%C2%B7laci%C3%B3_d%27eclipse%2C_pas_a_pas_a_Ubuntu | Eclipse pas a pas a Ubuntu]] per tal d'instal·lar Eclipse.&lt;br /&gt;
&lt;br /&gt;
Ara aneu a la web de Android:&lt;br /&gt;
&lt;br /&gt;
 http://code.google.com/android/download.html&lt;br /&gt;
&lt;br /&gt;
I descarregueu l'Android. Abans heu d'acceptar la llicència.&lt;br /&gt;
&lt;br /&gt;
Entreu a la carpeta eclipse i creeu una carpeta per Android:&lt;br /&gt;
&lt;br /&gt;
 $ cd eclipse&lt;br /&gt;
 $ wget http://dl.google.com/android/android-sdk-linux_x86-1.0_r2.zip&lt;br /&gt;
&lt;br /&gt;
Podeu comprovar que la descarrega és correcta amb:&lt;br /&gt;
&lt;br /&gt;
 $  md5sum android-sdk-linux_x86-1.0_r2.zip &lt;br /&gt;
a1f3b6d854596f850f5008856d0f380e  android-sdk-linux_x86-1.0_r2.zip&lt;br /&gt;
&lt;br /&gt;
Com podeu veure coincideix amb el número que apareix a la web de Android:&lt;br /&gt;
&lt;br /&gt;
 a1f3b6d854596f850f5008856d0f380e&lt;br /&gt;
 &lt;br /&gt;
Ara descomprimiu el SDK:&lt;br /&gt;
&lt;br /&gt;
 $ unzip android-sdk-linux_x86-1.0_r2.zip&lt;br /&gt;
&lt;br /&gt;
Ara afegiu al PATH del vostre sistema Android:&lt;br /&gt;
&lt;br /&gt;
 $ joe ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
Afegiu la línia&lt;br /&gt;
 &lt;br /&gt;
 export PATH=${PATH}:/home/sergi/eclipse/android-sdk-linux_x86-1.0_r2/tools&lt;br /&gt;
&lt;br /&gt;
== Plugin d'Eclipse ==&lt;br /&gt;
&lt;br /&gt;
Ara anem a instal·lar el Plugin d'Eclipse. Entreu al menú '''Help/Software Updates''' i aneu a la pestanya '''Available Software''', feu clic a '''Add Site''' i afegiu la URL:&lt;br /&gt;
&lt;br /&gt;
 https://dl-ssl.google.com/android/eclipse/&lt;br /&gt;
&lt;br /&gt;
Seleccioneu el lloc que acabeu d'afegir i feu clic a '''Install'''. Feu clic a '''Next''' i accepteu la llicència.&lt;br /&gt;
&lt;br /&gt;
Un cop hagi acabat us demanarà reiniciar Eclipse. Feu-ho. Ara procedim a configurar-lo. Aneu a '''Window/Preferences''' i seleccioneu '''Android''' i indiqueu on teniu Android. En el meu cas:&lt;br /&gt;
&lt;br /&gt;
 /home/sergi/eclipse/android-sdk-linux_x86-1.0_r2&lt;br /&gt;
&lt;br /&gt;
==Primer programa. Hola mon!==&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
*http://www.howtoforge.com/installing-google-android-sdk1.0-on-ubuntu8.04-desktop-p3&lt;br /&gt;
&lt;br /&gt;
==Alliberar HTC Magic==&lt;br /&gt;
&lt;br /&gt;
*http://sapphire.unlock-now.com/sim-unlock-Vodafone-HTC-Magic/&lt;br /&gt;
&lt;br /&gt;
==Skin HTC magic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cd android-sdk-linux_86/&lt;br /&gt;
 cd platforms/android-2.0.1/skins&lt;br /&gt;
 wget http://teavuihuang.com/android/HVGA-P-HTCMagic.zip&lt;br /&gt;
 cd &lt;br /&gt;
 cd android-sdk-linux_86/&lt;br /&gt;
 ./mksdcard -l SDCARD 512M ./SD1G.img&lt;br /&gt;
 ./android create avd --name HTCMagic --target 2 --sdcard SD1G.img --skin HVGA-P-HTCMagic&lt;br /&gt;
 ./emulator @HTCMagic&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*http://teavuihuang.com/android/HVGA-P-HTCMagic.zip&lt;br /&gt;
*http://www.emezeta.com/articulos/emulador-de-htc-magic-android&lt;br /&gt;
&lt;br /&gt;
==Línia de comandes==&lt;br /&gt;
&lt;br /&gt;
===BusyBox===&lt;br /&gt;
&lt;br /&gt;
*http://and.roid.es/foro/viewtopic.php?f=13&amp;amp;t=193&amp;amp;sid=eaecfba31507e7cbaab4af2522688d32#p1006&lt;br /&gt;
&lt;br /&gt;
===sysctl i Nucli Linux===&lt;br /&gt;
&lt;br /&gt;
*http://www.android-devs.com/?p=31&lt;br /&gt;
&lt;br /&gt;
=== Android, iperf, ConnectBoot i Proxy===&lt;br /&gt;
&lt;br /&gt;
*http://moblog.bradleyit.com/2009/12/tethering-your-non-rooted-android-based.html&lt;br /&gt;
&lt;br /&gt;
===Accés a root===&lt;br /&gt;
&lt;br /&gt;
*http://www.saurik.com/id/10&lt;br /&gt;
&lt;br /&gt;
==Bateria==&lt;br /&gt;
&lt;br /&gt;
*http://beerpla.net/2009/11/26/how-i-doubled-my-android-phones-htc-hero-battery-life-or-just-how-much-email-polling-affects-your-battery/&lt;br /&gt;
&lt;br /&gt;
==Aplicacions==&lt;br /&gt;
&lt;br /&gt;
[[Android Market]]&lt;br /&gt;
&lt;br /&gt;
*http://helektron.com/aplicaciones-gratis-e-imprescindibles-htc-hero-android/&lt;br /&gt;
&lt;br /&gt;
===wpToGo===&lt;br /&gt;
&lt;br /&gt;
Wordpress des del Android. Postejar...&lt;br /&gt;
&lt;br /&gt;
Vegeu també&lt;br /&gt;
&lt;br /&gt;
[[Wordpress]]&lt;br /&gt;
&lt;br /&gt;
==Enllaços externs==&lt;br /&gt;
*http://www.howtoforge.com/installing-google-android-sdk1.0-on-ubuntu8.04-desktop&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Ubiquity_Nanostation</id>
		<title>Ubiquity Nanostation</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Ubiquity_Nanostation"/>
				<updated>2010-10-23T05:06:33Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Com canviar la IP 192.168.1.1 per una altre que no xoqui amb les IPs tradicionals dels routers ADSL? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Nanostation 2=&lt;br /&gt;
&lt;br /&gt;
*Freqüència: 2.4Ghz&lt;br /&gt;
*Guany: 10dBi&lt;br /&gt;
*Distàncies: Fins a 15Km (segons fabricant)&lt;br /&gt;
*Velocitats de transmissió: De 1Mbps a 54mbps segons la distància&lt;br /&gt;
&lt;br /&gt;
==Nanostation loco 2==&lt;br /&gt;
&lt;br /&gt;
Pensada per a distàncies menors, és més barata i petita:&lt;br /&gt;
&lt;br /&gt;
*Freqüència: 2.4Ghz&lt;br /&gt;
*Guany: 8dBi&lt;br /&gt;
*Distàncies: Fins a 5Km (segons fabricant)&lt;br /&gt;
*Velocitats de transmissió: De 1Mbps a 54mbps segons la distància&lt;br /&gt;
&lt;br /&gt;
==Documentació oficial==&lt;br /&gt;
&lt;br /&gt;
*[http://www.ubnt.com/downloads/ns2_datasheet.pdf NS2 Datasheet]&lt;br /&gt;
*[http://www.ubnt.com/support/ns2.php NS2 Pàgina de suport]&lt;br /&gt;
*[http://www.ubnt.com/downloads/loco2_datasheet.pdf NSloco2 Datasheet]&lt;br /&gt;
*[http://www.ubnt.com/products/loco.php NSloco Pàgina de suport]&lt;br /&gt;
&lt;br /&gt;
==Paràmetres de fabrica==&lt;br /&gt;
&lt;br /&gt;
Tal i com posa a la caixa:&lt;br /&gt;
&lt;br /&gt;
*'''IP''': 192.168.1.20&lt;br /&gt;
*'''Màscara''': 255.255.255.0&lt;br /&gt;
*'''Usuari''': ubnt&lt;br /&gt;
*'''Paraula de pas''': ubnt&lt;br /&gt;
&lt;br /&gt;
==Com connectar-s'hi?==&lt;br /&gt;
&lt;br /&gt;
Amb Linux, podeu utilitzar [[IP Aliasing]] per a connectar-vos a la nanostation sense perdre la vostra connexió a Internet. A una terminal, escriviu:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifconfig eth0:1 192.168.1.25 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': Si la vostra xarxa ja és la 192.168.1.x no cal que feu cap d'aquests passos i us hi podeu connectar directament. Vigileu que no tingueu la &lt;br /&gt;
 mala sort de ja tenir una màquina amb la IP 192.168.1.20 a la vostra xarxa&lt;br /&gt;
&lt;br /&gt;
Hem escollir la IP 192.168.1.25 perquè és una de les IP lliures de la xarxa lògica on està connectada la nanostation. Amb:&lt;br /&gt;
&lt;br /&gt;
 $ ipcalc 192.168.1.20/255.255.255.0&lt;br /&gt;
 Address:   192.168.1.20         11000000.10101000.00000001. 00010100&lt;br /&gt;
 Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000&lt;br /&gt;
 Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111&lt;br /&gt;
 =&amp;gt;&lt;br /&gt;
 Network:   192.168.1.0/24       11000000.10101000.00000001. 00000000&lt;br /&gt;
 '''HostMin''':   192.168.1.1          11000000.10101000.00000001. 00000001&lt;br /&gt;
 '''HostMax''':   192.168.1.254        11000000.10101000.00000001. 11111110&lt;br /&gt;
 Broadcast: 192.168.1.255        11000000.10101000.00000001. 11111111&lt;br /&gt;
 Hosts/Net: 254                   Class C, Private Internet&lt;br /&gt;
&lt;br /&gt;
Podeu obtenir la informació de la xarxa. Qualsevol valor entre HostMin i HostMax que no estigui sent utilitzat (per exemple no podeu utilitzar la IP de la nanostation 192.168.1.20) és un valor vàlid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comproveu que la interfície s'ha creat correctament:&lt;br /&gt;
&lt;br /&gt;
 $ ifconfig eth0:1&lt;br /&gt;
 eth0:1    Link encap:Ethernet  HWaddr 00:30:05:eb:a3:8d  &lt;br /&gt;
          inet addr:192.168.1.25  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          Interrupt:20 Base address:0xa000 &lt;br /&gt;
&lt;br /&gt;
I feu un ping a la nanostation per veure si contesta:&lt;br /&gt;
&lt;br /&gt;
 $ ping 192.168.1.20&lt;br /&gt;
 PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.1.20: icmp_seq=1 ttl=64 time=2.41 ms&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Ara ja podeu connectar-vos amb el vostre navegador posant a la URL:&lt;br /&gt;
&lt;br /&gt;
 http://192.168.1.20&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Nanostation1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
La paraula de pas i l'usuari són:&lt;br /&gt;
&lt;br /&gt;
*'''Usuari''': ubnt&lt;br /&gt;
*'''Paraula de pas''': ubnt&lt;br /&gt;
&lt;br /&gt;
===Resolució de problemes en la connexió===&lt;br /&gt;
&lt;br /&gt;
Comproveu que s'ha creat la interfície virtual amb&lt;br /&gt;
&lt;br /&gt;
 $ ifconfig eth0:1&lt;br /&gt;
&lt;br /&gt;
Potser la vostra interfície de xarxa no és la eth0?&lt;br /&gt;
&lt;br /&gt;
Comproveu que s'ha creat una ruta que us permeti connectar al dispositiu:&lt;br /&gt;
&lt;br /&gt;
 $ route -n&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 '''192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0'''&lt;br /&gt;
 192.168.12.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0 &lt;br /&gt;
 169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0&lt;br /&gt;
 0.0.0.0         192.168.12.1    0.0.0.0         UG    100    0        0 eth0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
També podeu provar si la URL funciona correctament amb:&lt;br /&gt;
&lt;br /&gt;
 $ wget http://192.168.1.20&lt;br /&gt;
&lt;br /&gt;
O fer un escànner de ports amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nmap 192.168.1.20&lt;br /&gt;
 &lt;br /&gt;
 Starting Nmap 4.53 ( http://insecure.org ) at 2009-02-25 16:56 CET&lt;br /&gt;
 Interesting ports on 192.168.1.20:&lt;br /&gt;
 Not shown: 1712 closed ports&lt;br /&gt;
 PORT   STATE SERVICE&lt;br /&gt;
 23/tcp open  telnet&lt;br /&gt;
 80/tcp open  http&lt;br /&gt;
 MAC Address: 00:15:6D:AD:70:EE (Ubiquiti Networks)&lt;br /&gt;
&lt;br /&gt;
Com podeu veure també es possible accedir al dispositiu amb Telnet (només si ho heu activat des de la web de nanostation)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': Qualsevol comanda que no tingueu (com nmap o ipcalc) la podeu instal·lar amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install comanda_que_teniu&lt;br /&gt;
&lt;br /&gt;
=Nanostation 5=&lt;br /&gt;
&lt;br /&gt;
*Freqüència: 5Ghz&lt;br /&gt;
*Guany: 8dBi&lt;br /&gt;
*Distàncies: Fins a 5Km (segons fabricant)&lt;br /&gt;
*Velocitats de transmissió: De 1Mbps a 54mbps segons la distància&lt;br /&gt;
&lt;br /&gt;
==Nanostation loco 5==&lt;br /&gt;
&lt;br /&gt;
Pensada per a distàncies menors, és més barata i petita:&lt;br /&gt;
&lt;br /&gt;
*Freqüència: 5Ghz&lt;br /&gt;
*Guany: 13dBi&lt;br /&gt;
*Distàncies: Fins a 5Km (segons fabricant)&lt;br /&gt;
*Velocitats de transmissió: De 6Mbps a 54mbps segons la distància&lt;br /&gt;
&lt;br /&gt;
==Documentació oficial==&lt;br /&gt;
&lt;br /&gt;
*http://www.ubnt.com/products/nano.php&lt;br /&gt;
*[http://www.ubnt.com/downloads/ns5_datasheet.pdf NS5 datasheet]&lt;br /&gt;
*[http://www.ubnt.com/downloads/loco5_datasheet.pdf NSloco5 datasheet]&lt;br /&gt;
*[http://www.ubnt.com/products/loco.php NSloco Pàgina de suport]&lt;br /&gt;
&lt;br /&gt;
= Nanostation Mimo (M)=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Les Mimo son Airmax, es a dir porten el firmware Airos 5.2, molt mes&lt;br /&gt;
avançat, suporten WDS (ho he provat), tenen mes potencia d'emissio, i son&lt;br /&gt;
mes mones....&lt;br /&gt;
&lt;br /&gt;
A mes pensem que el suport a noves versions es per Airos 5.2, mentres que&lt;br /&gt;
les versions antigues es deixara de donar suport segurament.&lt;br /&gt;
&lt;br /&gt;
A mes les Airmax tenen suport per protocol N, es a dir millor velocitat&lt;br /&gt;
(ample de banda), basicament crec que aquestes son les diferencies mes&lt;br /&gt;
significatives.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*http://www.mail-archive.com/guifi-usuaris@llistes.projectes.lafarga.org/msg10719.html&lt;br /&gt;
&lt;br /&gt;
=Configuració per a guifi.net=&lt;br /&gt;
&lt;br /&gt;
Primer cal afegir un node a la web de [http://www.guifi.net guifi.net]. Consulteu l'article [[Exemple_pas_a_pas_de_muntatge_d'un_node_a_l'IES_Nicolau_Copèrnic]] per conèixer els detalls.&lt;br /&gt;
&lt;br /&gt;
== Configuració de la nanostation amb unsolclic ==&lt;br /&gt;
&lt;br /&gt;
Un cop tenim el node, els trastos i la radio i els enllaços creats, podem obtenir la configuració d'unsolclic. Trobareu una opció de menú al vostre node&lt;br /&gt;
&lt;br /&gt;
Per exemple:&lt;br /&gt;
&lt;br /&gt;
 http://guifi.net/guifi/device/13636/view/unsolclic&lt;br /&gt;
&lt;br /&gt;
Ha de ser quelcom similar a:&lt;br /&gt;
&lt;br /&gt;
 # Generat per a:&lt;br /&gt;
 # AirOsv30 &lt;br /&gt;
 &lt;br /&gt;
 Click here to download configuration file for: TRSCEIPMariaGaliRd1&lt;br /&gt;
 Put the mouse cursor over the link. Right click the link and select &amp;quot;Save Link/Target As...&amp;quot; to save to your Desktop.&lt;br /&gt;
 &lt;br /&gt;
 # Configuration for AirOs&amp;gt; Unsolclic version:1.0.2 !! WARNING: Beta version !!&lt;br /&gt;
 # Device: TRSCEIPMariaGaliRd1&lt;br /&gt;
 #&lt;br /&gt;
 # Methods to upload/execute the file:&lt;br /&gt;
 # 1.- As a file. Upload this through web managment:&lt;br /&gt;
 # a.System-&amp;gt;Configuratuion Managment-&amp;gt;Locate file&lt;br /&gt;
 # b.Upload&lt;br /&gt;
 # 2.- Telnet: Open a terminal session, create new /tmp/system.cfg file and cut&amp;amp;paste&lt;br /&gt;
 # the contents of the file. Save it an execute the command:&lt;br /&gt;
 #&lt;br /&gt;
 # /usr/etc/rc.d/rc.softrestart save&lt;br /&gt;
 #&lt;br /&gt;
 # Notes:&lt;br /&gt;
 # -Web access method is recommended&lt;br /&gt;
 # (the script reconfigures some IP addresses, so communication can be lost.&lt;br /&gt;
 # 192.168.1.1 will be the new one)&lt;br /&gt;
 # -Changes are done in user passwords on the device, default user and password are&lt;br /&gt;
 # changed to root/guifi.&lt;br /&gt;
 # -The ACK is set to 45 for 802.11b mode, and to 25 for 802.11a (600 meters aprox,)&lt;br /&gt;
 #&lt;br /&gt;
 ## Link to AP info&lt;br /&gt;
 Ap SSID = guifi.net-TRSACprncRd1AP0&lt;br /&gt;
 WAN Ip address = 10.139.60.34&lt;br /&gt;
 WAN Netmask = 255.255.255.224&lt;br /&gt;
 WAN Gateway = 10.139.60.33&lt;br /&gt;
 Primary DNS Server = 10.139.7.162&lt;br /&gt;
 Secondary DNS Server =&lt;br /&gt;
 Device HostName = TRSCEIPMariaGaliRd1&lt;br /&gt;
 IEEE 802.11 Mode: = B Only (2,4Ghz 11MB) &lt;br /&gt;
 &lt;br /&gt;
 Tal i com es comenta teniu dos opcions per aplicar aquesta configuració. Per la web de la nanostation o per Telnet.&lt;br /&gt;
 &lt;br /&gt;
'''Configuració per la web''' &lt;br /&gt;
&lt;br /&gt;
Primer de tot us heu de connectar al dispositiu. Els valors per defecte o de fàbrica de la nanostation són:&lt;br /&gt;
&lt;br /&gt;
*'''IP''': 192.168.1.20&lt;br /&gt;
*'''Màscara''': 255.255.255.0&lt;br /&gt;
*'''Usuari''': ubnt&lt;br /&gt;
*'''Paraula de pas''': ubnt&lt;br /&gt;
&lt;br /&gt;
Podeu utilitzar [[IP Aliasing]] per connectar-vos al dispositiu. Per exemple:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifconfig eth0:1 192.168.1.19 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': En aquest exemple suposem que la vostra interfície de xarxa és la eth0. Si no és així modifiqueu aquest valor per adaptar-lo al vostre cas.&lt;br /&gt;
&lt;br /&gt;
Aneu a l'apartat:&lt;br /&gt;
&lt;br /&gt;
 System-&amp;gt;Configuration Management&lt;br /&gt;
&lt;br /&gt;
[[Imatge:NanostationGuifi.png|center]]&lt;br /&gt;
...&lt;br /&gt;
[[Imatge:NanostationGuifi1.png|center]]&lt;br /&gt;
&lt;br /&gt;
I utilitzeu el boto '''Navega''' per localitzar el fitxer de configuració que voleu aplicar. El fitxer de configuració el trobareu a l'enllaç on posa:&lt;br /&gt;
&lt;br /&gt;
 '''Click here to download configuration file for''': &lt;br /&gt;
&lt;br /&gt;
El podeu descarregar amb [[wget]]:&lt;br /&gt;
&lt;br /&gt;
 $ wget http://guifi.net/files/nanostation/TRSCEIPMariaGaliRd1.cfg&lt;br /&gt;
&lt;br /&gt;
 '''IMPORTANT''': En el cas de les nanostation el fitxer que cal aplicar és el '''.cfg'''!!!&lt;br /&gt;
&lt;br /&gt;
Un cop heu indicat el fitxer feu clic a '''Upload'''. Per aplicar els canvis heu d'estar atents al missatge que sortira a la part superior de la pàgina web. Feu clic a '''Apply''' i espereu una estona a que s'apliquin els canvis:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Nanostation4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 '''NOTA IMPORTANT''': Tingueu en compte que aquesta IP és una IP molt comuna i que és molt possible que el vostre gateway tingui &lt;br /&gt;
 la mateixa IP. Si voleu evitar problemes, canvieu aquesta adreça abans d'aplicar unsolclic al dispositiu.&lt;br /&gt;
&lt;br /&gt;
Al aplicar un solclic, l'usuari i la paraula de pas passen a ser:&lt;br /&gt;
&lt;br /&gt;
*'''Usuari''': root&lt;br /&gt;
*'''Paraula de pas''': guifi&lt;br /&gt;
&lt;br /&gt;
També pot ser que la IP hagi canviat a '''192.168.1.1'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulteu també el document:&lt;br /&gt;
&lt;br /&gt;
 http://guifi.net/files/Manual_unsoclick_Nanostation.pdf&lt;br /&gt;
&lt;br /&gt;
Per veure un pas a pas amb exemples de com pujar la configuració de guifi.net a una nanostation.&lt;br /&gt;
&lt;br /&gt;
'''Configuració per Telnet'''&lt;br /&gt;
&lt;br /&gt;
Connecteu-vos via Telnet:&lt;br /&gt;
&lt;br /&gt;
 $ telnet 192.168.1.20&lt;br /&gt;
&lt;br /&gt;
Poseu l'usuari i paraula de pas de fàbrica del dispositiu (ubnt, ubnt). Un cop dins del dispositiu creeu el fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ vi /tmp/system.cfg&lt;br /&gt;
&lt;br /&gt;
I enganxeu el text d'un solclic. Un cop salveu el fitxer executeu:&lt;br /&gt;
&lt;br /&gt;
 $ /usr/etc/rc.d/rc.softrestart save&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://guifi.net/files/Manual_unsoclick_Nanostation.pdf&lt;br /&gt;
&lt;br /&gt;
=Manual=&lt;br /&gt;
&lt;br /&gt;
*http://wiki.ubnt.com/wiki/index.php/AirOS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Protocol CDP =&lt;br /&gt;
&lt;br /&gt;
[http://es.wikipedia.org/wiki/CDP Cisco Discovery Protocol].&lt;br /&gt;
&lt;br /&gt;
 $ sudo tcpdump&lt;br /&gt;
 10:41:58.132091 CDPv1, ttl: 120s, Device-ID 'TRSCEIPMariaGaliRd1'[|cdp]&lt;br /&gt;
 10:41:58.135969 CDPv1, ttl: 120s, Device-ID 'TRSCEIPMariaGaliRd1'[|cdp]&lt;br /&gt;
 10:42:06.618809 IP 10.139.60.33 &amp;gt; 224.0.0.5: OSPFv2, Hello, length: 44&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Firmware recovery =&lt;br /&gt;
&lt;br /&gt;
Aquesta secció us explica com recuperar el [[firmware]] original de la Nanostation, per exemple després d'haver posat un firware especific com [[DD-WRT]] o [[openwrt]].&lt;br /&gt;
&lt;br /&gt;
El primer que us caldrà és una copia del firmware. Podeu saber quina versió del firmware teniu (o consultar en un altre nanostation si la vostra no té firmware) a l'apartat sistema de la nanostation (per exemple per una nano amb IP 192.168.1.101):&lt;br /&gt;
&lt;br /&gt;
 https://192.168.1.101/system.cgi&lt;br /&gt;
&lt;br /&gt;
Veureu quelcom similar a:&lt;br /&gt;
&lt;br /&gt;
 XS2.ar2316.v3.5.4476.091013.1749&lt;br /&gt;
&lt;br /&gt;
{{nota| En aquesta mateixa secció podríeu fer un upgrade/actualització de l'antena}}&lt;br /&gt;
&lt;br /&gt;
Per obtenir una còpia del firmware original aneu a:&lt;br /&gt;
&lt;br /&gt;
 http://www.ubnt.com/support/downloads&lt;br /&gt;
&lt;br /&gt;
Escolliu:&lt;br /&gt;
&lt;br /&gt;
 IEEE/802.11a/b/gSolutions, Nanostation 2 (o el model que busqueu)&lt;br /&gt;
&lt;br /&gt;
I us baixeu l'última versió, actualment (--[[Usuari:Sergi|acacha]] 16:07, 12 oct 2010 (UTC)) la 3.5.1:&lt;br /&gt;
&lt;br /&gt;
 $ [[wget]] http://www.ubnt.com/downloads/NanoStation2-v3.5.1.build4631.bin&lt;br /&gt;
&lt;br /&gt;
A més podeu comprovar la suma md5 ([[md5]]) amb:&lt;br /&gt;
&lt;br /&gt;
 $ [[md5sum]] NanoStation2-v3.5.1.build4631.bin &lt;br /&gt;
 7e42fc6338356ec488f92c5d9b3d065c  NanoStation2-v3.5.1.build4631.bin&lt;br /&gt;
&lt;br /&gt;
Ha de coincidir amb la que posi a la web. &lt;br /&gt;
&lt;br /&gt;
Ara connecteu la nanostation al POE per tal d'encendre-la i també a la vostra LAN. Un cop la tingueu preparada trèieu l'alimentació i premeu el botó de reset, manteniu-lo premut mentrestant torneu a connectar l'alimentació, si manteniu premut més de 8 segons la Nanostation començarà a parpadejar de forma intermitent els LEDS de cobertura (primers els 2 i el 4 i després el 1 i el 3).&lt;br /&gt;
&lt;br /&gt;
Si ja teniu l'ordinador des de el que us volue connectar a la xarxa 192.168.1.0/24 només us cal comprovar que podeu fer un ping a la nano:&lt;br /&gt;
&lt;br /&gt;
 $ [[ping]] 192.168.1.20&lt;br /&gt;
&lt;br /&gt;
Sinó podeu utilitzar [[IP Aliasing]]:&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[ifconfig]] eth0:1 192.168.1.254&lt;br /&gt;
&lt;br /&gt;
Ara necessiteu un client de [[FTP]] com [[tftp]] (Trivial FTP):&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[apt-get]] install tftp&lt;br /&gt;
 &lt;br /&gt;
I pugeu el firmware:&lt;br /&gt;
&lt;br /&gt;
 $tftp 192.168.1.20&lt;br /&gt;
 tftp&amp;gt; bin&lt;br /&gt;
 tftp&amp;gt; trace&lt;br /&gt;
 tftp&amp;gt; put XS2.ar2316.v3.4-rc.4351.090504.2146.bin&lt;br /&gt;
 ...&lt;br /&gt;
 ...&lt;br /&gt;
 Sent 1965199 bytes in 35.2 seconds&lt;br /&gt;
 tftp&amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
Durant el upload del firware s'aturaran de parpallejar els LEDS, anirant fent canvis. Cal deixar que els LEDS vagin canviant de  un a un cada color durant uns 7-10 minuts depenent del dispositiu.&lt;br /&gt;
&lt;br /&gt;
{{important|No atureu la corrent durant el procés d'actualització}}&lt;br /&gt;
&lt;br /&gt;
Quan acabi només quedaran encesos els LEDS PWR i LAN i podeu accedir a la nanostation amb la [[Nanostation#Par.C3.A0metres_de_fabrica|configuració de fabrica]].&lt;br /&gt;
&lt;br /&gt;
:*http://www.ubnt.com/wiki/Firmware_Recovery&lt;br /&gt;
:*http://www.ubnt.com/wiki/Recuperar_firmware&lt;br /&gt;
&lt;br /&gt;
=Resolució de problemes i preguntes freqüents=&lt;br /&gt;
&lt;br /&gt;
== Polarització horitzontal a nanostation Loco ==&lt;br /&gt;
&lt;br /&gt;
Sembla que és habitual que unsolclic deixi les antenes Loco configurades amb polarització horizontal. Si el supernode al que connectem està en polarització vertical (lo habitual en sectorials) cal canviar-ho i millorarà molt la senyal.&lt;br /&gt;
&lt;br /&gt;
== Com canviar la IP 192.168.1.1 per una altre que no xoqui amb les IPs tradicionals dels routers ADSL? ==&lt;br /&gt;
&lt;br /&gt;
Dos opcions:&lt;br /&gt;
&lt;br /&gt;
1) Ho podeu fer al propi unsolclic abans d'aplicar el fitxer, busqueu la línia '''netconf.1.ip=192.168.1.1''' i canvieu la IP a, p. ex., 192.168.1.100&lt;br /&gt;
&lt;br /&gt;
2) Desconnecteu el router ADSL i connecteu només la nanostation. Tingueu en compte els problemes que podeu tenir amb la [[#Problemes_amb_la_cache_ARP_de_Windows_i_la_IP_192.168.1.1 | cache ARP de Windows]]. Utilitzant Firefox, connecteu-vos a l'adreça:&lt;br /&gt;
&lt;br /&gt;
 http://192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Poseu la paraula de pas i usuauri (per defecte usuari:root i password:guifi) i aneu a la secció '''Network'''. Més avall a '''LAN Network Settings''' podeu canviar la IP adress, Guardeu i apliqueu els canvis.&lt;br /&gt;
&lt;br /&gt;
Potser també us interessarà saber com:&lt;br /&gt;
&lt;br /&gt;
:*[[#Desactivar DHCP|Desactivar DHCP]]&lt;br /&gt;
:*[[#Afegir ruta estàtica permanent a Windows|Afegir ruta estàtica a Windows]]&lt;br /&gt;
&lt;br /&gt;
Consulteu també:&lt;br /&gt;
&lt;br /&gt;
 http://www.iesebre.com/manteniment/index.php/Guifi.net/Com_Connectar-se_a_la_xarxa_en_3_passos#Que_cal_tindr.C3.A9_en_compte_per_compartir_la_connexi.C3.B3_d.27un_operadora_i_la_de_guifi_al_mateix_temps&lt;br /&gt;
&lt;br /&gt;
== Desactivar DHCP ==&lt;br /&gt;
&lt;br /&gt;
[[Nanostation#Com_connectar-s.27hi.3F|Connecteu-vos via web a la nanostation]] i dirigiu-vos a la pestanya '''Network''' i després a la secció. desmarque l'opció:&lt;br /&gt;
&lt;br /&gt;
 Enable DHCP Server:&lt;br /&gt;
&lt;br /&gt;
Ara feu clic a '''Change''' (botó que apareix a la part inferior de la pàgina) i apliqueu els canvis (botó que apareixerà a la part superior).&lt;br /&gt;
&lt;br /&gt;
== Afegir ruta estàtica permanent a Linux o Windows ==&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 http://www.iesebre.com/manteniment/index.php/Guifi.net/Com_Connectar-se_a_la_xarxa_en_3_passos#Afegir_ruta_est.C3.A0tica_per_compartir_guifi.net_i_l.C3.ADnia_ADSL&lt;br /&gt;
&lt;br /&gt;
Aquesta configuració us permet poder accedir al mateix temps a la xarxa guifi i a la connexió a Internet de casa vostra.&lt;br /&gt;
&lt;br /&gt;
== Problemes amb la cache ARP de Windows i la IP 192.168.1.1 ==&lt;br /&gt;
&lt;br /&gt;
La cache ARP del sistema operatiu Windows, es guarda en local les MAC de les adreces IP amb les qual ha contactat fa poc. Podeu consultar la taula amb l'ordre (obriu una línia de comandes de 2):&lt;br /&gt;
&lt;br /&gt;
 C:\ arp -a&lt;br /&gt;
&lt;br /&gt;
Veureu que per a la IP 192.168.1.1 teniu la MAC del vostre router ADSL si fa poc que hi estàveu connectats. Si ara desconnecteu el router ADSL i poseu la nanostation, els sistema operatiu no es podrà connectar amb la nanostation fins que aquesta cache s'esborri i s'actualitzi (poden passar diversos minuts, segons els [http://www.windowsreference.com/windows-2000/how-to-clear-arp-cache-in-windows-vistaxp20032000/ tipus de sistema operatiu Windows que tingueu]). Podeu forçar aquest canvi anant a propietats de la connexió i '''Reparant la connexió''' o amb l'ordre:&lt;br /&gt;
&lt;br /&gt;
 C:\ netsh interface ip delete arpcache&lt;br /&gt;
&lt;br /&gt;
Vegeu també:&lt;br /&gt;
:*http://www.tech-faq.com/clear-arp-cache.html&lt;br /&gt;
:*[[ARP]]&lt;br /&gt;
&lt;br /&gt;
== Afegir una ruta estàtica ==&lt;br /&gt;
&lt;br /&gt;
 /etc/persistent/rc.poststart&lt;br /&gt;
&lt;br /&gt;
 # cfgmtd -w -p /etc/&lt;br /&gt;
&lt;br /&gt;
Try editing cfg file http://ubnt.com/forum/viewtopic.php?t=3939&lt;br /&gt;
or adding your static routes to /etc/persistent/rc.poststart&lt;br /&gt;
and run command &amp;quot;cfgmtd -w -p /etc/&amp;quot; to write into flash...&lt;br /&gt;
&lt;br /&gt;
==Com fer un reset de la nanostation?==&lt;br /&gt;
&lt;br /&gt;
A les nanostation, desconnecteu el cable de xarxa que proporciona l'alimentació per [[PoE]], premeu durant uns quants segons el boto de '''Reset''' mentrestant torneu a connectar el cable . Això torna la Nanostation a la [[Nanostation#Par.C3.A0metres_de_fabrica| configuració per defecte de fàbrica]].&lt;br /&gt;
&lt;br /&gt;
{{important|No premeu el reset durant molta estona (8 o més segons) que si no d'aquesta manera iniciaríeu el procés de [[#Firmware recovery |firmware recovery]]}}&lt;br /&gt;
&lt;br /&gt;
==Com saber les MAC de la nanostation?==&lt;br /&gt;
&lt;br /&gt;
A l'apartat '''Main''', podeu consultar les MAC:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Nanostation2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Hi ha una MAC de la connexió amb fil (LAN) i una de la WAN.&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': La MAC de la WLAN també apareix a la etiqueta que hi ha sota el connector RJ-45&lt;br /&gt;
&lt;br /&gt;
==Quina és la MAC que apareix a l'etiqueta sota el connector LAN RJ-45? ==&lt;br /&gt;
&lt;br /&gt;
És la MAC de la WLAN.&lt;br /&gt;
&lt;br /&gt;
==Com activar l'accés Telnet==&lt;br /&gt;
&lt;br /&gt;
A l'apartat '''Services'''&lt;br /&gt;
&lt;br /&gt;
 http://192.168.1.20/services.cgi&lt;br /&gt;
&lt;br /&gt;
Activeu el Telnet a la secció '''Telnet Server''':&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Nanostation3.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Per aplicar els canvis heu d'estar atents al missatge que sortira a la part superior de la pàgina web. Feu clic a '''Apply''' i espereu una estona a que s'apliquin els canvis:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Nanostation4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==No em puc connectar a la nanostation després d'aplicar la configuració d'unsolclic==&lt;br /&gt;
&lt;br /&gt;
Després d'aplicar la configuració d'unsolclic no em puc connectar al router. La nanostation existeix però estan tots els ports filtrats tal i com es pot veure amb nmap:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nmap 192.168.1.1-255&lt;br /&gt;
 &lt;br /&gt;
 Starting Nmap 4.53 ( http://insecure.org ) at 2009-02-25 18:15 CET&lt;br /&gt;
 '''All 1714 scanned ports on 192.168.1.1 are filtered'''&lt;br /&gt;
 MAC Address: 00:15:6D:AE:70:EE (Ubiquiti Networks)&lt;br /&gt;
&lt;br /&gt;
==Com buscar xarxes WIFI amb nanostation==&lt;br /&gt;
&lt;br /&gt;
Consulteu el document:&lt;br /&gt;
&lt;br /&gt;
 http://guifi.net/files/buscar_senyal_nanostation.pdf&lt;br /&gt;
&lt;br /&gt;
Aneu a l'apartat '''Link setup''' i marqueu com a país '''Espanya'''. Feu clic al '''Select''' que hi ha al costat del '''ESSID'''.&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Nanostation5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==Consultar la versió del firmware==&lt;br /&gt;
&lt;br /&gt;
Aneu a l'apartat '''System''' i consulteu la secció '''Firmware'''&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Nanostation6.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Per exemple:&lt;br /&gt;
&lt;br /&gt;
 NS2.ar2316.v2.2.1.2476.080208.1627&lt;br /&gt;
&lt;br /&gt;
Correspon a una versió 2.x d'AirOs.&lt;br /&gt;
&lt;br /&gt;
==Com fer un upgrade del firmware==&lt;br /&gt;
&lt;br /&gt;
Aneu a l'apartat '''System''' i a la secció '''Firmware''' feu clic al boto '''upgrade'''&lt;br /&gt;
&lt;br /&gt;
El firmware el podeu obtenir de la pàgina de suport de ubiquiti:&lt;br /&gt;
&lt;br /&gt;
 http://www.ubnt.com/support/ns2.php&lt;br /&gt;
&lt;br /&gt;
Si no funciona:&lt;br /&gt;
&lt;br /&gt;
 http://www.ubnt.com/support/downloads&lt;br /&gt;
&lt;br /&gt;
Per exemple per descarregar l'última versió (--[[Usuari:Sergi|acacha]] 16:54, 24 maig 2010 (UTC)):&lt;br /&gt;
&lt;br /&gt;
 http://www.ubnt.com/downloads/NanoStation2-v3.5.build4494.bin&lt;br /&gt;
&lt;br /&gt;
Nanostation comprades durant el maig de 2010 venen amb:&lt;br /&gt;
&lt;br /&gt;
 NS2.ar2316.v3.5.4494.091109.1451&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Exemple àntic, guardat només com a referència.&lt;br /&gt;
&lt;br /&gt;
Per exemple per descarregar l'última versió (--[[Usuari:Sergi|acacha]] 19:57, 25 febr 2009 (CET)):&lt;br /&gt;
&lt;br /&gt;
 $ wget http://www.ubnt.com/downloads/XS-fw/v3.3.1/NS2.ar2316.v3.3.1.4227.090128.1828.bin&lt;br /&gt;
&lt;br /&gt;
==OpenWRT==&lt;br /&gt;
&lt;br /&gt;
:*http://intoverflow.wordpress.com/2008/11/14/openwrt-and-ubiquiti-nanostation-2/&lt;br /&gt;
:*http://www.ubnt.com/downloads/PS2.ar2316.OpenWRT-kamikaze.v7.09.bin&lt;br /&gt;
&lt;br /&gt;
==Recuperar el firmware==&lt;br /&gt;
&lt;br /&gt;
:*http://www.ubnt.com/wiki/index.php?title=Firmware_Recovery&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
&lt;br /&gt;
*http://www.ubnt.com/products/ns2.php&lt;br /&gt;
*http://wiki.ubnt.com/wiki/index.php/AirOS&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/ARP</id>
		<title>ARP</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/ARP"/>
				<updated>2010-10-19T18:39:41Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* sysctl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlantillaCurs&lt;br /&gt;
| curs                   = [[DissenyXarxesLinux]], [[LinuxAdministracioAvancada]], [[LPIC1_102]]&lt;br /&gt;
| fitxers                = [https://svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada/moodle/sessio2/transparencies/XarxesEthernetProtocolARP.pdf XarxesEthernetProtocolARP.pdf]&lt;br /&gt;
| repositori             = https://svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada/moodle/sessio2/transparencies/&lt;br /&gt;
| autors                 = [[Sergi Tur Badenas]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=ARP= &lt;br /&gt;
&lt;br /&gt;
Consulteu [[Xarxes_Linux#arp | arp]] de l'article [[Xarxes Linux]].&lt;br /&gt;
&lt;br /&gt;
==Comanda arp==&lt;br /&gt;
&lt;br /&gt;
Permet gestionar la cache ARP&lt;br /&gt;
&lt;br /&gt;
Per consultar la cache:&lt;br /&gt;
&lt;br /&gt;
 $ arp -n&lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 192.168.1.1              ether   00:15:E9:CA:34:A5   C                     eth0&lt;br /&gt;
 192.168.1.3              ether   00:18:F3:FB:FC:4A   C                     eth0&lt;br /&gt;
 192.168.1.6              ether   00:0E:35:29:2A:48   C                     eth0&lt;br /&gt;
&lt;br /&gt;
Eliminar entrades de la cache:&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp -d 192.168.1.1&lt;br /&gt;
 $ sudo arp -d 192.168.1.3&lt;br /&gt;
 $ sudo arp -d 192.168.1.6&lt;br /&gt;
&lt;br /&gt;
Consulteu la cache amb:&lt;br /&gt;
&lt;br /&gt;
 $ arp -n&lt;br /&gt;
&lt;br /&gt;
I veurem que la hem buidat...&lt;br /&gt;
&lt;br /&gt;
Si fem un ping a les m&lt;br /&gt;
 $ ping 192.168.1.1&lt;br /&gt;
 $ ping 192.168.1.3&lt;br /&gt;
 $ ping 192.168.1.6&lt;br /&gt;
&lt;br /&gt;
=== Afegir una entrada estàtica a la taula ARP ===&lt;br /&gt;
&lt;br /&gt;
Es poden afegir entrades estàtiques amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp -s IP MAC&lt;br /&gt;
&lt;br /&gt;
Per exemple:&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp -s 87.111.152.1 00:14:1c:32:af:1a&lt;br /&gt;
&lt;br /&gt;
Podeu consultar la entrada amb:&lt;br /&gt;
&lt;br /&gt;
'''Abans''':&lt;br /&gt;
&lt;br /&gt;
 $ arp -n&lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 87.111.152.1             ether   00:14:1c:32:af:1a   CM                    eth0&lt;br /&gt;
&lt;br /&gt;
'''Després''':&lt;br /&gt;
&lt;br /&gt;
 $ arp -n&lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 87.111.152.1             ether   00:14:1c:32:af:1a   CM                    eth0&lt;br /&gt;
&lt;br /&gt;
Observeu que la M indica entrada estàtica.&lt;br /&gt;
&lt;br /&gt;
La entrada es pot afegir de forma temporal amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp -s 87.111.152.1 00:14:1c:32:af:1a temp&lt;br /&gt;
&lt;br /&gt;
Podeu eliminar la entrada amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp -d 87.111.152.1&lt;br /&gt;
&lt;br /&gt;
Es pot automatitzar l'acció d'afegir el vostre gateway com a entrada estàtica amb:&lt;br /&gt;
&lt;br /&gt;
 $ arp -s $(route -n | awk '/^0.0.0.0/ {print $2}')  $(arp -n | grep `route -n | awk '/^0.0.0.0/ {print $2}'`| awk '{print $3}')&lt;br /&gt;
&lt;br /&gt;
Es una bona forma d'intentar evitar els atacs de [[ARP Poisoning]] d'eines com [[dsniff]] o [[Ettercap]].&lt;br /&gt;
&lt;br /&gt;
==== Connectar a un dispositiu utilitzant la seva MAC ====&lt;br /&gt;
&lt;br /&gt;
Independentment de que sapigueu o no la IP d'un dispositiu, si sabeu la seva MAC podeu connectar-vos-hi afegint una entrada estàtica a la taula ARP. Busqueu una IP lliure del vostre rang de xarxa i li &amp;quot;assigneu&amp;quot; al dispositiu amb MAC X (a l'exemple 00:14:1c:32:af:1a)&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp -s 192.168.1.123 00:14:1c:32:af:1a&lt;br /&gt;
&lt;br /&gt;
Ara ja podeu fer ping:&lt;br /&gt;
&lt;br /&gt;
 $ ping 192.168.1.123&lt;br /&gt;
&lt;br /&gt;
En Windows seria:&lt;br /&gt;
&lt;br /&gt;
 ARP -s 10.1.2.3 08-00-09-12-34-56&lt;br /&gt;
 ping 10.1.2.3&lt;br /&gt;
&lt;br /&gt;
==Capturar paquets arp amb tcpdump==&lt;br /&gt;
&lt;br /&gt;
Executem:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tcpdump arp &lt;br /&gt;
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode&lt;br /&gt;
 listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes&lt;br /&gt;
 09:54:40.061879 arp who-has 192.168.1.1 tell 192.168.1.2&lt;br /&gt;
 09:54:40.062244 arp reply 192.168.1.1 is-at 00:15:e9:ca:34:a5&lt;br /&gt;
 09:54:58.802487 arp who-has 192.168.1.3 tell 192.168.1.2&lt;br /&gt;
 09:54:58.802576 arp reply 192.168.1.3 is-at 00:18:f3:fb:fc:4a&lt;br /&gt;
 09:55:41.012054 arp who-has 192.168.1.6 tell 192.168.1.2&lt;br /&gt;
 09:55:41.013671 arp reply 192.168.1.6 is-at 00:0e:35:29:2a:48&lt;br /&gt;
&lt;br /&gt;
==Comanda arpping==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Xarxes_Linux#arping | arping]] de l'article [[Xarxes Linux]].&lt;br /&gt;
&lt;br /&gt;
===Provocant arp-replys===&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 [[Xarxes_Linux#Provocar_arp-replys]]&lt;br /&gt;
&lt;br /&gt;
===Provocant arp-requests===&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 [[Xarxes_Linux#Provocar_arp-requests]]&lt;br /&gt;
&lt;br /&gt;
==RARP==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Xarxes_Linux#rarp | rarp]] de l'article [[Xarxes Linux]].&lt;br /&gt;
&lt;br /&gt;
= Comanda ip (iproute2)=&lt;br /&gt;
&lt;br /&gt;
Es pot consultar la taula ARP amb:&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[ip]] neigh show&lt;br /&gt;
 87.111.152.1 dev eth0 lladdr 00:14:1c:32:af:1a REACHABLE&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp -n&lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 87.111.152.1             ether   00:14:1c:32:af:1a   C                     eth0 &lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://linux-ip.net/html/ch-ether.html&lt;br /&gt;
&lt;br /&gt;
 $ sudo tcpdump -ennqti eth0 \( arp or icmp \)&lt;br /&gt;
&lt;br /&gt;
Vegeu també:&lt;br /&gt;
*[[tcpdump]]&lt;br /&gt;
*[[Ettercap]]&lt;br /&gt;
&lt;br /&gt;
== Estats ARP ==&lt;br /&gt;
&lt;br /&gt;
'''Taula''':&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:TaulaSnapshot.png|center]]&lt;br /&gt;
&lt;br /&gt;
Hi ha un timeout. El podeu observar amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip neighbor show 192.168.99.7&lt;br /&gt;
 192.168.99.7 dev eth0 lladdr 00:80:c8:e8:1e:fc nud '''reachable'''     &lt;br /&gt;
&lt;br /&gt;
 $ sudo ip neighbor show 192.168.99.7&lt;br /&gt;
 192.168.99.7 dev eth0 lladdr 00:80:c8:e8:1e:fc nud '''stale'''&lt;br /&gt;
&lt;br /&gt;
 $ sudo ip neighbor show 192.168.99.7&lt;br /&gt;
 192.168.99.7 dev eth0 lladdr 00:80:c8:e8:1e:fc nud '''delay'''        &lt;br /&gt;
&lt;br /&gt;
 $ sudo ip neighbor show 192.168.99.7&lt;br /&gt;
 192.168.99.7 dev eth0 lladdr 00:80:c8e8:1e:fc nud '''probe'''         &lt;br /&gt;
&lt;br /&gt;
 $ sudo ip neighbor show 192.168.99.7&lt;br /&gt;
 192.168.99.7 dev eth0  nud '''incomplete'''                       &lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
&lt;br /&gt;
== Monitoritzar els canvis d'estat de la taula ARP ==&lt;br /&gt;
&lt;br /&gt;
Vegeu:&lt;br /&gt;
&lt;br /&gt;
 [[Xarxes_Linux#ip_monitor]]&lt;br /&gt;
&lt;br /&gt;
== Problema ARP flux ==&lt;br /&gt;
&lt;br /&gt;
Si una màquina té dues o més targetes connectades al mateix segment de xarxa, pot ocorrer el problema conegut com ARP Flux.&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
*http://linux-ip.net/html/ether-arp.html#ether-arp-flux-arpfilter&lt;br /&gt;
&lt;br /&gt;
= ARP Proxy =&lt;br /&gt;
&lt;br /&gt;
 This variable sets Proxy ARP on or off in kernel for specific devices. Proxy ARP is a system of automatically   &lt;br /&gt;
 answering ARP queries for other hosts, that may for example be located on other network segments that we have &lt;br /&gt;
 contact with. This may be necessary under certain circumstances, where other routers do not know how to reach &lt;br /&gt;
 specific networks or hosts. The Linux firewall/router may then answer the ARP queries on behalf of the hosts that we &lt;br /&gt;
 want to Proxy ARP for.&lt;br /&gt;
 &lt;br /&gt;
 Proxy ARP is turned on for the network segment that we want to answer ARP queries for. We will then answer all ARP &lt;br /&gt;
 queries for that specific network or host, hence receiving the packets destined for the specific host, and we can &lt;br /&gt;
 then send them onwards to the real host.&lt;br /&gt;
 &lt;br /&gt;
 The proxy_arp variables takes a boolean value. Per default, it is turned off, and may be turned on (1) or off (2)  &lt;br /&gt;
 at will. If you want more information about Proxy ARP,&lt;br /&gt;
&lt;br /&gt;
*http://ipsysctl-tutorial.frozentux.net/ipsysctl-tutorial.html#AEN628&lt;br /&gt;
*http://www.ibiblio.org/pub/Linux/docs/HOWTO/unmaintained/mini/Proxy-ARP&lt;br /&gt;
&lt;br /&gt;
= ARP Flushing =&lt;br /&gt;
&lt;br /&gt;
'''Paràmetres [[sysctl]]'''&lt;br /&gt;
&lt;br /&gt;
'''arp-filter'''&lt;br /&gt;
&lt;br /&gt;
*http://ipsysctl-tutorial.frozentux.net/ipsysctl-tutorial.html#GUIDEIPUNDERLINUX&lt;br /&gt;
*http://ipsysctl-tutorial.frozentux.net/ipsysctl-tutorial.html#AEN594&lt;br /&gt;
&lt;br /&gt;
=ARP-SPOOFING=&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[ARP-SPOOFING]].&lt;br /&gt;
&lt;br /&gt;
=Ettercap=&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Ettercap]].&lt;br /&gt;
&lt;br /&gt;
=Arp-tools=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential gawk libnet1-dev&lt;br /&gt;
 $ wget http://www.packetfactory.net/libnet/dist/libnet.tar.gz&lt;br /&gt;
 $ tar xvzf libnet.tar.gz &lt;br /&gt;
 $ cd libnet/&lt;br /&gt;
 $ ./configure &lt;br /&gt;
 $ make&lt;br /&gt;
 $ make install&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tenim les eines:&lt;br /&gt;
&lt;br /&gt;
* ARP Discover (arpdiscover), an Ethernet scanner based on ARP protocol;&lt;br /&gt;
* ARP Flood (arpflood), an ARP request flooder;&lt;br /&gt;
* ARP Poison (arppoison), for poisoning switches’ MAC address tables.&lt;br /&gt;
&lt;br /&gt;
Un exemple:&lt;br /&gt;
&lt;br /&gt;
 $ sudo arpdiscover 192.168.12.1 25&lt;br /&gt;
 using inteface eth0&lt;br /&gt;
 our hw address is 00:30:05:EB:A3:8D&lt;br /&gt;
 our ip address is 192.168.12.20&lt;br /&gt;
 bpf filter is 'ether dst 00:30:05:EB:A3:8D &amp;amp;&amp;amp; arp'&lt;br /&gt;
 sniffer fork()ed into background with pid = 21448&lt;br /&gt;
 request for hw address of ip address 192.168.12.1, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.2, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 received arp packet 60 bytes, hw address is 00:0D:88:CC:B4:67, ip address is 192.168.12.1&lt;br /&gt;
 request for hw address of ip address 192.168.12.3, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.4, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.5, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.6, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.7, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.8, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.9, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.10, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.11, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 received arp packet 60 bytes, hw address is 00:30:05:EB:39:9D, ip address is 192.168.12.11&lt;br /&gt;
 request for hw address of ip address 192.168.12.12, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.13, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.14, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.15, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.16, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.17, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 received arp packet 60 bytes, hw address is 00:30:05:EB:3B:52, ip address is 192.168.12.16&lt;br /&gt;
 request for hw address of ip address 192.168.12.18, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.19, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.20, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.21, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.22, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.23, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.24, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 request for hw address of ip address 192.168.12.25, 42 bytes to send, 42 bytes sent&lt;br /&gt;
 waiting for sniffer terminate&lt;br /&gt;
 received arp packet 60 bytes, hw address is 00:19:06:FF:5B:C0, ip address is 192.168.12.2&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://oriolrius.cat/blog/tag/arpdiscover&lt;br /&gt;
&lt;br /&gt;
=arp-scan=&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp-scan --interface=eth1 --localnet&lt;br /&gt;
 Interface: eth1, datalink type: EN10MB (Ethernet)&lt;br /&gt;
 Starting arp-scan 1.6 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)&lt;br /&gt;
 192.168.1.1     00:15:e9:ca:34:a5       D-Link Corporation&lt;br /&gt;
 192.168.1.2     00:30:1b:5e:09:a9       SHUTTLE, INC.&lt;br /&gt;
 192.168.1.3     00:08:54:4b:70:98       Netronix, Inc.&lt;br /&gt;
 &lt;br /&gt;
 3 packets received by filter, 0 packets dropped by kernel&lt;br /&gt;
 Ending arp-scan 1.6: 256 hosts scanned in 1.532 seconds (167.10 hosts/sec).  3 responded&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ sudo  arp-scan --interface=eth1 192.168.0.0/16&lt;br /&gt;
 Interface: eth1, datalink type: EN10MB (Ethernet)&lt;br /&gt;
 Starting arp-scan 1.6 with 65536 hosts (http://www.nta-monitor.com/tools/arp-scan/)&lt;br /&gt;
 192.168.1.1     00:15:e9:ca:34:a5       D-Link Corporation&lt;br /&gt;
 192.168.1.2     00:30:1b:5e:09:a9       SHUTTLE, INC.&lt;br /&gt;
 192.168.1.3     00:08:54:4b:70:98       Netronix, Inc.&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp-scan --interface=eth0 --arpspa=0.0.0.0 0.0.0.0/3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*http://www.nta-monitor.com/tools/arp-scan/&lt;br /&gt;
&lt;br /&gt;
=arpscan=&lt;br /&gt;
&lt;br /&gt;
*http://unx.ca/~jason/arpscan/&lt;br /&gt;
&lt;br /&gt;
=nemesis=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install nemesis&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L nemesis&lt;br /&gt;
 /.&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/sbin&lt;br /&gt;
 /usr/share&lt;br /&gt;
 /usr/share/man&lt;br /&gt;
 /usr/share/man/man1&lt;br /&gt;
 /usr/share/man/man1/nemesis-dns.1.gz&lt;br /&gt;
 /usr/share/man/man1/nemesis-icmp.1.gz&lt;br /&gt;
 /usr/share/man/man1/nemesis-igmp.1.gz&lt;br /&gt;
 /usr/share/man/man1/nemesis-ip.1.gz&lt;br /&gt;
 /usr/share/man/man1/nemesis-ospf.1.gz&lt;br /&gt;
 /usr/share/man/man1/nemesis-rip.1.gz&lt;br /&gt;
 /usr/share/man/man1/nemesis-tcp.1.gz&lt;br /&gt;
 /usr/share/man/man1/nemesis-udp.1.gz&lt;br /&gt;
 /usr/share/man/man1/nemesis.1.gz&lt;br /&gt;
 /usr/share/man/man1/nemesis-arp.1.gz&lt;br /&gt;
 /usr/share/man/man1/nemesis-ethernet.1.gz&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/nemesis&lt;br /&gt;
 /usr/share/doc/nemesis/README&lt;br /&gt;
 /usr/share/doc/nemesis/copyright&lt;br /&gt;
 /usr/share/doc/nemesis/changelog.gz&lt;br /&gt;
 /usr/share/doc/nemesis/changelog.Debian.gz&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/nemesis&lt;br /&gt;
&lt;br /&gt;
 $ sudo nemesis arp help&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ARP/RARP Packet Injection -=- The NEMESIS Project Version 1.4beta3 (Build 22) &lt;br /&gt;
 &lt;br /&gt;
 ARP/RARP Usage:&lt;br /&gt;
   arp [-v (verbose)] [options]&lt;br /&gt;
 &lt;br /&gt;
 ARP/RARP Options: &lt;br /&gt;
   -S &amp;lt;Source IP address&amp;gt;&lt;br /&gt;
   -D &amp;lt;Destination IP address&amp;gt;&lt;br /&gt;
   -h &amp;lt;Sender MAC address within ARP frame&amp;gt;&lt;br /&gt;
   -m &amp;lt;Target MAC address within ARP frame&amp;gt;&lt;br /&gt;
   -s &amp;lt;Solaris style ARP requests with target hardware addess set to broadcast&amp;gt;&lt;br /&gt;
   -r ({ARP,RARP} REPLY enable)&lt;br /&gt;
   -R (RARP enable)&lt;br /&gt;
   -P &amp;lt;Payload file&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
 Data Link Options: &lt;br /&gt;
   -d &amp;lt;Ethernet device name&amp;gt;&lt;br /&gt;
   -H &amp;lt;Source MAC address&amp;gt;&lt;br /&gt;
   -M &amp;lt;Destination MAC address&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 You must define a Source and Destination IP address.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nemesis arp -v -d ne0 -H 0:1:2:3:4:5 -S 10.11.30.5 -D 10.10.15.1&lt;br /&gt;
&lt;br /&gt;
 $ sudo tcpdump -i eth0 -e arp and host 192.168.1.50 &amp;gt; pcap &amp;amp;&lt;br /&gt;
&lt;br /&gt;
 $ sudo nemesis arp -S 192.168.1.50 -D 192.168.1.1 -M 01:01:01:01:01:01 &lt;br /&gt;
&lt;br /&gt;
 $ sudo nemesis arp \&lt;br /&gt;
 -S 192.168.1.50 \      # Your IP&lt;br /&gt;
 -D 192.168.1.1 \       # Suspected Promiscuous IP&lt;br /&gt;
 -M 01:01:01:01:01:01   # Non-existent MAC (on your network at least)&lt;br /&gt;
&lt;br /&gt;
 $ sudo cat pcap&lt;br /&gt;
 00:50:2c:05:6b:a9 &amp;gt; 01:01:01:01:01:01, arp who-has 192.168.1.1 tell 192.168.1.50&lt;br /&gt;
 00:0c:41:e9:2b:9d &amp;gt; 00:50:2c:05:6b:a9, arp reply 192.168.1.1 is-at 00:0c:41:e9:2b:9d&lt;br /&gt;
 http://www.google.es/url?sa=t&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fforo.elhacker.net%2Fredes%2Finyector_de_paquetes_nemesis-t33197.0.html&amp;amp;ei=oopVSJ7lJ4200QSOhryEAw&amp;amp;usg=AFQjCNG76zInh463E4qnJU5vRc_oUBFClA&amp;amp;sig2=8SZmqxdZC1nAILxr41nV-g&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.google.es/url?sa=t&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fforo.elhacker.net%2Fredes%2Finyector_de_paquetes_nemesis-t33197.0.html&amp;amp;ei=oopVSJ7lJ4200QSOhryEAw&amp;amp;usg=AFQjCNG76zInh463E4qnJU5vRc_oUBFClA&amp;amp;sig2=8SZmqxdZC1nAILxr41nV-g&lt;br /&gt;
&lt;br /&gt;
=ARP a Windows=&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 http://acacha.org/mediawiki/index.php/Nanostation#Problemes_amb_la_cache_ARP_de_Windows_i_la_IP_192.168.1.1&lt;br /&gt;
&lt;br /&gt;
:*http://www.windowsreference.com/windows-2000/how-to-clear-arp-cache-in-windows-vistaxp20032000/&lt;br /&gt;
:*http://www.windowsreference.com/windows-2000/how-to-clear-arp-cache-in-windows-vistaxp20032000/&lt;br /&gt;
&lt;br /&gt;
=sysctl=&lt;br /&gt;
&lt;br /&gt;
TODO:&lt;br /&gt;
&lt;br /&gt;
 $ cat [[/proc/sys/net/ipv4/conf/all/arp_accept]] &lt;br /&gt;
 0&lt;br /&gt;
 $ cat [[/proc/sys/net/ipv4/conf/all/arp_announce]] &lt;br /&gt;
 0&lt;br /&gt;
 $ cat [[/proc/sys/net/ipv4/conf/all/arp_filter]] &lt;br /&gt;
 0&lt;br /&gt;
 $ cat [[/proc/sys/net/ipv4/conf/all/arp_ignore]] &lt;br /&gt;
 0&lt;br /&gt;
 $ cat [[/proc/sys/net/ipv4/conf/all/arp_notify]]&lt;br /&gt;
 0&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
*http://www.nta-monitor.com/wiki/index.php/Arp-scan_User_Guide&lt;br /&gt;
&lt;br /&gt;
[[Category:DissenyXarxesLinux]] [[Category:LinuxAdministracioAvancada]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Squid</id>
		<title>Squid</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Squid"/>
				<updated>2010-10-18T11:48:47Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Filtrar continguts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlantillaCurs&lt;br /&gt;
| curs                   = [[DissenyXarxesLinux]], [[LinuxAdministracioAvancada]]&lt;br /&gt;
| fitxers                = {{FitxerIOriginalODT|url=http://anonymous@svn.projectes.lafarga.cat/svn/iceupc/DissenyXarxaLocalLinux/moodle/sessio7/Squid/transparencies|nom=ProxySquid}}&lt;br /&gt;
| repositori             = http://anonymous@svn.projectes.lafarga.cat/svn/iceupc/DissenyXarxaLocalLinux&lt;br /&gt;
| autors                 = [[Sergi Tur Badenas]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Imatge:SquidLogo.png|thumb|right|Squid]]&lt;br /&gt;
&lt;br /&gt;
Squid (calamar en angles) és segurament el servidor proxy i cache web open source més famós i utilitzat.&lt;br /&gt;
&lt;br /&gt;
'''Característiques''':&lt;br /&gt;
*Llicència GNU General Public License.&lt;br /&gt;
*Suporta diferents protocols però s'utilitza principalment per HTTP i FTP. Té suport parcial per SSL i TLS.&lt;br /&gt;
*S'utilitza principalment per emmagatzemar pàgines web en cache i millorar la connexió a Internet&lt;br /&gt;
*No proveïx de sistemes de filtratge (és pot fer amb afegitons també coneguts com add-ons) &lt;br /&gt;
*Se li poden incorporar afegitons (SquidGuard, Calamaris, ufdbGuard)&lt;br /&gt;
&lt;br /&gt;
=Introducció=&lt;br /&gt;
&lt;br /&gt;
Squid és una aplicació que bàsicament s'utilitza per a:&lt;br /&gt;
&lt;br /&gt;
'''Web caching''':&lt;br /&gt;
*“Cachejar” és  guardar la informació en una memòria que estigui més propera a l'usuari final.&lt;br /&gt;
*Proxy HTTP. Els clients s'han de configurar per tal d'utilitzar el proxy com a medi de connexió a Internet.&lt;br /&gt;
*Proxy transparent. No cal configuració dels clients (totes les comunicacions pel port 80 són interceptades). Cal tenir en compte que no es pot utilitzar amb HTTPS.&lt;br /&gt;
&lt;br /&gt;
'''Reverse proxy | web server acceleration''':&lt;br /&gt;
*Permet utilitzar un servidor proxy com a suport d'un servidor web. La filosofia és inversa al web caching i permet alliberar carrega en un servidor web compartin st part de la carrega amb el proxy.&lt;br /&gt;
*[[Apache]] permet implementar aquesta funcionalitat amb un mòdul.&lt;br /&gt;
&lt;br /&gt;
==Proxies (passarel·les) vs firewalls (tallafocs)==&lt;br /&gt;
&lt;br /&gt;
Quina diferència hi ha entre els tallafocs i els proxies? Tots dos són eines de control d'ús dels recursos d'una xarxa però que apliquen els seus mecanismes de control en nivells diferents del protocol [[OSI]] o [[TCP/IP]]. La següent taula relaciona els nivells OSI amb l'eina corresponent:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nivell OSI&lt;br /&gt;
! Tallafocs&lt;br /&gt;
! Proxy&lt;br /&gt;
|-&lt;br /&gt;
| Nivell 1. Nivell físic&lt;br /&gt;
| No s'aplica&lt;br /&gt;
| No s'aplica&lt;br /&gt;
|-&lt;br /&gt;
| Nivell 2. Nivell d'enllaç&lt;br /&gt;
| Sí&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| Nivell 3. Nivell de xarxa (IP)&lt;br /&gt;
| Sí&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| Nivell 4. Nivell de transport (TCP)&lt;br /&gt;
| Sí&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| Nivells d'aplicació 5, 6 i 7. &lt;br /&gt;
| No&lt;br /&gt;
| Sí&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{nota| Cal tenir en compte però que aquesta classificació de les tasques que realitzen els tallafocs i els proxies no és completament rígida. Per exemple, proxies com Squid també fan tasques de control d'accés per IP (nivell 3) o per MAC (nivell 2) o per port (nivell 4)}}&lt;br /&gt;
&lt;br /&gt;
En resum, els tallafocs estan pensats per a treballar als nivells de xarxa i transport de la informació i els proxies estan pensats per treballar a nivell d'aplicació, és a dir amb les dades que es transporten.&lt;br /&gt;
&lt;br /&gt;
En xarxes modernes el protocols més utilitzats a nivell de xarxa i transport són Ethernet i TCP/IP. Un tallafocs com [[iptables]] suporta aquests protocols i pot cobrir qualsevol requeriment de control en aquest nivells. &lt;br /&gt;
&lt;br /&gt;
En canvi, a nivell d'aplicació tenim gairebé tants protocols com aplicacions que utilitzen la xarxa; per navegar per la xarxa utilitzem [[HTTP]], per al correu electrònic utilitzem [[POP3]], [[IMAP]] i [[SMTP]], per a xarxes Windows utilitzem [[SMB/CFIS]], per a xarxes Linux [[NFS]], per a transferència de fitxers [[FTP]]... la llista és molt llarga.&lt;br /&gt;
&lt;br /&gt;
Cal tenir en compte doncs que a nivell d'aplicació necessitem un proxy que suport el protocol que volem controlar. Squid és capaç de treballar amb [[HTTP]], [[HTTPS]], [[FTP]] i [[Gopher]] que són alguns dels protocols més utilitzats en xarxes. Per a filtrar altres protocols hauríeu d'utilitzar altres proxies.&lt;br /&gt;
&lt;br /&gt;
{{nota|Cal tenir en compte que un tallafocs com p. ex. [[iptables]] pot perfectament crear normes de control d'accés basades en informació del nivell d'aplicació (per exemple filtrar les pàgines que continguin la paraula sexe). El problema és que no està dissenyat per aquesta tasca i per tant és molt millor utilitzar un proxy de nivell d'aplicació.}}&lt;br /&gt;
&lt;br /&gt;
==Avantatges i inconvenients==&lt;br /&gt;
&lt;br /&gt;
'''Avantatges''':&lt;br /&gt;
*Millor velocitat.&lt;br /&gt;
*Millor control de l'accés a recursos. &lt;br /&gt;
*Llistes ACL per controlar l'accés a Internet.&lt;br /&gt;
*Permet filtrar a nivell d'aplicació (urls, continguts, horaris d'accés, etc.)&lt;br /&gt;
'''Inconvenients''':&lt;br /&gt;
*S'envaeix la privacitat dels clients del proxy (molta informació personal és registrada )&lt;br /&gt;
*La cache pot ser un greu problema per a pàgines dinàmiques.&lt;br /&gt;
*Squid, si s'utilitza directament és força laboriós i complicat de configurar. Tenim aplicacions (front-ends) que ens faciliten l'ús d'Squid.&lt;br /&gt;
&lt;br /&gt;
== Web caching ==&lt;br /&gt;
&lt;br /&gt;
Com sap la cache quins objectes ha de guardar en memòria i quins no? Això depèn de com s'hagi desenvolupat la pàgina web i de com es configuri la memòria cau en el client.&lt;br /&gt;
Un objecte pot ser marcat per tal que no sigui mai guardat en memòria cau (P. ex. pàgines dinàmiques) i la cache ignorarà aquest objecte. &lt;br /&gt;
&lt;br /&gt;
{{nota|Tingueu en compte que parlem d'objectes i no de pàgines web. La majoria de pàgines web modernes són realment un conjunt d'objectes: fitxers HTML, imatges, codi de servidor com PHP, múltimedia, etc... Cadascun d'aquest objectes s'obté amb una petició HTTP especifica i per tant podem especificar diferents configuracions de cache per a cada objecte}}.&lt;br /&gt;
&lt;br /&gt;
També es pot marcar un objecte amb una '''edat màxima''' (max age, indica un temps) o un camp expires (indica una data concreta) que indica a la cache quin serà el màxim de temps abans de que es vegi obligada a tornar a demanar l'objecte.&lt;br /&gt;
&lt;br /&gt;
L'objecte també pot tenir un camp amb la '''data de l'última modificació''' (last modified). Si la data de modificació és més nova que la data de l'objecte guardat aleshores cal tornar a demanar l'objecte. &lt;br /&gt;
&lt;br /&gt;
[[Fitxer:webcaching.png|center]]&lt;br /&gt;
&lt;br /&gt;
Quan un objecte de la cache encara és correcte és diu que és un objecte fresc (FRESH) i si no és correcte es diu que està caducat (STALE). El protocol [[HTTP]] defineix 3 modes de controlar la memòria cau:&lt;br /&gt;
&lt;br /&gt;
*'''Freshness''': permet indicar la &amp;quot;frescura&amp;quot; de les respostes HTTP de forma que la cache les pugui reutilitzar sense tornar-les a demanar. Aquesta informació normalment s'indica a les capçaleres de les respostes HTTP (HTTP response headers). Les capçaleres més utilitzades:&lt;br /&gt;
&lt;br /&gt;
 '''Expires''': indica una data a partir de la qual l'objecte es considerarà caducat.&lt;br /&gt;
 '''Cache-Control''': indica durant quants segons l'objecte es considerarà fresc.&lt;br /&gt;
&lt;br /&gt;
*'''Validation''': es pot utilitzar per comprovar si una resposta en memòria cau encara és vàlida. La capçalera utilitzada és:&lt;br /&gt;
&lt;br /&gt;
 '''Last-Modified''': Si la data de modificació de l'objecte és posterior a la data de l'objecte en memòria cau aleshores està caducat.&lt;br /&gt;
&lt;br /&gt;
*'''Invalidation''': Alguns request com POST, PUT O DELETE poden invalidar un objecte de la memòria cau.&lt;br /&gt;
&lt;br /&gt;
Podeu utilitzar el plugin de firefox [https://addons.mozilla.org/es-ES/firefox/addon/60 Web Developer] que entre d'altres coses us permet consultar els response headers (al menú Information &amp;gt; View Response Headers) de qualsevol pàgina. També són molt interessants les eines com [[webscarab]]. &lt;br /&gt;
&lt;br /&gt;
Per exemple els response headers d'aquesta pàgina són:&lt;br /&gt;
&lt;br /&gt;
 '''Date''': Sun, 24 Jan 2010 15:53:35 GMT&lt;br /&gt;
 '''Server''': Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4 with Suhosin-Patch mod_ssl/2.2.11 OpenSSL/0.9.8g&lt;br /&gt;
 '''X-Powered-By''': PHP/5.2.6-3ubuntu4&lt;br /&gt;
 '''Content-Language''': ca&lt;br /&gt;
 '''Vary''': Accept-Encoding,Cookie&lt;br /&gt;
 '''X-Vary-Options''': Accept-Encoding;list-contains=gzip,Cookie;string-contains=wikidb_mediawiki_Token;string-contains=wikidb_mediawiki_LoggedOut;string- &lt;br /&gt;
 contains=wikidb_mediawiki__session&lt;br /&gt;
 '''Expires''': Thu, 01 Jan 1970 00:00:00 GMT&lt;br /&gt;
 '''Cache-Control''': private, must-revalidate, max-age=0&lt;br /&gt;
 '''Last-Modified''': Sun, 24 Jan 2010 15:53:28 GMT&lt;br /&gt;
 '''Content-Encoding''': gzip&lt;br /&gt;
 '''Content-Type''': text/html; charset=utf-8&lt;br /&gt;
 &lt;br /&gt;
 200 OK&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://en.wikipedia.org/wiki/Web_cache&lt;br /&gt;
&lt;br /&gt;
===Memòria cau de Firefox===&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 [[Firefox#Cache]]&lt;br /&gt;
&lt;br /&gt;
==Com funciona Squid?==&lt;br /&gt;
&lt;br /&gt;
[[Imatge:DiagramaDeFluxSquid.png]]&lt;br /&gt;
&lt;br /&gt;
=Instal·lació=&lt;br /&gt;
&lt;br /&gt;
En sistemes de la família [[Debian]] com p. ex. [[Ubuntu]], podem instal·lar Squid des dels [[repositoris]]:&lt;br /&gt;
&lt;br /&gt;
{{nota| Als repositoris també hi ha la versió 2.x amb el nom de paquet squid!}}&lt;br /&gt;
&lt;br /&gt;
 '''$ [[sudo]] [[apt-get]] install squid3'''&lt;br /&gt;
 S'està llegint la llista de paquets... Fet &lt;br /&gt;
 S'està construint l'arbre de dependències       &lt;br /&gt;
 Reading state information... Fet           &lt;br /&gt;
 S'instal·laran els següents paquets extres:&lt;br /&gt;
   squid3-common&lt;br /&gt;
 Paquets suggerits:&lt;br /&gt;
   '''squid3-client squid3-cgi resolvconf'''&lt;br /&gt;
 S'instal·laran els següents paquets NOUS:&lt;br /&gt;
   '''squid3 squid3-common'''&lt;br /&gt;
 0 actualitzats, 2 nous a instal·lar, 0 a eliminar i 44 no actualitzats.&lt;br /&gt;
 Es necessita obtenir 966kB d'arxius.&lt;br /&gt;
 Després de desempaquetar s'usaran 6312kB d'espai en disc addicional.&lt;br /&gt;
 Voleu continuar [S/n]? s&lt;br /&gt;
 Des:1 http://ch.archive.ubuntu.com feisty/universe squid3-common 3.0.PRE5-5 [245kB]&lt;br /&gt;
 Des:2 http://ch.archive.ubuntu.com feisty/universe squid3 3.0.PRE5-5 [721kB]&lt;br /&gt;
 966kB descarregats en 5s (165kB/s)    &lt;br /&gt;
 S'està seleccionant el paquet squid3-common prèviament no seleccionat.&lt;br /&gt;
 (S'està llegint la base de dades ... hi ha 322742 fitxers i directoris instal·lats actualment.)&lt;br /&gt;
 S'està desempaquetant squid3-common (de .../squid3-common_3.0.PRE5-5_all.deb) ...&lt;br /&gt;
 S'està seleccionant el paquet squid3 prèviament no seleccionat.&lt;br /&gt;
 S'està desempaquetant squid3 (de .../squid3_3.0.PRE5-5_i386.deb) ...&lt;br /&gt;
 S'està configurant squid3-common (3.0.PRE5-5) ...&lt;br /&gt;
 S'està configurant squid3 (3.0.PRE5-5) ...&lt;br /&gt;
 [: 68: ==: unexpected operator&lt;br /&gt;
 Creating Squid HTTP proxy 3.0 spool directory structure&lt;br /&gt;
 2007/07/03 17:53:13| Creating Swap Directories&lt;br /&gt;
 2007/07/03 17:53:13| /var/spool/squid3 exists &lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/00&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/01&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/02&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/03&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/04&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/05&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/06&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/07&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/08&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/09&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/0A&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/0B&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/0C&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/0D&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/0E&lt;br /&gt;
 2007/07/03 17:53:13| Making directories in /var/spool/squid3/0F&lt;br /&gt;
 * Restarting Squid HTTP Proxy 3.0 squid3                     &lt;br /&gt;
&lt;br /&gt;
Observeu com és crea la memòria cau per emmagatzemar fitxers a:&lt;br /&gt;
&lt;br /&gt;
 /var/spool/squid3&lt;br /&gt;
&lt;br /&gt;
I el servidor Squid es arrencat automàticament i s'executarà sempre a l'inici del sistema. &lt;br /&gt;
&lt;br /&gt;
L'executable és el fitxer '''/usr/sbin/squid3''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L squid3 | grep sbin&lt;br /&gt;
 /usr/sbin&lt;br /&gt;
 /usr/sbin/squid3&lt;br /&gt;
&lt;br /&gt;
I els fitxers de configuració:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L squid3 | grep etc&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/logrotate.d&lt;br /&gt;
 /etc/logrotate.d/squid3&lt;br /&gt;
 /etc/squid3&lt;br /&gt;
 /etc/squid3/squid.conf&lt;br /&gt;
 /etc/squid3/msntauth.conf&lt;br /&gt;
 /etc/resolvconf.d&lt;br /&gt;
 /etc/resolvconf.d/update-libc.d&lt;br /&gt;
 /etc/resolvconf.d/update-libc.d/squid3&lt;br /&gt;
 /etc/init.d&lt;br /&gt;
 /etc/init.d/squid3&lt;br /&gt;
&lt;br /&gt;
Cal també que tingueu en compte el paquet:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L squid3-common&lt;br /&gt;
 /.&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/share&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/squid3-common&lt;br /&gt;
 /usr/share/doc/squid3-common/README&lt;br /&gt;
 /usr/share/doc/squid3-common/CREDITS.gz&lt;br /&gt;
 /usr/share/doc/squid3-common/changelog.Debian.gz&lt;br /&gt;
 /usr/share/doc/squid3-common/QUICKSTART&lt;br /&gt;
 /usr/share/doc/squid3-common/RELEASENOTES.html&lt;br /&gt;
 /usr/share/doc/squid3-common/SPONSORS&lt;br /&gt;
 /usr/share/doc/squid3-common/copyright&lt;br /&gt;
 /usr/share/doc/squid3-common/TODO.gz&lt;br /&gt;
 /usr/share/doc/squid3-common/CONTRIBUTORS.gz&lt;br /&gt;
 /usr/share/squid3&lt;br /&gt;
 /usr/share/squid3/icons&lt;br /&gt;
 /usr/share/squid3/icons/anthony-binhex.gif&lt;br /&gt;
 /usr/share/squid3/icons/anthony-bomb.gif&lt;br /&gt;
 /usr/share/squid3/icons/anthony-box.gif&lt;br /&gt;
 /usr/share/squid3/icons/anthony-box2.gif&lt;br /&gt;
 /usr/share/squid3/icons/anthony-c.gif&lt;br /&gt;
 /usr/share/squid3/icons/anthony-compressed.gif&lt;br /&gt;
 ...&lt;br /&gt;
 /usr/share/squid3/mib.txt&lt;br /&gt;
 /usr/share/squid3/mime.conf&lt;br /&gt;
 /usr/share/squid3/errors&lt;br /&gt;
 &lt;br /&gt;
==Control del servei Apache. Execució, parada i reconfiguració d'Apache==&lt;br /&gt;
&lt;br /&gt;
Seguint els estàndards de Debian GNU/Linux (basat en el sistema d'scripts d'inicialització SystemV (http://en.wikipedia.org/wiki/System_V)) l'script de control del dimoni bind és:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/squid3&lt;br /&gt;
&lt;br /&gt;
Les accions que podem fer amb el servei són start|stop|restart|reload|force-reload.&lt;br /&gt;
&lt;br /&gt;
Cada cop que fem un canvi a la configuració d'Apache2 hem de fer un restart o, millor encara, un reload del servei:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/squid3 reload&lt;br /&gt;
&lt;br /&gt;
Tal com podem veure executant:&lt;br /&gt;
&lt;br /&gt;
 $ sudo updatedb&lt;br /&gt;
 $ locate squid | grep rc&lt;br /&gt;
 /etc/rc0.d/K30squid3&lt;br /&gt;
 /etc/rc1.d/K30squid3&lt;br /&gt;
 /etc/rc2.d/S30squid3&lt;br /&gt;
 /etc/rc3.d/S30squid3&lt;br /&gt;
 /etc/rc4.d/S30squid3&lt;br /&gt;
 /etc/rc5.d/S30squid3&lt;br /&gt;
 /etc/rc6.d/K30squid3  &lt;br /&gt;
&lt;br /&gt;
El servei squid s'executa a partir del nivell 3.&lt;br /&gt;
&lt;br /&gt;
Podeu trobar més informació a l'article [[Configuraci%C3%B3_de_serveis_en_Linux._Daemons | Configuració de serveis en Linux]].&lt;br /&gt;
&lt;br /&gt;
==Ports per defecte del servei==&lt;br /&gt;
&lt;br /&gt;
Possiblement squid és un dels pocs serveis que no apareix al fitxer [[/etc/services]]:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/services | grep 3128&lt;br /&gt;
&lt;br /&gt;
Però sapigueu que el port per defecte és:&lt;br /&gt;
&lt;br /&gt;
 3128&lt;br /&gt;
&lt;br /&gt;
I podeu utilitzar [[nmap]] per comprovar el correcte funcionament del servidor:&lt;br /&gt;
&lt;br /&gt;
 $ nmap localhost&lt;br /&gt;
 PORT     STATE SERVICE&lt;br /&gt;
 22/tcp   open  ssh&lt;br /&gt;
 53/tcp   open  domain&lt;br /&gt;
 80/tcp   open  http&lt;br /&gt;
 139/tcp  open  netbios-ssn&lt;br /&gt;
 445/tcp  open  microsoft-ds&lt;br /&gt;
 631/tcp  open  ipp&lt;br /&gt;
 '''3128/tcp open  squid-http'''&lt;br /&gt;
 3306/tcp open  mysql&lt;br /&gt;
 5900/tcp open  vnc&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==Versió d'Squid==&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -l squid3&lt;br /&gt;
 Desired=Unknown/Install/Remove/Purge/Hold&lt;br /&gt;
 | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend&lt;br /&gt;
 |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)&lt;br /&gt;
 ||/ Nom                                    Versió                                Descripció&lt;br /&gt;
 +++-======================================-======================================-============================================================================================&lt;br /&gt;
 ii  squid3                                 '''3.0.STABLE18-1'''                         A full featured Web Proxy cache (HTTP proxy)&lt;br /&gt;
&lt;br /&gt;
==Conèixer la versió que tenim d'Squid i les opcions de compilació==&lt;br /&gt;
&lt;br /&gt;
 $ squid3 -v&lt;br /&gt;
 Squid Cache: Version 3.0.STABLE18&lt;br /&gt;
 configure options:  '--build=i486-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info'  &lt;br /&gt;
 '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--disable-maintainer-mode' '--disable-dependency-tracking' '--srcdir=.' '--datadir=/usr/share&lt;br /&gt;
 /squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--with-cppunit-basedir=/usr' '--enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,null' &lt;br /&gt;
 '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-underscores' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-&lt;br /&gt;
 auth=basic,digest,ntlm,negotiate' '--enable-basic-auth-helpers=LDAP,MSNT,NCSA,PAM,SASL,SMB,YP,getpwnam,multi-domain-NTLM' '--enable-ntlm-auth-helpers=SMB' '--enable-digest-&lt;br /&gt;
 auth-helpers=ldap,password' '--enable-negotiate-auth-helpers=squid_kerb_auth' '--enable-external-acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group' '--enable-&lt;br /&gt;
 arp-acl' '--enable-snmp' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-epoll' '--enable-linux-netfilter' 'build_alias=i486-&lt;br /&gt;
 linux-gnu' 'CC=cc' 'CFLAGS=-g -O2 -g -Wall -O2' 'LDFLAGS=-Wl,-Bsymbolic-functions' 'CPPFLAGS=' 'CXX=g++' 'CXXFLAGS=-g -O2 -g -Wall -O2' 'FFLAGS=-g -O2'&lt;br /&gt;
&lt;br /&gt;
==Recompilar el paquet Debian==&lt;br /&gt;
&lt;br /&gt;
Amb [[apt-get]] es molt senzill instal·lar una aplicació compilant-la:&lt;br /&gt;
&lt;br /&gt;
 $ cd [[/usr/src]]&lt;br /&gt;
 $ [[sudo]] apt-get build-dep squid3&lt;br /&gt;
 $ sudo apt-get -b source squid3&lt;br /&gt;
 $ sudo apt-get install squid-langpack&lt;br /&gt;
 $ sudo [[dpkg]] -i squid*.deb&lt;br /&gt;
&lt;br /&gt;
Fixeu-vos que ha creat varios paquets Debian:&lt;br /&gt;
&lt;br /&gt;
 $ [[ls]] *deb&lt;br /&gt;
 squid3_3.0.STABLE18-1_i386.deb      squid3-common_3.0.STABLE18-1_all.deb  squidclient_3.0.STABLE18-1_i386.deb&lt;br /&gt;
 squid3-cgi_3.0.STABLE18-1_i386.deb  squid3-dbg_3.0.STABLE18-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
Per a més detalls consulteu [[Apt-get#opci.C3.B3_source|apt-get opció source]]&lt;br /&gt;
&lt;br /&gt;
Podeu controlar el procés de creació del [[Paquet Debian]] editant un fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[joe]] squid3-3.0.STABLE18/debian/rules&lt;br /&gt;
&lt;br /&gt;
I per exemple afegir el suport per a fer log del user agent (navegadors). Afegiu:&lt;br /&gt;
&lt;br /&gt;
 [[--enable-useragent-log]] \&lt;br /&gt;
&lt;br /&gt;
Per exemple, ha de quedar:&lt;br /&gt;
&lt;br /&gt;
 DEB_CONFIGURE_EXTRA_FLAGS := --datadir=/usr/share/squid3 \&lt;br /&gt;
                --sysconfdir=/etc/squid3 \&lt;br /&gt;
                --mandir=/usr/share/man \&lt;br /&gt;
                --with-cppunit-basedir=/usr \&lt;br /&gt;
                --enable-inline \&lt;br /&gt;
                --enable-async-io=8 \&lt;br /&gt;
                --enable-storeio=&amp;quot;ufs,aufs,diskd,null&amp;quot; \&lt;br /&gt;
                --enable-removal-policies=&amp;quot;lru,heap&amp;quot; \&lt;br /&gt;
                --enable-delay-pools \&lt;br /&gt;
                --enable-cache-digests \&lt;br /&gt;
                --enable-underscores \&lt;br /&gt;
                --enable-icap-client \&lt;br /&gt;
                --enable-follow-x-forwarded-for \&lt;br /&gt;
                --enable-auth=&amp;quot;basic,digest,ntlm,negotiate&amp;quot; \&lt;br /&gt;
                --enable-basic-auth-helpers=&amp;quot;LDAP,MSNT,NCSA,PAM,SASL,SMB,YP,getpwnam,multi-domain-NTLM&amp;quot; \&lt;br /&gt;
                --enable-ntlm-auth-helpers=&amp;quot;SMB&amp;quot; \&lt;br /&gt;
                --enable-digest-auth-helpers=&amp;quot;ldap,password&amp;quot; \&lt;br /&gt;
                --enable-negotiate-auth-helpers=&amp;quot;squid_kerb_auth&amp;quot; \  &lt;br /&gt;
                --enable-external-acl-helpers=&amp;quot;ip_user,ldap_group,session,unix_group,wbinfo_group&amp;quot; \&lt;br /&gt;
                --enable-arp-acl \&lt;br /&gt;
                --enable-snmp \&lt;br /&gt;
                '''--enable-useragent-log \'''&lt;br /&gt;
                --with-filedescriptors=65536 \&lt;br /&gt;
                --with-large-files \&lt;br /&gt;
                --with-default-user=proxy&lt;br /&gt;
&lt;br /&gt;
{{nota| Si es vol activar --enable-ssl \ aleshores cal instal·lar abans:&lt;br /&gt;
 $ sudo apt-get install libssl-dev}}&lt;br /&gt;
&lt;br /&gt;
Si instal·leu el paquet nou ara veure:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install squid-langpack&lt;br /&gt;
 $ sudo dpkg -i squid*.deb&lt;br /&gt;
&lt;br /&gt;
Ara podeu comprovar que té activat useragent&lt;br /&gt;
&lt;br /&gt;
 $ squid3 -v | grep agent&lt;br /&gt;
 ...&lt;br /&gt;
 acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group' '--enable-arp-acl' '--enable-snmp' ''''--enable-useragent-log'''' '--with-filedescriptors=65536' &lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
:*http://www.howtoforge.com/how-to-rebuild-the-squid-2.6-debian-package-with-support-for-x-forwarded-for-headers&lt;br /&gt;
&lt;br /&gt;
=Configuració=&lt;br /&gt;
&lt;br /&gt;
==Manual==&lt;br /&gt;
&lt;br /&gt;
Segons la versió hi ha diferents manuals que podeu trobar a:&lt;br /&gt;
&lt;br /&gt;
 http://wiki.squid-cache.org/SquidFaq/ConfiguringSquid#Do_you_have_a_squid.conf_example.3F&lt;br /&gt;
&lt;br /&gt;
Per a 3.0 el trobareu a:&lt;br /&gt;
&lt;br /&gt;
 http://www.squid-cache.org/Versions/v3/3.0/cfgman/&lt;br /&gt;
&lt;br /&gt;
==Configuració del client del proxy (Proxy no transparent). Navegador web Firefox==&lt;br /&gt;
&lt;br /&gt;
 Consulteu [[Configuració_de_clients_proxy]].&lt;br /&gt;
&lt;br /&gt;
Anem al menú '''Edita/Preferències''':&lt;br /&gt;
&lt;br /&gt;
Seleccionem la pestanya '''Avançat''' i després la pestanya '''Xarxa''':&lt;br /&gt;
&lt;br /&gt;
[[Imatge:SquidNavegador.png]]&lt;br /&gt;
&lt;br /&gt;
[[Imatge:SquidNavegador2.png]]&lt;br /&gt;
&lt;br /&gt;
'''NOTA''': El port normalment és el '''3186''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo nmap localhost&lt;br /&gt;
 Starting Nmap 4.20 ( http://insecure.org ) at 2007-11-18 20:19 CET&lt;br /&gt;
 Interesting ports on localhost (127.0.0.1):&lt;br /&gt;
 Not shown: 1687 closed ports&lt;br /&gt;
 PORT      STATE SERVICE&lt;br /&gt;
 22/tcp    open  ssh&lt;br /&gt;
 23/tcp    open  telnet&lt;br /&gt;
 80/tcp    open  http&lt;br /&gt;
 139/tcp   open  netbios-ssn&lt;br /&gt;
 445/tcp   open  microsoft-ds&lt;br /&gt;
 631/tcp   open  ipp&lt;br /&gt;
 '''3128/tcp  open  squid-http'''&lt;br /&gt;
 3306/tcp  open  mysql&lt;br /&gt;
 4662/tcp  open  edonkey&lt;br /&gt;
 10000/tcp open  snet-sensor-mgmt&lt;br /&gt;
&lt;br /&gt;
Si no em configurat les ACL molt possiblement rebrem un error com el següent a l'intentar navegar:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:SquidNoPermetAccedir.png]]&lt;br /&gt;
&lt;br /&gt;
El següent apartat explica com configurar les ACL.&lt;br /&gt;
&lt;br /&gt;
====Autoconfiguració de proxys amb DHCP====&lt;br /&gt;
&lt;br /&gt;
 Consulteu http://wiki.squid-cache.org/SquidFaq/ConfiguringBrowsers#head-5aa28de5e8308087a925cb7ef54ca070a16564d4&lt;br /&gt;
&lt;br /&gt;
Fitxer '''proxy.cat''':&lt;br /&gt;
&lt;br /&gt;
 function FindProxyForURL(url, host)&lt;br /&gt;
 {&lt;br /&gt;
    if (isPlainHostName(host) ||&lt;br /&gt;
        dnsDomainIs(host, &amp;quot;.foobar&amp;quot;))&lt;br /&gt;
        return &amp;quot;DIRECT&amp;quot;;&lt;br /&gt;
     else&lt;br /&gt;
         if (isInNet(myIpAddress(), &amp;quot;192.168.1.3&amp;quot;, &amp;quot;255.255.0.0&amp;quot;))&lt;br /&gt;
             return &amp;quot;PROXY 192.168.1.3:3128; DIRECT&amp;quot;;&lt;br /&gt;
         else&lt;br /&gt;
             return &amp;quot;DIRECT&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Un altre...&lt;br /&gt;
&lt;br /&gt;
 function FindProxyForURL (url,host)&lt;br /&gt;
 	{ if ((url.substring(0,5) != &amp;quot;http:&amp;quot;) &amp;amp;&amp;amp; &lt;br /&gt;
 	      (url.substring(0,6) != &amp;quot;https:&amp;quot;) &amp;amp;&amp;amp;&lt;br /&gt;
 	      (url.substring(0,4) != &amp;quot;ftp:&amp;quot;) &amp;amp;&amp;amp;&lt;br /&gt;
 	      (url.substring(0,7) != &amp;quot;gopher:&amp;quot;)) {&lt;br /&gt;
 	      return &amp;quot;DIRECT&amp;quot;; &lt;br /&gt;
 	      }&lt;br /&gt;
 	  if (isPlainHostName(host) || shExpMatch(host,&amp;quot;192.168.*&amp;quot;) || shExpMatch(host,&amp;quot;127.*&amp;quot;) || dnsDomainIs(host,&amp;quot;correu.edu365.com&amp;quot;) || &lt;br /&gt;
 dnsDomainIs  (host,&amp;quot;.intranet&amp;quot;) || (url.substring(11,23) == &amp;quot;xtec.es:8800&amp;quot;) || dnsDomainIs (host,&amp;quot;xat.edu365.com&amp;quot;) || dnsDomainIs &lt;br /&gt;
 (host,&amp;quot;.gencat.net&amp;quot;)  || dnsDomainIs (host,&amp;quot;.gencat.es&amp;quot;)) {&lt;br /&gt;
 	      	 return &amp;quot;DIRECT&amp;quot;;&lt;br /&gt;
               } &lt;br /&gt;
 	  else&lt;br /&gt;
 	  	return &amp;quot;PROXY 192.168.0.2:8080; PROXY proxy.xtec.es:8080; DIRECT&amp;quot;; &lt;br /&gt;
 	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquest fitxer es penja a Internet, i permet configurar els proxys automàticament.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.xtec.cat/~mcguri/index_proxy.html&lt;br /&gt;
*http://www.xtec.cat/~mcguri/proxypac.txt&lt;br /&gt;
*http://squidproxy.wordpress.com/category/proxypac/&lt;br /&gt;
*http://homepages.tesco.net/J.deBoynePollard/FGA/web-browser-auto-proxy-configuration.html&lt;br /&gt;
*http://en.wikipedia.org/wiki/Proxy_auto-config&lt;br /&gt;
*http://www.hostsfile.org/pac.html&lt;br /&gt;
*http://en.wikipedia.org/wiki/Proxy_auto-config&lt;br /&gt;
**http://www.davidpashley.com/articles/automatic-proxy.html&lt;br /&gt;
&lt;br /&gt;
====Configuració del proxy amb DHCP. Segona part====&lt;br /&gt;
&lt;br /&gt;
 TODO&lt;br /&gt;
&lt;br /&gt;
Exemple IES Nicolau Copèrnic:&lt;br /&gt;
&lt;br /&gt;
  function FindProxyForURL(url, host)&lt;br /&gt;
   {&lt;br /&gt;
      if (isInNet(host, &amp;quot;192.168.0.0&amp;quot;, &amp;quot;255.255.0.0&amp;quot;)) {&lt;br /&gt;
        return &amp;quot;DIRECT&amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
       if (shExpMatch(url, &amp;quot;http:*&amp;quot;))&lt;br /&gt;
          return &amp;quot;PROXY 192.168.11.1:800&amp;quot; ;&lt;br /&gt;
       if (shExpMatch(url, &amp;quot;https:*&amp;quot;))&lt;br /&gt;
          return &amp;quot;PROXY 192.168.11.1:800&amp;quot; ;&lt;br /&gt;
       if (shExpMatch(url, &amp;quot;ftp:*&amp;quot;))&lt;br /&gt;
          return &amp;quot;PROXY 192.168.11.1:800&amp;quot; ;&lt;br /&gt;
       return &amp;quot;DIRECT&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
El col·loques a:&lt;br /&gt;
&lt;br /&gt;
 http://www.iescopernic.com/proxy.pac&lt;br /&gt;
&lt;br /&gt;
Servidor de DHCP:&lt;br /&gt;
&lt;br /&gt;
 option local-pac-server code 252 = text;&lt;br /&gt;
 option local-pac-server &amp;quot;http://www.iescopernic.com/wpad.dat&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
O (recurs ecualug):&lt;br /&gt;
&lt;br /&gt;
 # Configuracion automatica de proxy&lt;br /&gt;
 option wpad-url code 252 = text;&lt;br /&gt;
 option wpad-url &amp;quot;http://wpad.midominio.com:81/proxy.pac\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Recursos'''&lt;br /&gt;
*http://www.davidpashley.com/articles/automatic-proxy.html&lt;br /&gt;
*http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html&lt;br /&gt;
*http://www.ecualug.org/?q=2008/07/02/comos/parte_3_el_servidor_dhcp_y_dns_dinamico&lt;br /&gt;
&lt;br /&gt;
==Configuració del servidor==&lt;br /&gt;
&lt;br /&gt;
===Fitxer de configuració. /etc/squid/squid3.conf===&lt;br /&gt;
&lt;br /&gt;
Els fitxers de configuració són:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L squid3 | grep etc&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/[[logrotate]].d&lt;br /&gt;
 /etc/logrotate.d/squid3&lt;br /&gt;
 /etc/squid3&lt;br /&gt;
 [[/etc/squid3/squid.conf]]&lt;br /&gt;
 /etc/squid3/msntauth.conf&lt;br /&gt;
 /etc/resolvconf.d&lt;br /&gt;
 /etc/resolvconf.d/update-libc.d&lt;br /&gt;
 [[/etc/resolvconf.d/update-libc.d/squid3]]&lt;br /&gt;
 /etc/init.d&lt;br /&gt;
 [[/etc/init.d/squid3]]&lt;br /&gt;
&lt;br /&gt;
El fitxer important de configuració és:&lt;br /&gt;
&lt;br /&gt;
 [[/etc/squid3/squid.conf]]&lt;br /&gt;
&lt;br /&gt;
Per defecte el fitxer conté molts camps de comentari que podeu eliminar amb l'ordre [[grep]]:&lt;br /&gt;
&lt;br /&gt;
 $ cat squid.conf | grep -v '^#\|^$\|^;'&lt;br /&gt;
&lt;br /&gt;
El fitxer per defecte de configuració conté el següent:&lt;br /&gt;
&lt;br /&gt;
 $ cat squid.conf | grep -v '^#\|^$\|^;'&lt;br /&gt;
 acl manager proto cache_object&lt;br /&gt;
 acl localhost src 127.0.0.1/32&lt;br /&gt;
 acl to_localhost dst 127.0.0.0/8&lt;br /&gt;
 acl SSL_ports port 443&lt;br /&gt;
 acl Safe_ports port 80		# http&lt;br /&gt;
 acl Safe_ports port 21		# ftp&lt;br /&gt;
 acl Safe_ports port 443		# https&lt;br /&gt;
 acl Safe_ports port 70		# gopher&lt;br /&gt;
 acl Safe_ports port 210		# wais&lt;br /&gt;
 acl Safe_ports port 1025-65535	# unregistered ports&lt;br /&gt;
 acl Safe_ports port 280		# http-mgmt&lt;br /&gt;
 acl Safe_ports port 488		# gss-http&lt;br /&gt;
 acl Safe_ports port 591		# filemaker&lt;br /&gt;
 acl Safe_ports port 777		# multiling http&lt;br /&gt;
 acl CONNECT method CONNECT&lt;br /&gt;
 http_access allow manager localhost&lt;br /&gt;
 http_access deny manager&lt;br /&gt;
 http_access deny !Safe_ports&lt;br /&gt;
 http_access deny CONNECT !SSL_ports&lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
 http_access deny all&lt;br /&gt;
 icp_access deny all&lt;br /&gt;
 htcp_access deny all&lt;br /&gt;
 http_port 3128&lt;br /&gt;
 hierarchy_stoplist cgi-bin ?&lt;br /&gt;
 access_log /var/log/squid3/access.log squid&lt;br /&gt;
 refresh_pattern ^ftp:		1440	20%	10080&lt;br /&gt;
 refresh_pattern ^gopher:	1440	0%	1440&lt;br /&gt;
 refresh_pattern (cgi-bin|\?)	0	0%	0&lt;br /&gt;
 refresh_pattern .		0	20%	4320&lt;br /&gt;
 icp_port 3130&lt;br /&gt;
 coredump_dir /var/spool/squid3&lt;br /&gt;
&lt;br /&gt;
Podeu consultar la referència dels paràmetres d'Squid al manual:&lt;br /&gt;
&lt;br /&gt;
*http://www.squid-cache.org/Versions/v3/3.0/cfgman/&lt;br /&gt;
*http://wiki.squid-cache.org/Features&lt;br /&gt;
&lt;br /&gt;
Comentem línia a línia el fitxer per defecte. Les línies '''acl''':&lt;br /&gt;
&lt;br /&gt;
 [http://www.squid-cache.org/Versions/v3/3.0/cfgman/acl.html acl] manager proto cache_object&lt;br /&gt;
 acl localhost src 127.0.0.1/32&lt;br /&gt;
 acl to_localhost dst 127.0.0.0/8&lt;br /&gt;
 acl SSL_ports port 443&lt;br /&gt;
 acl Safe_ports port 80		# http&lt;br /&gt;
 acl Safe_ports port 21		# ftp&lt;br /&gt;
 acl Safe_ports port 443		# https&lt;br /&gt;
 acl Safe_ports port 70		# gopher&lt;br /&gt;
 acl Safe_ports port 210		# wais&lt;br /&gt;
 acl Safe_ports port 1025-65535	# unregistered ports&lt;br /&gt;
 acl Safe_ports port 280		# http-mgmt&lt;br /&gt;
 acl Safe_ports port 488		# gss-http&lt;br /&gt;
 acl Safe_ports port 591		# filemaker&lt;br /&gt;
 acl Safe_ports port 777		# multiling http&lt;br /&gt;
 acl CONNECT method CONNECT&lt;br /&gt;
&lt;br /&gt;
Defineixen elements [[ACL]] (Accés Control List). La sintaxi és la següent:&lt;br /&gt;
&lt;br /&gt;
 acl aclname acltype argument ...&lt;br /&gt;
 acl aclname acltype &amp;quot;file&amp;quot; ...&lt;br /&gt;
&lt;br /&gt;
On&lt;br /&gt;
:*'''acl_name''': És el nom que li donem a la llista d'accés&lt;br /&gt;
:*'''acl_type''': indica el tipus de llista. Hi han molts tipus de llista que podeu consultar al [http://www.squid-cache.org/Versions/v3/3.0/cfgman/acl.html manual] (també podeu consultar els desplegables de [[webmin]]). Algunes de les més important permeten declarar adreces IP, rangs d'adreces, MACs, URLs, expressions regulats, ports, etc.&lt;br /&gt;
:*'''argument''': Segons el tipus de llista pot ser un text, una IP, una MAC, una expressió regular, una URL, un mime-type...&lt;br /&gt;
:*'''file''': Es pot indicar un fitxer on trobar les acl (una per línia)&lt;br /&gt;
&lt;br /&gt;
Alguns exemples:&lt;br /&gt;
&lt;br /&gt;
 acl macaddress arp 09:00:2b:23:45:67&lt;br /&gt;
 acl myexample dst_as 1241&lt;br /&gt;
 acl password proxy_auth REQUIRED&lt;br /&gt;
 acl fileupload req_mime_type -i ^multipart/form-data$&lt;br /&gt;
 acl javascript rep_mime_type -i ^application/x-javascript$&lt;br /&gt;
&lt;br /&gt;
Consulteu l'apartat [[#ACLs]] per tal d'obtenir més informació.&lt;br /&gt;
&lt;br /&gt;
Tornant al fitxer bàsic de configuració. La primera línia:&lt;br /&gt;
&lt;br /&gt;
 acl manager proto cache_object&lt;br /&gt;
&lt;br /&gt;
Defineix un acl de tipus proto (protocol) anomenada manager amb argument cache_object. El protocol cache_object és el protocol que utilitza l'eina [[Squid#cachemgr | cachemgr]] per accedir a squid. La següent acl:&lt;br /&gt;
 &lt;br /&gt;
 acl localhost src 127.0.0.1/32&lt;br /&gt;
&lt;br /&gt;
Defineix que és localhost. Les acl es declaren per tal de ser utilitzades per altres directives en línies posteriors del fitxer de configuració. Per exemple les acl localhost i manager s'utilitzen a:&lt;br /&gt;
&lt;br /&gt;
 http_access allow manager localhost&lt;br /&gt;
 ...&lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
 http_access deny all&lt;br /&gt;
&lt;br /&gt;
Recordeu que les acces entry són ANDs i per tant:&lt;br /&gt;
&lt;br /&gt;
 http_access allow manager localhost&lt;br /&gt;
 http_access deny manager&lt;br /&gt;
&lt;br /&gt;
Només permet les consultes de [Squid#cachemgr | cachemgr]] des de localhost (la resta estan impedides per la línia deny). Després permetem utilitzar el proxy squid a la màquina localhost i deneguem la resta&lt;br /&gt;
&lt;br /&gt;
{{nota|Tingueu doncs en compte, que per defecte la configuració d'Squid no ens permet utilitzar el servidor des de altres màquines de la xarxa. Consulteu [[Squid#Com_definir_quins_seran_els_clients_que_podran_utilitzar_el_servidor_Squid|Com_definir_quins_seran_els_clients_que_podran_utilitzar_el_servidor_Squid]]. Cal tenir en compte que el port sortirà obert però no passarem les ACL del servidor}}&lt;br /&gt;
&lt;br /&gt;
El següent element ACL és defineix però no s'utilitza:&lt;br /&gt;
&lt;br /&gt;
 acl to_localhost dst 127.0.0.0/8&lt;br /&gt;
&lt;br /&gt;
La següent línia és necessària per al correcte funcionament de les connexions HTTPS a través del Proxy:&lt;br /&gt;
&lt;br /&gt;
 acl SSL_ports port 443&lt;br /&gt;
&lt;br /&gt;
El protocol [[HTTP]] té diferents [[http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods Request methods]]. Els més coneguts són GET, POST i HEAD. Però el protocol [[HTTPS] no pot ser caxejat i per tant amb aquest port s'utilitza el Request Method '''CONNECT''' que el que fa és un túnel directe, Més endavant al fitxer trobem les directives:&lt;br /&gt;
&lt;br /&gt;
 acl CONNECT method CONNECT&lt;br /&gt;
 http_access deny CONNECT !SSL_ports&lt;br /&gt;
&lt;br /&gt;
Que només permet utilitzar el metode HTTP '''CONNECT''' al port 443.&lt;br /&gt;
&lt;br /&gt;
Algunes ACL poden ser llistes d'ítems. Per exemple:&lt;br /&gt;
&lt;br /&gt;
 acl Safe_ports port 80		# http&lt;br /&gt;
 acl Safe_ports port 21		# ftp&lt;br /&gt;
 acl Safe_ports port 443		# https&lt;br /&gt;
 acl Safe_ports port 70		# gopher&lt;br /&gt;
 acl Safe_ports port 210		# wais&lt;br /&gt;
 acl Safe_ports port 1025-65535	# unregistered ports&lt;br /&gt;
 acl Safe_ports port 280		# http-mgmt&lt;br /&gt;
 acl Safe_ports port 488		# gss-http&lt;br /&gt;
 acl Safe_ports port 591		# filemaker&lt;br /&gt;
 acl Safe_ports port 777		# multiling http&lt;br /&gt;
&lt;br /&gt;
Defineix una llista de ports anomenada '''Safe_ports'''. Més endavant al fitxer de configuració:&lt;br /&gt;
 &lt;br /&gt;
 http_access deny !Safe_ports&lt;br /&gt;
&lt;br /&gt;
Impedeix l'accés HTTP a qualsevol port que no sigui un dels especificats com a segurs. Això és així per tal d'evitar usos il·lícits d'Squid com per exemple utilitzar-lo de relay SMTP. A la [http://wiki.squid-cache.org/SquidFaq/SquidAcl#Why_does_Squid_deny_some_port_numbers.3F wiki d'Squid] expliquen amb més detall per que certs ports poden ser insegurs.&lt;br /&gt;
&lt;br /&gt;
Després trobem les directives:&lt;br /&gt;
&lt;br /&gt;
 icp_access deny all&lt;br /&gt;
 htcp_access deny all&lt;br /&gt;
&lt;br /&gt;
Per defecte no estan activats els protocols per a fer Cache distribuït. Els protocols són [[ICP]] i [[HTCP]]. De totes maneres més endavant s'indica el port ICP:&lt;br /&gt;
&lt;br /&gt;
 icp_port 3130&lt;br /&gt;
&lt;br /&gt;
La directiva:&lt;br /&gt;
 &lt;br /&gt;
 http_port 3128&lt;br /&gt;
&lt;br /&gt;
Defineix el port al qual escolta peticions el servidor Squid.&lt;br /&gt;
&lt;br /&gt;
La directiva: &lt;br /&gt;
&lt;br /&gt;
 access_log [[/var/log/squid3/access.log]] squid&lt;br /&gt;
&lt;br /&gt;
Defineix a on es guarda el log d'acces. Aquí Squid registra tots els accessos al servidor i és el fitxer bàsic per a realitzar informes del proxy.&lt;br /&gt;
&lt;br /&gt;
Les directives:&lt;br /&gt;
&lt;br /&gt;
 [ hierarchy_stoplist] cgi-bin ?&lt;br /&gt;
&lt;br /&gt;
Després venen les indicacions &lt;br /&gt;
 [http://www.squid-cache.org/Versions/v3/3.0/cfgman/refresh_pattern.html refresh_pattern] ^ftp:		1440	20%	10080&lt;br /&gt;
 refresh_pattern ^gopher:	1440	0%	1440&lt;br /&gt;
 refresh_pattern (cgi-bin|\?)	0	0%	0&lt;br /&gt;
 refresh_pattern .		0	20%	4320&lt;br /&gt;
&lt;br /&gt;
La sintaxi de refresh_pattern és:&lt;br /&gt;
&lt;br /&gt;
 refresh_pattern [-i] regex min percent max [options]&lt;br /&gt;
&lt;br /&gt;
On:&lt;br /&gt;
&lt;br /&gt;
:*'''regex''': s'utilitzen [[expressions regulars]] (per defecte són case-sensitive, es pot desactivar amb l'opció -i).&lt;br /&gt;
:*'''Min''': és el temps en minuts que un objecte sense un temps d'expiració implícit pot ser considerat un objecte fresc. El valor recomanat és 0, qualsevol altre valor pot provocar que les aplicacions dinàmiques no funcionin correctament si el programador de l'aplicació no ha establert explícitament el temps d'expiració.&lt;br /&gt;
:*'''Percent''': és el percentatge de temps respecte a l'edat de l'objecte (temps des de la última modificació) que un objecte sense un temps explícit d'expiració pot ser considerat un objecte fresc.&lt;br /&gt;
:*'''Max''': defineix quina és la edat màxima del objecte per tal de poder-lo considerar fresc&lt;br /&gt;
:*'''Opcions''':&lt;br /&gt;
::* override-expire&lt;br /&gt;
::* override-lastmod&lt;br /&gt;
::* reload-into-ims&lt;br /&gt;
::* ignore-reload&lt;br /&gt;
::* ignore-no-cache&lt;br /&gt;
::* ignore-no-store&lt;br /&gt;
::* ignore-private&lt;br /&gt;
::* ignore-auth&lt;br /&gt;
::* refresh-ims&lt;br /&gt;
&lt;br /&gt;
Per tant:&lt;br /&gt;
&lt;br /&gt;
 refresh_pattern ^ftp:		1440	20%	10080&lt;br /&gt;
&lt;br /&gt;
Controla quan es refresquen les peticions a una URL amb el protocol FTP (^ indica inici de la url). 1440 és un dia (24 hores) en minuts. Són els valor estàndard del protocol FTP. El mateix pel protocol [[gopher]]:&lt;br /&gt;
&lt;br /&gt;
 refresh_pattern ^gopher:	1440	0%	1440&lt;br /&gt;
&lt;br /&gt;
Les pàgines dinàmiques ([[CGI]]) no tenen cache:&lt;br /&gt;
&lt;br /&gt;
 refresh_pattern (cgi-bin|\?)	0	0%	0&lt;br /&gt;
&lt;br /&gt;
La resta:&lt;br /&gt;
&lt;br /&gt;
 refresh_pattern .		0	20%	4320&lt;br /&gt;
&lt;br /&gt;
És a dir que:&lt;br /&gt;
&lt;br /&gt;
 Si no hi ha temps d'expiració indicat aleshores es torna a demanar l'objecte&lt;br /&gt;
 Si hi ha data explicita&lt;br /&gt;
 La edat màxima d'un objecte és 3 dies (7320 minuts) i es pot considerar fresc un màxim del 205 (14,4h)&lt;br /&gt;
&lt;br /&gt;
el protocol per definir si un fitxer de la cache és fresc (FRESH) o no (STALE) és:&lt;br /&gt;
&lt;br /&gt;
 FRESH if expires &amp;lt; now, else STALE&lt;br /&gt;
 STALE if age &amp;gt; max&lt;br /&gt;
 FRESH if lm-factor &amp;lt; percent, else STALE&lt;br /&gt;
 FRESH if age &amp;lt; min&lt;br /&gt;
 else STALE&lt;br /&gt;
&lt;br /&gt;
I finalment hi ha la directiva d'on posar els core_dumps (en cas que succeixin)&lt;br /&gt;
&lt;br /&gt;
 [http://www.squid-cache.org/Versions/v3/3.0/cfgman/coredump_dir.html coredump_dir] /var/spool/squid3&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://wiki.squid-cache.org/SquidFaq/ConfiguringSquid#Do_you_have_a_squid.conf_example.3F&lt;br /&gt;
&lt;br /&gt;
===Modificar el fitxer de configuració===&lt;br /&gt;
&lt;br /&gt;
És més còmode treballar amb un fitxer sens comentaris. Fer una còpia de l'original i elimineu els comentaris amb:&lt;br /&gt;
&lt;br /&gt;
 $ cd /etc/squid3&lt;br /&gt;
 $ sudo cp squid.conf squid.conf.reference&lt;br /&gt;
 $ sudo bash -c &amp;quot;cat squid.conf | grep -i -v '^#\|^$\|^;' &amp;gt;  squid.conf.backup&amp;quot;&lt;br /&gt;
 $ sudo mv squid.conf.backup squid.conf&lt;br /&gt;
&lt;br /&gt;
Cada cop que modifiqueu el fitxer comproveu la sintaxi amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo squid3 -k parse&lt;br /&gt;
&lt;br /&gt;
I aplique els canvis amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/squid3 reload&lt;br /&gt;
&lt;br /&gt;
===Com definir quins seran els clients que podran utilitzar el servidor Squid===&lt;br /&gt;
&lt;br /&gt;
Cal definir una ACL com per exemple:&lt;br /&gt;
&lt;br /&gt;
 acl myclients src 192.168.0.0/24&lt;br /&gt;
&lt;br /&gt;
I utilitzar una llista d'accés http:&lt;br /&gt;
&lt;br /&gt;
 http_access allow myclients&lt;br /&gt;
&lt;br /&gt;
===ACLs===&lt;br /&gt;
&lt;br /&gt;
Les [[ACL]] (Accés Control List) defineixen les tasquest que es poden realitzar en un servidor Squid. Cal tenir en compte que tenim:&lt;br /&gt;
&lt;br /&gt;
:*'''Elements ACL (ACL elements)''': es defineixen elements amb la directiva acl. Faciliten la definició d'ACLs&lt;br /&gt;
:*'''Llistes d'accés (ACL) (access entry)'''': hi ha una sèrie de directives per definir que es pot fer i que no. També s'anomenen acces_entry. Més aval les podeu consultar.&lt;br /&gt;
&lt;br /&gt;
Per definir els elements ACL la sintaxi és:&lt;br /&gt;
&lt;br /&gt;
 acl aclname acltype argument ...&lt;br /&gt;
 acl aclname acltype &amp;quot;file&amp;quot; ...&lt;br /&gt;
&lt;br /&gt;
On&lt;br /&gt;
:*'''acl_name''': És el nom que li donem a la llista d'accés&lt;br /&gt;
:*'''acl_type''': indica el tipus de llista. Hi han molts tipus de llista que podeu consultar al [http://www.squid-cache.org/Versions/v3/3.0/cfgman/acl.html manual] (també podeu consultar els desplegables de [[webmin]]). Algunes de les més important permeten declarar adreces IP, rangs d'adreces, MACs, URLs, expressions regulats, ports, etc.&lt;br /&gt;
:*'''argument''': Segons el tipus de llista pot ser un text, una IP, una MAC, una expressió regular, una URL, un mime-type... Podeu consultar tots els tipus a la [http://wiki.squid-cache.org/SquidFaq/SquidAcl#ACL_elements wiki de Squid].&lt;br /&gt;
:*'''file''': Es pot indicar un fitxer on trobar les acl (una entrada per línia)&lt;br /&gt;
&lt;br /&gt;
Alguns exemples:&lt;br /&gt;
&lt;br /&gt;
 acl macaddress arp 09:00:2b:23:45:67&lt;br /&gt;
 acl myexample dst_as 1241&lt;br /&gt;
 acl password proxy_auth REQUIRED&lt;br /&gt;
 acl fileupload req_mime_type -i ^multipart/form-data$&lt;br /&gt;
 acl javascript rep_mime_type -i ^application/x-javascript$&lt;br /&gt;
&lt;br /&gt;
Posteriorment cal definir la ACL amb alguna de les següents directives:&lt;br /&gt;
&lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/http_access/ http_access]''': permet als clients especificats (navegadors) accedir al port de l'Squid. Aquesta és la forma principal de controlar l'accés a Squid. Es poden fer controls per IP, per rangs d'adreces, per tipus de navegador, per MAC...&lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/http_reply_access http_reply_access]''': Permet als clients HTTP (navegadors) rebre la resposta a la petició (request) que han realitzat. S'utilitza per bloquejar certs continguts com p. ex. diferents tipus de continguts segons el seu mime-type ( directiva rep_mime_type acl).&lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/icp_access icp_access]''': Permet a altres caches (p. ex. altres Squid) accedir a la cache del servidor mitjançant el protocol ICP.&lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/miss_access miss_access]''': miss_access: Permet a certs clients reenviar els fitxers que falten a la cache (cache MISSES). Serveix per treballar amb caches distribuïdes.&lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/cache cache]''': Defineix respostes que no han de ser catxejades.&lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/url_rewrite_access url_rewrite_access]''': Controla quines peticions s'envien al redirector pool&lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/ident_lookup_access ident_lookup_access]''': Controla quines peticions necessiten d'una cerca Ident (Ident looku).&lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/always_direct always_direct]''': Controla quines peticions s'han d'enviar sempre directament als servidors originals de la petició. &lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/never_direct never_direct]''': Contrari de l'anterior. Quines peticions no s'han d'enviar mai directament al servidor original&lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/snmp_access snmp_access]''': Controla l'accés de clients [[snmp]].&lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/broken_posts broken_posts]''': &lt;br /&gt;
:*'''[http://www.squid-cache.org/Doc/config/cache_peer_access cache_peer_access]''': Serveix per treballar amb memòries cau distribuïdes.&lt;br /&gt;
&lt;br /&gt;
Qüestions a tenir en compte:&lt;br /&gt;
&lt;br /&gt;
*No es poden definir dos ACL amb el mateix nom&lt;br /&gt;
*Es poden definir diferents valors un per línia. Squid els converteix en una llista.&lt;br /&gt;
*No tots els elements ACL els podrem utilitzar en tots les tasques de control d'accés. Per exemple la snmp_community només té sentit am snmp_access&lt;br /&gt;
*Per utilitzar MACs cal fer servir l'opció --enable-arp-acl. &lt;br /&gt;
*Els elements ACL de SNMP requereixen: --enable-snmp&lt;br /&gt;
*Algunes ACL poden provocar retards en els temps de resposta. Per exemple utilitzar noms de màquina (src_domain i srcdom_regex) fan consultes DNS.&lt;br /&gt;
*Les llistes ACL són de tipus OR. En cas que hi haguí més d'un element la llista es compleix si almenys es compleix un dels elements&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
http://wiki.squid-cache.org/SquidFaq/SquidAcl&lt;br /&gt;
&lt;br /&gt;
==== Llista completa de ACLs ====&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 http://wiki.squid-cache.org/SquidFaq/SquidAcl#ACL_elements&lt;br /&gt;
&lt;br /&gt;
====Entendre les ACL. Com combinar ACLs====&lt;br /&gt;
&lt;br /&gt;
Cal tenir en compte que tenim:&lt;br /&gt;
&lt;br /&gt;
:*'''Elements ACL (ACL elements)''': tots els elements definits a una llista són ORs.&lt;br /&gt;
:*'''Llistes d'accés (ACL) o acces entry''': tots els elements definits són ANDs.&lt;br /&gt;
&lt;br /&gt;
{{nota| No es poden utilitzar doncs altres combinacions d'ORs o ANDs.}}&lt;br /&gt;
&lt;br /&gt;
Un exemple que no funciona:&lt;br /&gt;
&lt;br /&gt;
 acl ME src 10.0.0.1&lt;br /&gt;
 acl YOU src 10.0.0.2 &lt;br /&gt;
 http_access allow ME YOU&lt;br /&gt;
&lt;br /&gt;
http_access allow és una accés entry i per tant ME i YOU són un AND, és a dir li esteu demanant que el client sigui alhora la IP 10.0.0.1 i 10.0.0.2. Hauria de ser:&lt;br /&gt;
&lt;br /&gt;
 acl ME src 10.0.0.1&lt;br /&gt;
 acl YOU src 10.0.0.2&lt;br /&gt;
 http_access allow ME&lt;br /&gt;
 http_access allow YOU &lt;br /&gt;
&lt;br /&gt;
o:&lt;br /&gt;
&lt;br /&gt;
 acl US src 10.0.0.1 10.0.0.2&lt;br /&gt;
 http_access allow US&lt;br /&gt;
&lt;br /&gt;
====Depurar les ACL. Fitxer de log cache.log====&lt;br /&gt;
&lt;br /&gt;
Es pot activar la depuració amb:&lt;br /&gt;
&lt;br /&gt;
 debug_options ALL,1 33,2&lt;br /&gt;
&lt;br /&gt;
I torneu a iniciar Squid:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/squid3 restart&lt;br /&gt;
&lt;br /&gt;
Ara al fitxer [[/var/log/squid3/cache.log]]:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tail -f /var/log/squid3/cache.log&lt;br /&gt;
&lt;br /&gt;
Veureu informació de cada petició i per que és acceptada o no. Podeu augmentar el nivell de depuració posant:&lt;br /&gt;
 &lt;br /&gt;
 debug_options ALL,1 33,2 28,9&lt;br /&gt;
&lt;br /&gt;
La sintaxi és força senzilla, Squid ésta dividit en seccions. ALL val dir totes les seccions i si només volem depurar una secció la hem d'indicar pel seu número. Les seccions les podeu consultar a:&lt;br /&gt;
&lt;br /&gt;
 http://www.linofee.org/~jel/proxy/Squid/debug.shtml&lt;br /&gt;
&lt;br /&gt;
Les seccions que hem elevat el nivell de depuració són:&lt;br /&gt;
&lt;br /&gt;
 28 Access Control&lt;br /&gt;
 33 Client-side Routines&lt;br /&gt;
&lt;br /&gt;
Va de 1 a 9, sent 9 l'opció més xerraire.&lt;br /&gt;
&lt;br /&gt;
==== Browser ACLs====&lt;br /&gt;
&lt;br /&gt;
Permeten fer normes d'accés depenent del navegador. Per exemple per crear una ACL per a Firefox:&lt;br /&gt;
&lt;br /&gt;
 acl firefox browser -i firefox&lt;br /&gt;
&lt;br /&gt;
{{nota|És important l'opció -i que ignora majúscules/minúscules si no no funciona correctament ja que molst user agents tenen la primera lletra en majúscules, p.ex. Firefox}}&lt;br /&gt;
&lt;br /&gt;
{{nota|firefox és una expressió regular per tant quadra amb qualsevol navegador on al user-agent aparegui la paraula firefox}}&lt;br /&gt;
&lt;br /&gt;
Després es pot utilitzar, per exemple, amb:&lt;br /&gt;
&lt;br /&gt;
 http_access deny !firefox&lt;br /&gt;
&lt;br /&gt;
que només permetrà navegar amb firefox.&lt;br /&gt;
&lt;br /&gt;
Si teniu activat el [[user agent]] log els podeu consultar amb:&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[tail]] -f [[/var/log/squid3/useragent.log]]&lt;br /&gt;
 192.168.1.126 [02/Feb/2010:11:27:56 +0100] &amp;quot;Mozilla/5.0 (X11; U; Linux i686; ca; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7&amp;quot;&lt;br /&gt;
 192.168.1.126 [02/Feb/2010:11:27:57 +0100] &amp;quot;Mozilla/5.0 (X11; U; Linux i686; ca; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7&amp;quot;&lt;br /&gt;
 192.168.1.126 [02/Feb/2010:11:27:57 +0100] &amp;quot;Mozilla/5.0 (X11; U; Linux i686; ca; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Especificar una ACL per a una xarxa ====&lt;br /&gt;
&lt;br /&gt;
 acl localnet src 10.0.0.0/8	# RFC1918 possible internal network&lt;br /&gt;
&lt;br /&gt;
===Canvis en els DNS===&lt;br /&gt;
&lt;br /&gt;
A la carpeta:&lt;br /&gt;
&lt;br /&gt;
 /etc/resolvconf.d/update-libc.d&lt;br /&gt;
&lt;br /&gt;
Hi ha un script que recarrega squid quan hi ha un canvi al fitxer:&lt;br /&gt;
&lt;br /&gt;
 [[/etc/resolv.conf]]&lt;br /&gt;
&lt;br /&gt;
és a dir si hi ha algun canvi en les DNS de la màquina.&lt;br /&gt;
&lt;br /&gt;
===Port de funcionament d'squid===&lt;br /&gt;
&lt;br /&gt;
És un dels pocs serveis que no apareix al fitxer '''/etc/services'''. El port que s'utilitza normalment és el 3128 i es pot modificar utilitzant el paràmetre '''http_port''' del fitxer '''/etc/squid/squid.conf'''&lt;br /&gt;
&lt;br /&gt;
 # Squid normally listens to port 3128&lt;br /&gt;
 http_port 3128&lt;br /&gt;
&lt;br /&gt;
Amb webmin ho podem canviar a:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Portssquid.png]]&lt;br /&gt;
&lt;br /&gt;
Podem comprovar el funcionament d'Squid amb les comandes:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nmap localhost -p 3128&lt;br /&gt;
 $ telnet localhost 3128&lt;br /&gt;
&lt;br /&gt;
=== Opció -k ===&lt;br /&gt;
&lt;br /&gt;
 $ squid3 --help&lt;br /&gt;
 squid3: invalid option -- '-'&lt;br /&gt;
 Usage: squid [-cdhvzCDFNRVYX] [-s | -l facility] [-f config-file] [-[au] port] [-k signal]&lt;br /&gt;
        -a port   Specify HTTP port number (default: 3128).&lt;br /&gt;
        -d level  Write debugging to stderr also.&lt;br /&gt;
        -f file   Use given config-file instead of&lt;br /&gt;
                  /etc/squid3/squid.conf&lt;br /&gt;
        -h        Print help message.&lt;br /&gt;
        '''-k reconfigure|rotate|shutdown|interrupt|kill|debug|check|parse&lt;br /&gt;
                  Parse configuration file, then send signal to &lt;br /&gt;
                  running copy (except -k parse) and exit.'''&lt;br /&gt;
        -s | -l facility&lt;br /&gt;
                  Enable logging to syslog.&lt;br /&gt;
        -u port   Specify ICP port number (default: 3130), disable with 0.&lt;br /&gt;
        -v        Print version.&lt;br /&gt;
        -z        Create swap directories&lt;br /&gt;
        -C        Do not catch fatal signals.&lt;br /&gt;
        -D        Disable initial DNS tests.&lt;br /&gt;
        -F        Don't serve any requests until store is rebuilt.&lt;br /&gt;
        -N        No daemon mode.&lt;br /&gt;
        -R        Do not set REUSEADDR on port.&lt;br /&gt;
        -S        Double-check swap during rebuild.&lt;br /&gt;
        -X        Force full debugging.&lt;br /&gt;
        -Y        Only return UDP_HIT or UDP_MISS_NOFETCH during fast reload.&lt;br /&gt;
&lt;br /&gt;
===Comprovar la sintaxi del fitxer de configuració===&lt;br /&gt;
&lt;br /&gt;
 $ sudo squid3 -k parse&lt;br /&gt;
&lt;br /&gt;
Si hi ha algun error us el dirà:&lt;br /&gt;
&lt;br /&gt;
 $ sudo squid3 -k parse&lt;br /&gt;
 2010/05/07 05:49:24| Processing Configuration File: /etc/squid3/squid.conf (depth 0)&lt;br /&gt;
 '''2010/05/07 05:49:24| cache_cf.cc(346) squid.conf:73 unrecognized: 'useragent_log''''&lt;br /&gt;
&lt;br /&gt;
===Access Control Lists (ACLs)===&lt;br /&gt;
&lt;br /&gt;
'''Passos a seguir amb Webmin'''&lt;br /&gt;
:*Primer creem una ACL de tipus Adreces Client. Podem utilitzar una adreça específica o un rang&lt;br /&gt;
:*Un cop creada l'ACL l'afegim a la llista de restriccions&lt;br /&gt;
:*Afegim restricció de proxy&lt;br /&gt;
:*Escollim l'opció permet i la ACL que acabem de crear&lt;br /&gt;
:*Ara reordenem les restriccions per assegurar-nos que la nostra ACL esta abans que la restricció '''denega all'''. &lt;br /&gt;
:*'''MOLT IMPORTANT''': Aplicar els canvis a Squid&lt;br /&gt;
&lt;br /&gt;
===Memòria cau (cache)===&lt;br /&gt;
&lt;br /&gt;
La memòria cau es guarda per defecte a:&lt;br /&gt;
&lt;br /&gt;
 /var/spool/squid3&lt;br /&gt;
&lt;br /&gt;
Els fitxers que la componen són:&lt;br /&gt;
&lt;br /&gt;
 $ ls -la /var/spool/squid3&lt;br /&gt;
 total 76&lt;br /&gt;
 drwxr-xr-x  18 proxy proxy 4096 2010-01-23 18:17 .&lt;br /&gt;
 drwxr-xr-x   8 root  root  4096 2010-01-23 18:17 ..&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 00&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 01&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 02&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 03&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 04&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 05&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 06&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 07&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 08&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 09&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 0A&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 0B&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 0C&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 0D&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 0E&lt;br /&gt;
 drwxr-x--- 258 proxy proxy 4096 2010-01-23 18:17 0F&lt;br /&gt;
 -rw-r-----   1 proxy proxy   52 2010-01-23 18:17 swap.state&lt;br /&gt;
&lt;br /&gt;
Que cal tenir en compte:&lt;br /&gt;
:*Deixar sempre prou espai en disc per a la memòria cau. Si es queda sense espai Squid es trenca. &lt;br /&gt;
:*Val la pena tenir un bon marge de disc per evitar fragmentació. Com a mínim cal deixar un marge del 10%&lt;br /&gt;
&lt;br /&gt;
La mida de la cau s'indica amb:&lt;br /&gt;
&lt;br /&gt;
 cache_dir ... 7000 16 256&lt;br /&gt;
&lt;br /&gt;
On:&lt;br /&gt;
&lt;br /&gt;
:*'''7000''': són 7GB de cau&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://wiki.squid-cache.org/SquidFaq/ConfiguringSquid#What_.27.27cache_dir.27.27_size_should_I_use.3F&lt;br /&gt;
&lt;br /&gt;
====cachemgr====&lt;br /&gt;
&lt;br /&gt;
El cache manager és un script [[CGI]] (cachemgr.cgi) que permet consultar les estadístiques de la cau i l'execució de l'squid. Per tal d'utilitzar aquesta aplicació cal tenir un [[servidor web]] com per exemple [[Apache]]. En sistemes de la família Debian cal instal·lar el paquet:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install squid3-cgi&lt;br /&gt;
&lt;br /&gt;
Els fitxers proporcionats són:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -L squid3-cgi&lt;br /&gt;
 /.&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/share&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/squid3-cgi&lt;br /&gt;
 /usr/share/doc/squid3-cgi/README&lt;br /&gt;
 /usr/share/doc/squid3-cgi/copyright&lt;br /&gt;
 /usr/share/doc/squid3-cgi/TODO.gz&lt;br /&gt;
 /usr/share/doc/squid3-cgi/changelog.Debian.gz&lt;br /&gt;
 /usr/share/man&lt;br /&gt;
 /usr/share/man/man8&lt;br /&gt;
 /usr/share/man/man8/cachemgr3.cgi.8.gz&lt;br /&gt;
 /usr/lib&lt;br /&gt;
 /usr/lib/cgi-bin&lt;br /&gt;
 /usr/lib/cgi-bin/cachemgr3.cgi&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/squid3&lt;br /&gt;
 /etc/squid3/cachemgr.conf &lt;br /&gt;
&lt;br /&gt;
es proporciona un petit manual:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] cachemgr3.cgi&lt;br /&gt;
&lt;br /&gt;
L'script CGI està a:&lt;br /&gt;
&lt;br /&gt;
 /usr/lib/cgi-bin/cachemgr3.cgi&lt;br /&gt;
&lt;br /&gt;
La [http://wiki.squid-cache.org/SquidFaq/CacheManager?highlight=%28cachemgr%29#Cache_manager_configuration_for_Apache_2.x configuració per Apache 2] és:&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[joe]] /etc/apache2/sites-available/cachemgr&lt;br /&gt;
&lt;br /&gt;
Afegiu:&lt;br /&gt;
&lt;br /&gt;
 ScriptAlias /Squid/cgi-bin/cachemgr.cgi /usr/lib/cgi-bin/cachemgr3.cgi&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Location /Squid/cgi-bin/cachemgr.cgi&amp;gt;&lt;br /&gt;
  order allow,deny&lt;br /&gt;
  allow from IP_DEL_CLIENT&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activeu el site i torneu a iniciar Apache:&lt;br /&gt;
&lt;br /&gt;
 $ sudo a2ensite cachemgr&lt;br /&gt;
 Enabling site cachemgr.&lt;br /&gt;
 Run '/etc/init.d/apache2 reload' to activate new configuration!&lt;br /&gt;
 $ sudo /etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
Accediu amb Firefox:&lt;br /&gt;
&lt;br /&gt;
 http://IP_SERVIDOR//Squid/cgi-bin/cachemgr.cgi&lt;br /&gt;
&lt;br /&gt;
Es pot protegir l'accés amb paraula de pas d'Apache:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /Squid/cgi-bin/cachemgr.cgi&amp;gt;&lt;br /&gt;
  AuthUserFile /path/to/password/file&lt;br /&gt;
  AuthGroupFile /dev/null&lt;br /&gt;
  AuthName User/Password Required&lt;br /&gt;
  AuthType Basic&lt;br /&gt;
  require user cachemanager&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://wiki.squid-cache.org/SquidFaq/CacheManager?highlight=%28cachemgr%29&lt;br /&gt;
*http://www.example.com/Squid/cgi-bin/cachemgr.cgi&lt;br /&gt;
&lt;br /&gt;
=====Exemples des de squidclient=====&lt;br /&gt;
&lt;br /&gt;
Consultar el rendiment dels redirectors:&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:redirector&lt;br /&gt;
&lt;br /&gt;
=====Usuari i paraula de pas=====&lt;br /&gt;
&lt;br /&gt;
Només són necessaris per a apagar la cache (shutdown) o tornar a demanar una URL d'un objecte. Per la resta de dades informatives no cal.  De totes formes es configura al fitxer squid.conf amb la directiva:&lt;br /&gt;
&lt;br /&gt;
 cachemgr_passwd&lt;br /&gt;
&lt;br /&gt;
=====Cache Client List=====&lt;br /&gt;
&lt;br /&gt;
És l'opció més interessant del menú, mostra tots els clients i les seves estadístiques.&lt;br /&gt;
&lt;br /&gt;
=====Accés des del client=====&lt;br /&gt;
&lt;br /&gt;
Consulteu [[#Client Squid]].&lt;br /&gt;
&lt;br /&gt;
====No fer cau d'algunes pàgines. Connexions directes====&lt;br /&gt;
&lt;br /&gt;
 acl gmail dstdomain .gmail.com&lt;br /&gt;
 always_direct allow gmail&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/SquidFaq/ConfiguringSquid#Can_I_make_Squid_go_direct_for_some_sites.3F&lt;br /&gt;
&lt;br /&gt;
===Exemples de configuració===&lt;br /&gt;
&lt;br /&gt;
====Configurar els errors en català====&lt;br /&gt;
&lt;br /&gt;
Afegiu:&lt;br /&gt;
&lt;br /&gt;
 #Errors en català&lt;br /&gt;
 error_directory /usr/share/squid-langpack/ca&lt;br /&gt;
&lt;br /&gt;
Els idiomes son proveïts pel paquet:&lt;br /&gt;
&lt;br /&gt;
 squid-langpack&lt;br /&gt;
&lt;br /&gt;
====Impedir la descàrrega de fitxers grans====&lt;br /&gt;
&lt;br /&gt;
Cal utilitzar:&lt;br /&gt;
&lt;br /&gt;
 reply_body_max_size &lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/SquidFaq/ConfiguringSquid#Can_I_prevent_users_from_downloading_large_files.3F&lt;br /&gt;
&lt;br /&gt;
====No fer cau de certs servidors====&lt;br /&gt;
&lt;br /&gt;
 acl someserver dstdomain .someserver.com&lt;br /&gt;
 cache deny someserver&lt;br /&gt;
&lt;br /&gt;
====Impedir l'accés a cert servidor====&lt;br /&gt;
&lt;br /&gt;
 acl Cooking2 dstdomain www.gourmet-chef.com&lt;br /&gt;
 http_access deny Cooking2&lt;br /&gt;
 http_access allow all&lt;br /&gt;
&lt;br /&gt;
====Impedir totes les pàgines que continguin una paraula o paraules concretes====&lt;br /&gt;
&lt;br /&gt;
 acl Cooking1 url_regex cooking&lt;br /&gt;
 acl Recipe1 url_regex recipe&lt;br /&gt;
 acl myclients src 172.16.5.0/24&lt;br /&gt;
 http_access deny Cooking1&lt;br /&gt;
 http_access deny Recipe1&lt;br /&gt;
 http_access allow myclients&lt;br /&gt;
 http_access deny all&lt;br /&gt;
&lt;br /&gt;
====Paràmetres d'Squid per configurar com a proxy d'apt-get (paquets debian)====&lt;br /&gt;
&lt;br /&gt;
 # Mantenir els paquets Debian 30 dies i els Packages.gz un dia&lt;br /&gt;
 refresh_pattern deb$ 43200 100% 43200&lt;br /&gt;
 refresh_pattern Packages.gz$ 1440 100% 1440&lt;br /&gt;
 #Augmentar la mida màxima d'objecte a la cache&lt;br /&gt;
 maximum_object_size 102400 KB&lt;br /&gt;
 &lt;br /&gt;
 cache_dir ufs /var/spool/squid 1000 16 256&lt;br /&gt;
&lt;br /&gt;
====Permetre només a un client concret accedir a una URL concreta====&lt;br /&gt;
&lt;br /&gt;
 acl special_client src 10.1.2.3&lt;br /&gt;
 acl special_url url_regex ^http://www.squid-cache.org/Doc/FAQ/$&lt;br /&gt;
 http_access allow special_client special_url&lt;br /&gt;
 http_access deny special_url&lt;br /&gt;
&lt;br /&gt;
====Permetre l'accés segons un horari====&lt;br /&gt;
&lt;br /&gt;
 acl FOO src 10.1.2.3 10.1.2.4&lt;br /&gt;
 acl WORKING time MTWHF 08:30-17:30&lt;br /&gt;
 http_access allow FOO WORKING&lt;br /&gt;
 http_access deny FOO&lt;br /&gt;
&lt;br /&gt;
Per a usuaris concrets:&lt;br /&gt;
&lt;br /&gt;
 acl USER1 proxy_auth Dick&lt;br /&gt;
 acl USER2 proxy_auth Jane&lt;br /&gt;
 acl DAY time 06:00-18:00&lt;br /&gt;
 http_access allow USER1 DAY&lt;br /&gt;
 http_access deny USER1&lt;br /&gt;
 http_access allow USER2 !DAY&lt;br /&gt;
 http_access deny USER2&lt;br /&gt;
&lt;br /&gt;
====Impedir fitxers grans====&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # Restringim mida màxima de fitxers&lt;br /&gt;
 #&lt;br /&gt;
 request_header_max_size 10 KB&lt;br /&gt;
 request_body_max_size 512 KB&lt;br /&gt;
 reply_body_max_size 3584000 allow all&lt;br /&gt;
&lt;br /&gt;
====Noms de domini====&lt;br /&gt;
&lt;br /&gt;
 .foo.com impedeix qualsevol pàgina del domini foo.com (www.foo.com, wiki.foo.com o elquesigui.foo.com)&lt;br /&gt;
 foo.com Només impedeix foo.com&lt;br /&gt;
&lt;br /&gt;
====Servidor proxy transparent====&lt;br /&gt;
&lt;br /&gt;
Cal posar:&lt;br /&gt;
&lt;br /&gt;
 http_port 3128 intercept&lt;br /&gt;
&lt;br /&gt;
{{nota| Abans es posava transparent. Ara és [[obsolet]]/[[deprecated]] i es recomana posar intercept que indica millor el que fa el servidor Squid}}&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
:*http://www.squid-cache.org/Versions/v3/3.1/cfgman/http_port.html&lt;br /&gt;
&lt;br /&gt;
{{nota|'''Molt important!''': Squid no fa cache de pàgines HTTPS. Això és per evitar atacs [[man-in-the-middle]]. Amb un proxy transparent (AFAIK) no es poden filtrar pàgines HTTPS. Tingueu en compte que això implica que a moltes pàgines si podrà accedir igualment encara que filtreu, p. ex. https:///www.facebook.es}}&lt;br /&gt;
&lt;br /&gt;
{{nota|També s'anomena [[Interception Caching]], [[Transparent Proxying]] o [[Cache Redirection]]  }}&lt;br /&gt;
&lt;br /&gt;
Interception Caching is the process by which HTTP connections coming from remote clients are redirected to a cache server, without their knowledge or explicit configuration.&lt;br /&gt;
&lt;br /&gt;
'''Avantatges'''&lt;br /&gt;
&lt;br /&gt;
:* No cal configurar els clients. Aquesta és la raó per la qual en xarxes amb moltes màquines se sol valorar aquesta opció.&lt;br /&gt;
:* Es poden implementar millors im ñes fiables estrategies per tal de mantenir l'accés dels clients en case de que la infraestructura de cache no funcioni.&lt;br /&gt;
&lt;br /&gt;
'''Inconvenients''':&lt;br /&gt;
:* Interceptar HTTP trenca els estàndards TCP/IP per què els user agents (navegadors dels clients ) creuen que estan parlant directament alm el servidor original&lt;br /&gt;
:* Necessita IPv4 am suport per a NAT ([[iptables]])&lt;br /&gt;
:* Provoca que no funcioni path-MTU (PMTUD) i és possible que alguns llocs remots no estiguin accessibles. Normalment això no és un problema per a clients connectats per Ethernet o DSL PPPoATM on el MTU de tots els enllaços entre la cache i el client és de 1500 o més. En canvi si els clients es connectant per DSL PPPoE ja que tenen normalment un MTU reduit (1472 és lo habitual).&lt;br /&gt;
:* A versions antigues de IE (abans de la 6) no funciona ctrl-reload de la fomra esperada.&lt;br /&gt;
:* Autenticació de proxy no funciona, i l'autenticació per IP tampoc funciona per què els usuaris provenen tots (tenen la IP d'origen de la màquina que intercepta) de la màquina que intercepta i no pas de la IP original.&lt;br /&gt;
:* No es pot utilitzar IDENT lookups (que de totes formes són molt insegures)&lt;br /&gt;
:* '''NOMÉS SUPORTA HTTP'''. NO FUNCIONA AMB [[gopher]], [[SSL]], o [[FTP]]. No es poden utilitzar ordres de redirecció amb altres protocols que no siguin HTTP &lt;br /&gt;
:* Intercepting Caches are incompatible with IP filtering designed to prevent address spoofing.&lt;br /&gt;
:* Clients are still expected to have full Internet DNS resolving capabilities; in certain intranet/firewalling setups, this is not always wanted.&lt;br /&gt;
:* Related to above: suppose the users browser connects to a site which is down. However, due to the transparent proxying, it gets a connected state to the interceptor. The end user may get wrong error messages or a hung browser, for seemingly unknown reasons to them. &lt;br /&gt;
&lt;br /&gt;
{{important|No es pot utilitzar autenticació amb el mode Interception!}}&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
:*http://wiki.squid-cache.org/SquidFaq/InterceptionProxy&lt;br /&gt;
&lt;br /&gt;
=====Configuració=====&lt;br /&gt;
&lt;br /&gt;
Configuració del fitxer '''/etc/squid3/squid.conf''':&lt;br /&gt;
&lt;br /&gt;
 httpd_accel_host virtual&lt;br /&gt;
 httpd_accel_port 0&lt;br /&gt;
 httpd_accel_whith_proxy on&lt;br /&gt;
 httpd_accel_uses_host_header on&lt;br /&gt;
&lt;br /&gt;
i sobretot:&lt;br /&gt;
&lt;br /&gt;
 http_port 3128 transparent&lt;br /&gt;
&lt;br /&gt;
{{nota|A partir de Squid 3.1 cal:}}&lt;br /&gt;
&lt;br /&gt;
 http_port 3128 intercept&lt;br /&gt;
&lt;br /&gt;
Cal tenir [[sysctl]] configurat amb:&lt;br /&gt;
&lt;br /&gt;
 # Controls IP packet forwarding&lt;br /&gt;
 net.ipv4.ip_forward = 1 &lt;br /&gt;
 &lt;br /&gt;
 # Controls source route verification&lt;br /&gt;
 net.ipv4.conf.default.rp_filter = 0&lt;br /&gt;
 &lt;br /&gt;
 # Do not accept source routing&lt;br /&gt;
 net.ipv4.conf.default.accept_source_route = 0&lt;br /&gt;
&lt;br /&gt;
Consulteu que tingueu:&lt;br /&gt;
&lt;br /&gt;
 $ cat /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
 1&lt;br /&gt;
 $ cat /proc/sys/net/ipv4/conf/all/rp_filter &lt;br /&gt;
 0&lt;br /&gt;
 $ cat /proc/sys/net/ipv4/conf/all/accept_source_route &lt;br /&gt;
 0&lt;br /&gt;
&lt;br /&gt;
També cal configurar IPTABLES.Consulteu la secció [[Netfilter/iptables#Proxy_transparent_amb_iptables | Proxy_transparent_amb_iptables]] de l'article [[Netfilter/iptables]].&lt;br /&gt;
&lt;br /&gt;
Amb webmin tenim l'apartat '''Port Redirection Setup''':&lt;br /&gt;
&lt;br /&gt;
[[Imatge:PortRedirectionSetup.png]]&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples/Intercept/LinuxDnat&lt;br /&gt;
&lt;br /&gt;
====Modificar/fer a mida les pàgines d'error====&lt;br /&gt;
&lt;br /&gt;
Les trobareu a la carpeta:&lt;br /&gt;
&lt;br /&gt;
 $ ls /etc/squid/errors&lt;br /&gt;
 ERR_ACCESS_DENIED            ERR_DNS_FAIL           ERR_FTP_NOT_FOUND     ERR_INVALID_REQ   ERR_ONLY_IF_CACHED_MISS  ERR_TOO_BIG&lt;br /&gt;
 ERR_CACHE_ACCESS_DENIED      ERR_FORWARDING_DENIED  ERR_FTP_PUT_CREATED   ERR_INVALID_RESP  ERR_READ_ERROR           ERR_UNSUP_REQ&lt;br /&gt;
 ERR_CACHE_MGR_ACCESS_DENIED  ERR_FTP_DISABLED       ERR_FTP_PUT_ERROR     ERR_INVALID_URL   ERR_READ_TIMEOUT         ERR_URN_RESOLVE&lt;br /&gt;
 ERR_CANNOT_FORWARD           ERR_FTP_FAILURE        ERR_FTP_PUT_MODIFIED  ERR_LIFETIME_EXP  ERR_SHUTTING_DOWN        ERR_WRITE_ERROR&lt;br /&gt;
 ERR_CONNECT_FAIL             ERR_FTP_FORBIDDEN      ERR_FTP_UNAVAILABLE   ERR_NO_RELAY      ERR_SOCKET_FAILURE       ERR_ZERO_SIZE_OBJECT&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/SquidFaq/SquidAcl#I_want_to_customize.2C_or_make_my_own_error_messages.&lt;br /&gt;
&lt;br /&gt;
Podeu crear un fitxer (/usr/local/squid/etc/porno.txt) amb un text com:&lt;br /&gt;
&lt;br /&gt;
 Our company policy is to deny requests to known porno sites.  If you&lt;br /&gt;
 feel you've received this message in error, please contact&lt;br /&gt;
 the support staff (support@this.company.com, 555-1234).&lt;br /&gt;
&lt;br /&gt;
I després posar&lt;br /&gt;
 &lt;br /&gt;
 acl porn url_regex &amp;quot;/usr/local/squid/etc/porno.txt&amp;quot;&lt;br /&gt;
 deny_info ERR_NO_PORNO porn&lt;br /&gt;
 http_access deny porn&lt;br /&gt;
 &lt;br /&gt;
{{nota| A les plantilles d'Error l'hora està en GMT. Per mostrar l'hora local cal posar %t en comptes de %T a les plantilles}}&lt;br /&gt;
&lt;br /&gt;
====Delay Pools====&lt;br /&gt;
&lt;br /&gt;
Cal tenir squid compilat amb l'opció '''--enable-delay-pools''':&lt;br /&gt;
&lt;br /&gt;
 $ squid3 -v | grep pool&lt;br /&gt;
 configure options:  '--build=i486-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' &lt;br /&gt;
 ...&lt;br /&gt;
 --enable-removal-policies=lru,heap' ''''--enable-delay-pools'''' '--enable-cache-digests' '--enable-underscores' '--enable-icap-client' '--enable-follow-x-forwarded-for'  &lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Directiva '''delay_pools''':&lt;br /&gt;
&lt;br /&gt;
 delay_pools N&lt;br /&gt;
&lt;br /&gt;
On N és el nombre de delay pools.&lt;br /&gt;
&lt;br /&gt;
La directiva delay_class indica el tipus de delay pool:&lt;br /&gt;
&lt;br /&gt;
 delay_class id class &lt;br /&gt;
&lt;br /&gt;
On id identifica el delay pool i id_class la classe&lt;br /&gt;
&lt;br /&gt;
Hi ha 3 classes a Squid 2.0:&lt;br /&gt;
&lt;br /&gt;
:*'''Classe 1''': Es defineix una única estructura de control, limitant el ús del canal sense distingir entre màquines client. També s'anomena un únic '''[[aggregate bucket]]'''. Es indicat per tal de controlar l'ús de l'ample de banda sense importa l'ús que en fan els clients.&lt;br /&gt;
:*'''Clase 2''': Esta format per 256 Delay Pools de classe 1. Es parla d'un aggregate bucket i 256 individual buckets. S'utilitza en xarxes de classe C i Squid assigna un delay pool a cada possible client.&lt;br /&gt;
:*'''Clase 3''': Són 256 Delay Pools de classe 2. 1 aggregate bucket, 256 network buckets, i 65,536 individual buckets. Xarxes de classe B.&lt;br /&gt;
&lt;br /&gt;
Un exemple:&lt;br /&gt;
&lt;br /&gt;
 delay_pools 3&lt;br /&gt;
 delay_class 1 3 ## el Delay Pool 1 és classe 3&lt;br /&gt;
 delay_class 2 1 ## el Delay Pool 2 és classe 1&lt;br /&gt;
 delay_class 3 2 ## el Dalay Pool 3 és classe 2 &lt;br /&gt;
&lt;br /&gt;
Per especificar els paràmetres del delay pool:&lt;br /&gt;
&lt;br /&gt;
 delay_parameters id rate/size [ rate/size [rate/size]] &lt;br /&gt;
&lt;br /&gt;
Es defineixen tres rate/size:&lt;br /&gt;
&lt;br /&gt;
:*El primer és obligatori.&lt;br /&gt;
&lt;br /&gt;
{{nota|Les mides s'especifiquen en Bytes tant el rate com el size. Cal tenir en compte que les mides d'ample de banda són normalment en bps, bits per segon i per tant cal fer la conversió.}}&lt;br /&gt;
&lt;br /&gt;
Exemple de conversió:&lt;br /&gt;
&lt;br /&gt;
Si vegeu un valor de 76800, estem indicant els Bytes/s. Per passar a Kbps:&lt;br /&gt;
&lt;br /&gt;
 76800*8/1024=600Kbps&lt;br /&gt;
&lt;br /&gt;
En una línia ADSL teòrica de 6Mbps, passant un [http://www.adsl4ever.com/test/11/ test ADSL]:&lt;br /&gt;
&lt;br /&gt;
 Download Speed: 2215 kbps (276.9 KB/sec transfer rate)&lt;br /&gt;
 Upload Speed: 494 kbps (61.8 KB/sec transfer rate)&lt;br /&gt;
&lt;br /&gt;
Vegem un exemple de Delay Pool de classe 1:&lt;br /&gt;
&lt;br /&gt;
 delay_parameters 1 76800/230400&lt;br /&gt;
&lt;br /&gt;
S'utilitza un ampla de banda màxim de 76800bps (600Kb/s) permeten ràfages per a una mida màxima de 1800Kb (1,8M aprox.)&lt;br /&gt;
&lt;br /&gt;
Altres exemples:&lt;br /&gt;
&lt;br /&gt;
 # asigno el canal a hosts en una red clase C sin límite global&lt;br /&gt;
 &lt;br /&gt;
 delay_parameters 1 -1/-1 10000/200000  &lt;br /&gt;
 &lt;br /&gt;
 # asigno canal en una red clase B a hosts individuales sin límites por subred&lt;br /&gt;
 &lt;br /&gt;
 delay_parameters 2 340787/1022361 -1/-1 10000/200000 &lt;br /&gt;
 &lt;br /&gt;
 # asigno canal en una red clase B a cada su red sin importar los hosts &lt;br /&gt;
 &lt;br /&gt;
 delay_parameters 3 340787/1022361 10000/200000 -1/-1  &lt;br /&gt;
&lt;br /&gt;
*http://www.bulma.net/body.phtml?nIdNoticia=2284&lt;br /&gt;
&lt;br /&gt;
=====Monitoritzar Delay Pools=====&lt;br /&gt;
&lt;br /&gt;
Es pot fer amb l'ordre:&lt;br /&gt;
&lt;br /&gt;
 squidclient mgr:delay | less &lt;br /&gt;
&lt;br /&gt;
Les podeu observar en temps real amb [[watch]]:&lt;br /&gt;
&lt;br /&gt;
 $ watch -n 1 &amp;quot;squidclient mgr:delay | less&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Per provar el correcte funcionament dels delay pools utilitzeu [[wget]] o [[iptraf]] ja que els navegadors fan mitges i poden emmanscarar el resultat final.&lt;br /&gt;
&lt;br /&gt;
====Fitxer de configuració de l'INS de l'Ebre====&lt;br /&gt;
&lt;br /&gt;
 $ sudo cat /etc/squid3/squid.conf|more&lt;br /&gt;
 acl manager proto cache_object&lt;br /&gt;
 acl localhost src 127.0.0.1/32&lt;br /&gt;
 acl to_localhost dst 127.0.0.0/8&lt;br /&gt;
 acl SSL_ports port 443&lt;br /&gt;
 acl SSL_ports port 563 # snews&lt;br /&gt;
 acl SSL_ports port 993 # IMAP GMAIL&lt;br /&gt;
 acl Safe_ports port 80 # http&lt;br /&gt;
 acl Safe_ports port 21 # ftp&lt;br /&gt;
 acl Safe_ports port 443 # https&lt;br /&gt;
 acl Safe_ports port 563 # snews&lt;br /&gt;
 acl Safe_ports port 70 # gopher&lt;br /&gt;
 acl Safe_ports port 210 # wais&lt;br /&gt;
 acl Safe_ports port 1025-65535 # unregistered ports&lt;br /&gt;
 acl Safe_ports port 280 # http-mgmt&lt;br /&gt;
 acl Safe_ports port 488 # gss-http&lt;br /&gt;
 acl Safe_ports port 591 # filemaker&lt;br /&gt;
 acl Safe_ports port 777 # multiling http&lt;br /&gt;
 acl CONNECT method CONNECT&lt;br /&gt;
 acl Aules_informatica src 192.168.7.0/255.255.255.0&lt;br /&gt;
 acl unrestricted_ips src &amp;quot;/etc/squid3/src_unrestricted_ip.acl&amp;quot;&lt;br /&gt;
 acl unrestricted_macs arp &amp;quot;/etc/squid3/src_unrestricted_mac.acl&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 http_access allow manager localhost&lt;br /&gt;
 http_access deny manager&lt;br /&gt;
 http_access deny !Safe_ports&lt;br /&gt;
 http_access deny CONNECT !SSL_ports&lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
 &lt;br /&gt;
 visible_hostname ebrecop1&lt;br /&gt;
 cache_mgr informatica@iesebre.com&lt;br /&gt;
 &lt;br /&gt;
 #No cache&lt;br /&gt;
 acl no_cache_hosts url_regex -i &amp;quot;/etc/squid3/dst_nocache_url.acl&amp;quot;&lt;br /&gt;
 cache deny no_cache_hosts&lt;br /&gt;
 &lt;br /&gt;
 cache_mem 750 MB&lt;br /&gt;
 cache_dir aufs /var/spool/squid3 10000 16 256&lt;br /&gt;
 &lt;br /&gt;
 #Errors en català&lt;br /&gt;
 error_directory /usr/share/squid-langpack/ca&lt;br /&gt;
 #Activar user agent log&lt;br /&gt;
 #useragent_log /var/log/squid3/user_agent.log&lt;br /&gt;
 &lt;br /&gt;
 strip_query_terms off  &lt;br /&gt;
 &lt;br /&gt;
 #Navegadors&lt;br /&gt;
 acl navegadors browser -i firefox&lt;br /&gt;
 acl navegadors browser -i explorer&lt;br /&gt;
 acl navegadors browser -i chrome&lt;br /&gt;
 &lt;br /&gt;
 #Utilitzar usuaris del fitxer /etc/squid3/users&lt;br /&gt;
 auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/users&lt;br /&gt;
 auth_param basic children 30&lt;br /&gt;
 auth_param basic realm Servidor Proxy del Institut de l'Ebre&lt;br /&gt;
 auth_param basic credentialsttl 6 hours&lt;br /&gt;
 auth_param basic casesensitive off&lt;br /&gt;
 &lt;br /&gt;
 #Usuaris&lt;br /&gt;
 acl guestuser proxy_auth guest&lt;br /&gt;
 acl ncsa_users proxy_auth REQUIRED&lt;br /&gt;
 &lt;br /&gt;
 #Clients sense restriccions&lt;br /&gt;
 http_access allow unrestricted_ips unrestricted_macs&lt;br /&gt;
 &lt;br /&gt;
 #Permetre totes les aplicacions que no siguin els navegadors&lt;br /&gt;
 http_access allow Aules_informatica !navegadors&lt;br /&gt;
 http_access allow ncsa_users&lt;br /&gt;
 &lt;br /&gt;
 #TODO: Crear un delay pool per a l'usuari convidat:&lt;br /&gt;
 #User: alumne&lt;br /&gt;
 #Password: guest&lt;br /&gt;
 #Forçar que funcioni més lentament  &lt;br /&gt;
 &lt;br /&gt;
 delay_pools 1&lt;br /&gt;
 delay_class 1 1&lt;br /&gt;
 &lt;br /&gt;
 delay_parameters 1 640/400000&lt;br /&gt;
 &lt;br /&gt;
 delay_access 1 allow guestuser&lt;br /&gt;
 delay_access 1 deny all &lt;br /&gt;
 &lt;br /&gt;
 http_access deny all&lt;br /&gt;
 &lt;br /&gt;
 #Activar SquidGuard&lt;br /&gt;
 redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf&lt;br /&gt;
 redirect_children 50&lt;br /&gt;
 redirector_bypass on&lt;br /&gt;
 &lt;br /&gt;
 icp_access deny all&lt;br /&gt;
 htcp_access deny all&lt;br /&gt;
 http_port 3128&lt;br /&gt;
 hierarchy_stoplist cgi-bin ?&lt;br /&gt;
 access_log /var/log/squid3/access.log squid&lt;br /&gt;
 refresh_pattern ^ftp:		1440	20%	10080&lt;br /&gt;
 refresh_pattern ^gopher:	1440	0%	1440&lt;br /&gt;
 refresh_pattern (cgi-bin|\?)	0	0%	0&lt;br /&gt;
 refresh_pattern .		0	20%	4320&lt;br /&gt;
 icp_port 3130&lt;br /&gt;
 coredump_dir /var/spool/squid3&lt;br /&gt;
&lt;br /&gt;
====Fitxers de hosts i llistes de denegació====&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://rlwpx.free.fr/WPFF/hosts.htm&lt;br /&gt;
&lt;br /&gt;
====Limitar el nombre de connexions simultànies d'un client====&lt;br /&gt;
&lt;br /&gt;
 acl ACCOUNTSDEPT 192.168.5.0/24&lt;br /&gt;
 acl limitusercon maxconn 3&lt;br /&gt;
 http_access deny ACCOUNTSDEPT limitusercon&lt;br /&gt;
&lt;br /&gt;
:*http://www.cyberciti.biz/tips/howto-limit-squid-proxy-number-web-connections.html&lt;br /&gt;
&lt;br /&gt;
==== NO fer cache de certes pàgines. Directiva nocache ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
 Utilitzar la directiva no_cache ...&lt;br /&gt;
&lt;br /&gt;
=Fitxers de Log=&lt;br /&gt;
&lt;br /&gt;
 Consulteu a la wiki d'Squid el [http://wiki.squid-cache.org/SquidFaq/SquidLogs?highlight=%28squid%29|%28request%29|%28status%29 FAQ sobre els logs]&lt;br /&gt;
&lt;br /&gt;
Es pot modificar el format del fitxer de log amb la directiva [http://www.squid-cache.org/Doc/config/logformat/ logformat]:&lt;br /&gt;
&lt;br /&gt;
 logformat &amp;lt;name&amp;gt; &amp;lt;format specification&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On &amp;lt;format specification&amp;gt; és una cadena de text amb format codes que comencen per %.&lt;br /&gt;
&lt;br /&gt;
'''Format codes''':&lt;br /&gt;
&lt;br /&gt;
 	        &amp;gt;a	Client source IP address&lt;br /&gt;
 		&amp;gt;A	Client FQDN&lt;br /&gt;
 		&amp;gt;p	Client source port&lt;br /&gt;
 		&amp;lt;A	Server IP address or peer name&lt;br /&gt;
 		la	Local IP address (http_port)&lt;br /&gt;
 		lp	Local port number (http_port)&lt;br /&gt;
 		ts	Seconds since epoch&lt;br /&gt;
 		tu	subsecond time (milliseconds)&lt;br /&gt;
 		tl	Local time. Optional strftime format argument&lt;br /&gt;
 			default %d/%b/%Y:%H:%M:%S %z&lt;br /&gt;
 		tg	GMT time. Optional strftime format argument&lt;br /&gt;
 			default %d/%b/%Y:%H:%M:%S %z&lt;br /&gt;
 		tr	Response time (milliseconds)&lt;br /&gt;
 		&amp;gt;h	Request header. Optional header name argument&lt;br /&gt;
 			on the format header[:[separator]element]&lt;br /&gt;
 		&amp;lt;h	Reply header. Optional header name argument&lt;br /&gt;
 			as for &amp;gt;h&lt;br /&gt;
 		un	User name&lt;br /&gt;
 		ul	User name from authentication&lt;br /&gt;
 		ui	User name from ident&lt;br /&gt;
 		us	User name from SSL&lt;br /&gt;
 		ue	User name from external acl helper&lt;br /&gt;
 		Hs	HTTP status code&lt;br /&gt;
 		Ss	Squid request status (TCP_MISS etc)&lt;br /&gt;
 		Sh	Squid hierarchy status (DEFAULT_PARENT etc)&lt;br /&gt;
 		mt	MIME content type&lt;br /&gt;
 		rm	Request method (GET/POST etc)&lt;br /&gt;
 		ru	Request URL&lt;br /&gt;
 		rp	Request URL-Path excluding hostname&lt;br /&gt;
 		rv	Request protocol version&lt;br /&gt;
 		et	Tag returned by external acl&lt;br /&gt;
 		ea	Log string returned by external acl&lt;br /&gt;
 		&amp;lt;st	Reply size including HTTP headers&lt;br /&gt;
 		&amp;gt;st	Request size including HTTP headers&lt;br /&gt;
 		st	Request+Reply size including HTTP headers&lt;br /&gt;
 		&amp;lt;sH	Reply high offset sent&lt;br /&gt;
 		&amp;lt;sS	Upstream object size&lt;br /&gt;
 		%	a literal % character&lt;br /&gt;
 &lt;br /&gt;
Els formats ja existents són:&lt;br /&gt;
 &lt;br /&gt;
 logformat squid %ts.%03tu %6tr %&amp;gt;a %Ss/%03Hs %&amp;lt;st %rm %ru %un %Sh/%&amp;lt;A %mt&lt;br /&gt;
 logformat squidmime %ts.%03tu %6tr %&amp;gt;a %Ss/%03Hs %&amp;lt;st %rm %ru %un %Sh/%&amp;lt;A %mt [%&amp;gt;h] [%&amp;lt;h]&lt;br /&gt;
 logformat common %&amp;gt;a %ui %un [%tl] &amp;quot;%rm %ru HTTP/%rv&amp;quot; %Hs %&amp;lt;st %Ss:%Sh&lt;br /&gt;
 logformat combined %&amp;gt;a %ui %un [%tl] &amp;quot;%rm %ru HTTP/%rv&amp;quot; %Hs %&amp;lt;st &amp;quot;%{Referer}&amp;gt;h&amp;quot; &amp;quot;%{User-Agent}&amp;gt;h&amp;quot; %Ss:%Sh&lt;br /&gt;
&lt;br /&gt;
Al fitxer de configuració per defecte la línia:&lt;br /&gt;
&lt;br /&gt;
 access_log /var/log/squid3/access.log squid&lt;br /&gt;
&lt;br /&gt;
Determina que el format escollir és squid:&lt;br /&gt;
 &lt;br /&gt;
 %ts.%03tu %6tr %&amp;gt;a %Ss/%03Hs %&amp;lt;st %rm %ru %un %Sh/%&amp;lt;A %mt&lt;br /&gt;
&lt;br /&gt;
o&lt;br /&gt;
&lt;br /&gt;
 time elapsed remotehost code/status bytes method URL rfc931 peerstatus/peerhost type&lt;br /&gt;
&lt;br /&gt;
 1264350783.235    391 192.168.1.14 TCP_REFRESH_UNMODIFIED/304 399 GET http://www.tv3.cat/cuines/img/menu/072.gif - DIRECT/194.224.66.35 image/gif&lt;br /&gt;
&lt;br /&gt;
On &lt;br /&gt;
&lt;br /&gt;
:*'''%ts''': Seconds since epoch (marca de temps). A l'exemple: 1264350783&lt;br /&gt;
:*'''%tu''': subsecond time (milliseconds): 235&lt;br /&gt;
:*'''%6tr''': Response time (milliseconds). A l'exemple: 391&lt;br /&gt;
:*'''%&amp;gt;a''': Client source IP address. A l'exemple: 192.168.1.14&lt;br /&gt;
:*'''%Ss/%03Hs''': Squid request status (TCP_MISS etc) + / + HTTP Status Code. A l'exemple: TCP_REFRESH_UNMODIFIED/304&lt;br /&gt;
:*'''%&amp;lt;st''': Reply size including HTTP headers. A l'exemple:339&lt;br /&gt;
:*'''%rm''': Request method (GET/POST etc). A l'exemple:GET&lt;br /&gt;
:*'''%ru''': Request URL. A l'exemple: http://www.tv3.cat/cuines/img/menu/072.gif&lt;br /&gt;
:*'''%un''': Username (si s'aplica) (sinó surt un guió)&lt;br /&gt;
:*'''%Sh/%&amp;lt;A''': Squid hierarchy status (DEFAULT_PARENT etc) + / + Server IP address or peer name. A l'exemple: DIRECT/194.224.66.35&lt;br /&gt;
:*'''%mt''': MIME content type. A l'exemple: image/gif&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://wiki.squid-cache.org/SquidFaq/SquidLogs?highlight=%28squid%29|%28request%29|%28status%29#access.log_native_format_in_detail&lt;br /&gt;
&lt;br /&gt;
==Formats predefinits de fitxer de log==&lt;br /&gt;
&lt;br /&gt;
Hi ha els següents:&lt;br /&gt;
&lt;br /&gt;
 logformat squid %ts.%03tu %6tr %&amp;gt;a %Ss/%03Hs %&amp;lt;st %rm %ru %un %Sh/%&amp;lt;A %mt&lt;br /&gt;
 logformat squidmime %ts.%03tu %6tr %&amp;gt;a %Ss/%03Hs %&amp;lt;st %rm %ru %un %Sh/%&amp;lt;A %mt [%&amp;gt;h] [%&amp;lt;h]&lt;br /&gt;
 logformat common %&amp;gt;a %ui %un [%tl] &amp;quot;%rm %ru HTTP/%rv&amp;quot; %Hs %&amp;lt;st %Ss:%Sh&lt;br /&gt;
 logformat combined %&amp;gt;a %ui %un [%tl] &amp;quot;%rm %ru HTTP/%rv&amp;quot; %Hs %&amp;lt;st &amp;quot;%{Referer}&amp;gt;h&amp;quot; &amp;quot;%{User-Agent}&amp;gt;h&amp;quot; %Ss:%Sh&lt;br /&gt;
&lt;br /&gt;
S'indica quin s'utilitza amb:&lt;br /&gt;
&lt;br /&gt;
  access_log /var/log/squid3/access.log '''format'''&lt;br /&gt;
&lt;br /&gt;
Per defecte teniu:&lt;br /&gt;
&lt;br /&gt;
 access_log /var/log/squid3/access.log squid&lt;br /&gt;
&lt;br /&gt;
==Squid Result codes==&lt;br /&gt;
&lt;br /&gt;
{{nota|IMS vol dir If-Modified-Since}}&lt;br /&gt;
&lt;br /&gt;
 TCP_HIT Un còpia de l'objecte vàlida s'ha obtingut de la memòria cau.&lt;br /&gt;
 &lt;br /&gt;
 TCP_MISS L'objecte no era a la memòria cau.&lt;br /&gt;
 &lt;br /&gt;
 TCP_REFRESH_HIT o TCP_REFRESH_UNMODIFIED L'objecte era a la memòria cau però estava caducat (STALE). La petició IMS (If-Modified-Since) ha retornat un codi de resposta HTTP &lt;br /&gt;
 &amp;quot;304 not modified&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
 TCP_REFRESH_FAIL_HIT L'objecte era a la memòria cau però estava caducat (STALE). La petició IMS ha fallat i es retorna l'objecte caducat&lt;br /&gt;
 &lt;br /&gt;
 TCP_REFRESH_MISS L'objecte era a la memòria cau però estava caducat (STALE). La petició IMS ha retornat el nou contingut&lt;br /&gt;
 &lt;br /&gt;
 TCP_CLIENT_REFRESH_MISS El client a demanat una nova versió del fitxer&lt;br /&gt;
 &lt;br /&gt;
 TCP_IMS_HIT El client ha fer una petició IMS d'un objecte que estava fresc a la memòria cau.&lt;br /&gt;
 &lt;br /&gt;
 TCP_SWAPFAIL_MISS Error! L'objecte s'esperava trobar-lo a la memòria cau però no s'ha trobat. &lt;br /&gt;
 &lt;br /&gt;
 TCP_NEGATIVE_HIT S'ha demanat un objecte que esta la memòria cau però amb una resposta negativa (&amp;quot;404 not found&amp;quot;). Depèn del negative TTL.&lt;br /&gt;
 for negative_ttl in your squid.conf file.&lt;br /&gt;
 &lt;br /&gt;
 TCP_MEM_HIT Una còpia del fitxer estava en memòria RAM i no a calgut accedir a disc.&lt;br /&gt;
 &lt;br /&gt;
 TCP_DENIED L'accés a estat denegat per aquesta petició&lt;br /&gt;
 &lt;br /&gt;
 TCP_OFFLINE_HIT L'objecte ha estat demanat en mode offline&lt;br /&gt;
 &lt;br /&gt;
 TCP_STALE_HIT Tot i estar caducat l'objecte s'ha servit. &lt;br /&gt;
 &lt;br /&gt;
 TCP_ASYNC_HIT ...&lt;br /&gt;
 &lt;br /&gt;
 TCP_ASYNC_MISS ...&lt;br /&gt;
 &lt;br /&gt;
També hi ha peticions similars per a UDP:&lt;br /&gt;
&lt;br /&gt;
UDP_HIT, UDP_MISS, UDP_DENIED, UDP_INVALID...&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
*http://wiki.squid-cache.org/SquidFaq/SquidLogs#Squid_result_codes&lt;br /&gt;
&lt;br /&gt;
==Control d'accés. access.log==&lt;br /&gt;
&lt;br /&gt;
En temps real podeu monitoritzar l'ús que s'està gent del proxy amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tail -f /var/log/squid3/access.log&lt;br /&gt;
 1183497461.620    206 87.219.199.153 TCP_NEGATIVE_HIT/404 619 GET http://xarxantoni.net:8080/favicon.ico - NONE/- text/html&lt;br /&gt;
 1183497461.728      5 87.219.199.153 TCP_NEGATIVE_HIT/404 619 GET http://xarxantoni.net:8080/favicon.ico - NONE/- text/html&lt;br /&gt;
 1183497487.892      5 87.219.199.153 TCP_NEGATIVE_HIT/404 619 GET http://xarxantoni.net:8080/favicon.ico - NONE/- text/html&lt;br /&gt;
 1183497489.056   8714 87.219.199.153 TCP_MISS/200 4217 GET http://xarxantoni.net:8080/mediawiki/index.php? - DIRECT/217.149.150.24 text/html&lt;br /&gt;
 1183497489.240     45 87.219.199.153 TCP_NEGATIVE_HIT/404 619 GET http://xarxantoni.net:8080/favicon.ico - NONE/- text/html&lt;br /&gt;
 1183497509.789    772 87.219.199.153 TCP_MISS/302 568 POST http://xarxantoni.net:8080/mediawiki/index.php? - DIRECT/217.149.150.24 text/html&lt;br /&gt;
 1183497510.528      5 87.219.199.153 TCP_NEGATIVE_HIT/404 619 GET&lt;br /&gt;
&lt;br /&gt;
O podeu escollir les columnes que voleu visualitzar amb [[awk]]:&lt;br /&gt;
&lt;br /&gt;
 # tail -f /var/log/squid3/access.log | awk '{print$3 &amp;quot; &amp;quot; $8 &amp;quot; &amp;quot; $7}'&lt;br /&gt;
&lt;br /&gt;
===Llegir el fitxer de log amb dates humanes ===&lt;br /&gt;
&lt;br /&gt;
Les dates dels fitxers de log d'Squid estan en [[epoch]]s un format per a ordinadors. Per posar les dates en forma humà:&lt;br /&gt;
&lt;br /&gt;
  $ sudo tail -f /var/log/squid/access.log | awk '{ print strftime(&amp;quot;%c &amp;quot;, $1) $0; }'&lt;br /&gt;
&lt;br /&gt;
A Debian:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install gawk&lt;br /&gt;
 $ sudo tail -f /var/log/squid/access.log | gawk '{ print strftime(&amp;quot;%c &amp;quot;, $1) $0; }'&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
 &lt;br /&gt;
 [[Date#Conversi.C3.B3_d.27epoch_a_data|Conversió d'epoch a data]]&lt;br /&gt;
&lt;br /&gt;
==Exemple d'ús dels fitxers de log==&lt;br /&gt;
&lt;br /&gt;
Consultar els navegador (browsers agents) utilitzats i mostrar una estadística d'ús:&lt;br /&gt;
&lt;br /&gt;
 $ sudo cat /var/log/squid/user_agent.log | awk '{print $4}' | sort|uniq -c | sort -n&lt;br /&gt;
&lt;br /&gt;
==/var/log/squid3/cache.log==&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[tail]] -f /var/log/squid3/cache.log &lt;br /&gt;
 2010/01/23 18:17:50|         0 Objects expired.&lt;br /&gt;
 2010/01/23 18:17:50|         0 Objects cancelled.&lt;br /&gt;
 2010/01/23 18:17:50|         0 Duplicate URLs purged.&lt;br /&gt;
 2010/01/23 18:17:50|         0 Swapfile clashes avoided.&lt;br /&gt;
 2010/01/23 18:17:50|   Took 1.00 seconds (  0.00 objects/sec).&lt;br /&gt;
 2010/01/23 18:17:50| Beginning Validation Procedure&lt;br /&gt;
 2010/01/23 18:17:50|   Completed Validation Procedure&lt;br /&gt;
 2010/01/23 18:17:50|   Validated 25 Entries&lt;br /&gt;
 2010/01/23 18:17:50|   store_swap_size = 0&lt;br /&gt;
 2010/01/23 18:17:50| storeLateRelease: released 0 objects&lt;br /&gt;
&lt;br /&gt;
Es pot utilitzar per [[Squid#Depurar_les_ACL._Fitxer_de_log_cache.log|Depurar]].&lt;br /&gt;
&lt;br /&gt;
==Activar el log dels user-agents (navegadors)==&lt;br /&gt;
&lt;br /&gt;
{{nota|Cal tenir en compte que les versions binaries dels paquets d'Squid com per exemple els d'Ubuntu no han esta compilats amb suport per a user-agent. Si executeu Squid directament veureu:}}&lt;br /&gt;
&lt;br /&gt;
 $ sudo /usr/sbin/squid3&lt;br /&gt;
 2010/02/02 09:17:32| cache_cf.cc(346) squid.conf:57 unrecognized: 'useragent_log'&lt;br /&gt;
&lt;br /&gt;
La compilació s'ha de fer amb l'opció:&lt;br /&gt;
&lt;br /&gt;
 --enable-useragent-log&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Squid#Recompilar_el_paquet_Debian]].&lt;br /&gt;
&lt;br /&gt;
Es pot comprovar si teniu suport per a user agent amb:&lt;br /&gt;
&lt;br /&gt;
 $ squid3 -v | grep userangent&lt;br /&gt;
&lt;br /&gt;
Cal afegir la següent línia al fitxer de configuració d'Squid [[/etc/squid3/squid.conf]]:&lt;br /&gt;
&lt;br /&gt;
 [http://www.squid-cache.org/Doc/config/useragent_log/ useragent_log] /var/log/squid3/useragent.log&lt;br /&gt;
&lt;br /&gt;
On el camí del fitxer de log el podeu escollir (ha de ser una carpeta on el procés squid pugui escriure, és a dir que hi tingui permisos l'usuari que executa el procés - proxy):&lt;br /&gt;
&lt;br /&gt;
 $ ls -la [[/var/log/squid3/]]&lt;br /&gt;
 total 23332&lt;br /&gt;
 drwxr-xr-x  2 '''proxy proxy'''     4096 2010-10-18 06:38 .&lt;br /&gt;
 drwxr-xr-x 15 root  root      4096 2010-10-18 06:38 ..&lt;br /&gt;
 -rw-r-----  1 proxy proxy  6900886 2010-10-18 11:33 access.log&lt;br /&gt;
 -rw-r-----  1 proxy proxy    56112 2010-10-17 20:24 access.log.1&lt;br /&gt;
 -rw-r-----  1 proxy proxy     1624 2010-10-16 22:03 access.log.2.gz&lt;br /&gt;
 -rw-r-----  1 proxy proxy  4487605 2010-10-18 07:52 cache.log&lt;br /&gt;
 -rw-r-----  1 proxy proxy  1495481 2010-10-17 06:54 cache.log.1&lt;br /&gt;
 -rw-r-----  1 proxy proxy    76722 2010-10-16 06:49 cache.log.2.gz&lt;br /&gt;
 -rw-r-----  1 proxy proxy 10545941 2010-10-18 11:33 store.log&lt;br /&gt;
 -rw-r-----  1 proxy proxy   258017 2010-10-18 06:24 store.log.1&lt;br /&gt;
 -rw-r-----  1 proxy proxy    36695 2010-10-17 06:24 store.log.2.gz&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Podeu consultar el User-agent de [[Firefox]] posant la URL:&lt;br /&gt;
&lt;br /&gt;
 about:config&lt;br /&gt;
&lt;br /&gt;
I consultant el paràmetre:&lt;br /&gt;
&lt;br /&gt;
 general.useragent.extra.firefox&lt;br /&gt;
&lt;br /&gt;
{{nota|De fet també el podeu modificar des d'aquí o utilitzant el plugin [https://addons.mozilla.org/en-US/firefox/addon/59 User Agent Switcher]}}&lt;br /&gt;
&lt;br /&gt;
===Format del fitxer de log dels user agents===&lt;br /&gt;
&lt;br /&gt;
==Format de log d'Apache. Analitzadors de logs d'Apache==&lt;br /&gt;
&lt;br /&gt;
Cal posar &lt;br /&gt;
&lt;br /&gt;
 emulate_httpd_log on&lt;br /&gt;
&lt;br /&gt;
Para emular el formato de log del apache, esto nos sirve para utilizar los analizadores de logs de apache&lt;br /&gt;
&lt;br /&gt;
:*http://www.babilonics.com/content/como-instalar-squid-en-debian-con-autentificacion-ldap-por-grupos-de-windows-2003&lt;br /&gt;
&lt;br /&gt;
=Client Squid=&lt;br /&gt;
&lt;br /&gt;
S'intal·la amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install squidclient&lt;br /&gt;
&lt;br /&gt;
Serveix per provar un servidor squid des de la línia de comandes:&lt;br /&gt;
&lt;br /&gt;
 $ squidclient -h proxy.domini.com -p 800 http://www.upc.edu&lt;br /&gt;
&lt;br /&gt;
==Accés al manager des del client squid==&lt;br /&gt;
&lt;br /&gt;
Vegeu també [[Squid#cachemgr | cachemgr]]&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[apt-get]] install squidclient&lt;br /&gt;
 $ [[squidclient]] mgr:info&lt;br /&gt;
 HTTP/1.0 200 OK&lt;br /&gt;
 Server: squid/3.0.STABLE18&lt;br /&gt;
 Mime-Version: 1.0&lt;br /&gt;
 Date: Sun, 24 Jan 2010 20:25:42 GMT&lt;br /&gt;
 Content-Type: text/plain&lt;br /&gt;
 Expires: Sun, 24 Jan 2010 20:25:42 GMT&lt;br /&gt;
 Last-Modified: Sun, 24 Jan 2010 20:25:42 GMT&lt;br /&gt;
 X-Cache: MISS from localhost&lt;br /&gt;
 X-Cache-Lookup: MISS from localhost:3128&lt;br /&gt;
 Via: 1.0 localhost (squid/3.0.STABLE18)&lt;br /&gt;
 Proxy-Connection: close&lt;br /&gt;
 &lt;br /&gt;
 Squid Object Cache: Version 3.0.STABLE18&lt;br /&gt;
 Start Time:	Sun, 24 Jan 2010 20:25:40 GMT&lt;br /&gt;
 Current Time:	Sun, 24 Jan 2010 20:25:42 GMT&lt;br /&gt;
 Connection information for squid:&lt;br /&gt;
 	Number of clients accessing cache:	1&lt;br /&gt;
 	Number of HTTP requests received:	0&lt;br /&gt;
	Number of ICP messages received:	0&lt;br /&gt;
 	Number of ICP messages sent:	0&lt;br /&gt;
 	Number of queued ICP replies:	0&lt;br /&gt;
 	Number of HTCP messages received:	0&lt;br /&gt;
 	Number of HTCP messages sent:	0&lt;br /&gt;
 	Request failure ratio:	 0.00&lt;br /&gt;
 	Average HTTP requests per minute since start:	0.0&lt;br /&gt;
 	Average ICP messages per minute since start:	0.0&lt;br /&gt;
 	Select loop called: 140 times, 13.891 ms avg&lt;br /&gt;
 Cache information for squid:&lt;br /&gt;
	Hits as % of all requests:	5min: 0.0%, 60min: 0.0%&lt;br /&gt;
 	Hits as % of bytes sent:	5min: -0.0%, 60min: -0.0%&lt;br /&gt;
 	Memory hits as % of hit requests:	5min: 0.0%, 60min: 0.0%&lt;br /&gt;
 	Disk hits as % of hit requests:	5min: 0.0%, 60min: 0.0%&lt;br /&gt;
 	Storage Swap size:	5296 KB&lt;br /&gt;
 	Storage Swap capacity:	 5.2% used, 94.8% free&lt;br /&gt;
 	Storage Mem size:	108 KB&lt;br /&gt;
 	Storage Mem capacity:	 1.3% used, 98.7% free&lt;br /&gt;
 	Mean Object Size:	15.00 KB&lt;br /&gt;
 	Requests given to unlinkd:	0&lt;br /&gt;
 Median Service Times (seconds)  5 min    60 min:&lt;br /&gt;
 	HTTP Requests (All):   0.00000  0.00000&lt;br /&gt;
 	Cache Misses:          0.00000  0.00000&lt;br /&gt;
 	Cache Hits:            0.00000  0.00000&lt;br /&gt;
 	Near Hits:             0.00000  0.00000&lt;br /&gt;
 	Not-Modified Replies:  0.00000  0.00000&lt;br /&gt;
 	DNS Lookups:           0.00000  0.00000&lt;br /&gt;
 	ICP Queries:           0.00000  0.00000&lt;br /&gt;
 Resource usage for squid:&lt;br /&gt;
 	UP Time:	1.945 seconds&lt;br /&gt;
 	CPU Time:	0.052 seconds&lt;br /&gt;
 	CPU Usage:	2.67%&lt;br /&gt;
 	CPU Usage, 5 minute avg:	0.00%&lt;br /&gt;
 	CPU Usage, 60 minute avg:	0.00%&lt;br /&gt;
 	Process Data Segment Size via sbrk(): 2580 KB&lt;br /&gt;
 	Maximum Resident Size: 0 KB&lt;br /&gt;
 	Page faults with physical i/o: 0&lt;br /&gt;
 Memory usage for squid via mallinfo():&lt;br /&gt;
 	Total space in arena:    2848 KB&lt;br /&gt;
 	Ordinary blocks:         2812 KB      2 blks&lt;br /&gt;
 	Small blocks:               0 KB      0 blks&lt;br /&gt;
 	Holding blocks:         27704 KB     14 blks&lt;br /&gt;
 	Free Small blocks:          0 KB&lt;br /&gt;
 	Free Ordinary blocks:      35 KB&lt;br /&gt;
 	Total in use:           30516 KB 100%&lt;br /&gt;
 	Total free:                35 KB 0%&lt;br /&gt;
 	Total size:             30552 KB&lt;br /&gt;
 Memory accounted for:&lt;br /&gt;
 	Total accounted:         2174 KB   7%&lt;br /&gt;
 	memPool accounted:       2174 KB   7%&lt;br /&gt;
 	memPool unaccounted:    28377 KB  93%&lt;br /&gt;
 	memPoolAlloc calls:      3205&lt;br /&gt;
 	memPoolFree calls:       1090&lt;br /&gt;
 File descriptor usage for squid:&lt;br /&gt;
 	Maximum number of file descriptors:   65535&lt;br /&gt;
 	Largest file desc currently in use:     15&lt;br /&gt;
 	Number of file desc currently in use:   10&lt;br /&gt;
 	Files queued for open:                   0&lt;br /&gt;
 	Available number of file descriptors: 65525&lt;br /&gt;
 	Reserved number of file descriptors:   100&lt;br /&gt;
 	Store Disk files open:                   0&lt;br /&gt;
 Internal Data Structures:&lt;br /&gt;
 	   380 StoreEntries&lt;br /&gt;
 	    27 StoreEntries with MemObjects&lt;br /&gt;
 	    26 Hot Object Cache Items&lt;br /&gt;
 	   353 on-disk objects&lt;br /&gt;
&lt;br /&gt;
El podeu consultar en temps real amb l'ordre [[watch]]:&lt;br /&gt;
&lt;br /&gt;
  $ watch -n 1 &amp;quot;squidclient mgr:info&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Pàgines del cache manager===&lt;br /&gt;
&lt;br /&gt;
client_list&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:client_list | more&lt;br /&gt;
 HTTP/1.0 200 OK&lt;br /&gt;
 Server: squid/3.0.STABLE18&lt;br /&gt;
 Mime-Version: 1.0&lt;br /&gt;
 Date: Mon, 17 May 2010 10:16:53 GMT&lt;br /&gt;
 Content-Type: text/plain&lt;br /&gt;
 Expires: Mon, 17 May 2010 10:16:53 GMT&lt;br /&gt;
 Last-Modified: Mon, 17 May 2010 10:16:53 GMT&lt;br /&gt;
 X-Cache: MISS from localhost&lt;br /&gt;
 X-Cache-Lookup: MISS from localhost:3128&lt;br /&gt;
 Via: 1.0 localhost (squid/3.0.STABLE18)&lt;br /&gt;
 Proxy-Connection: close&lt;br /&gt;
 &lt;br /&gt;
 Cache Clients:&lt;br /&gt;
 Address: 192.168.2.57&lt;br /&gt;
 Name:    192.168.2.57&lt;br /&gt;
 Currently established connections: 0&lt;br /&gt;
     ICP  Requests 0&lt;br /&gt;
     HTTP Requests 27&lt;br /&gt;
         TCP_MISS                  23  85%&lt;br /&gt;
         TCP_CLIENT_REFRESH_M       4  15% &lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podeu veure la llista completa a:&lt;br /&gt;
&lt;br /&gt;
http://tilt.lib.tsinghua.edu.cn/docs/books/squid/TheDefinitiveGuideChinese/0596001622/squid-CHP-14-SECT-2.html&lt;br /&gt;
&lt;br /&gt;
=Autenticació=&lt;br /&gt;
&lt;br /&gt;
Squid permet que els usuaris del Proxy s'hagin d'autenticar abans de poder-lo utilitzar. L'autenticació es pot fer amb:&lt;br /&gt;
&lt;br /&gt;
:*'''[[LDAP]]''': Protocol Lightweight Directory Access Protocol&lt;br /&gt;
:*'''[[NCSA]]''': Fitxer NCSA-style d'usuaris i paraules de pas&lt;br /&gt;
:*'''[[MSNT]]''': Utilitza un domini Windows NT per l'autenticació&lt;br /&gt;
:*'''[[PAM]]''': Unix Pluggable Authentication Modules.&lt;br /&gt;
:*'''[[SMB]]''': Utilitza [[Samba]] o el protocol [[SMB]] de xarxes Windows.&lt;br /&gt;
:*'''[[getpwam]]''': Utilitza el fitxer de password de Unix.&lt;br /&gt;
:*'''[[SASL]]''': Llibreries SALS.&lt;br /&gt;
:*'''[[mswin_sspi]]''': Windows native authenticator&lt;br /&gt;
:*'''[[YP]]''': Utilitza la base de dades de [[NIS]].&lt;br /&gt;
:*'''[[NTLM]]''': Sistema que suporta el xifratge de les dades d'autenticació.&lt;br /&gt;
:*'''[[MySQL]]''': Autenticació mitjançant una base de dades&lt;br /&gt;
&lt;br /&gt;
La directiva d'Squid que s'utilitza per activar l'autenticació és [http://www.eu.squid-cache.org/Doc/config/auth_param auth param]. La sintaxi és:&lt;br /&gt;
&lt;br /&gt;
 auth_param scheme parameter [setting]&lt;br /&gt;
&lt;br /&gt;
{{important| No és possible utilitzar autenticació amb un [[Proxy transparent]]}}&lt;br /&gt;
&lt;br /&gt;
Extret del fitxer original de configuració proporcionat per Squid:&lt;br /&gt;
&lt;br /&gt;
 #       format: auth_param scheme parameter [setting]&lt;br /&gt;
 #&lt;br /&gt;
 #       The order in which authentication schemes are presented to the client is&lt;br /&gt;
 #       dependent on the order the scheme first appears in config file. IE&lt;br /&gt;
 #       has a bug (it's not RFC 2617 compliant) in that it will use the basic&lt;br /&gt;
 #       scheme if basic is the first entry presented, even if more secure&lt;br /&gt;
 #       schemes are presented. For now use the order in the recommended  &lt;br /&gt;
 #       settings section below. If other browsers have difficulties (don't&lt;br /&gt;
 #       recognize the schemes offered even if you are using basic) either &lt;br /&gt;
 #       put basic first, or disable the other schemes (by commenting out their&lt;br /&gt;
 #       program entry).&lt;br /&gt;
 #&lt;br /&gt;
 #       Once an authentication scheme is fully configured, it can only be&lt;br /&gt;
 #       shutdown by shutting squid down and restarting. Changes can be made on&lt;br /&gt;
 #       the fly and activated with a reconfigure. I.E. You can change to a&lt;br /&gt;
 #       different helper, but not unconfigure the helper completely.&lt;br /&gt;
 #&lt;br /&gt;
 #       Please note that while this directive defines how Squid processes&lt;br /&gt;
 #       authentication it does not automatically activate authentication.&lt;br /&gt;
 #       To use authentication you must in addition make use of ACLs based&lt;br /&gt;
 #       on login name in http_access (proxy_auth, proxy_auth_regex or&lt;br /&gt;
 #       external with %LOGIN used in the format tag). The browser will be&lt;br /&gt;
 #       challenged for authentication on the first such acl encountered  &lt;br /&gt;
 #       in http_access processing and will also be re-challenged for new &lt;br /&gt;
 #       login credentials if the request is being denied by a proxy_auth &lt;br /&gt;
 #       type acl.&lt;br /&gt;
 #&lt;br /&gt;
 #       WARNING: authentication can't be used in a transparently intercepting&lt;br /&gt;
 #       proxy as the client then thinks it is talking to an origin server and&lt;br /&gt;
 #       not the proxy. This is a limitation of bending the TCP/IP protocol to&lt;br /&gt;
 #       transparently intercepting port 80, not a limitation in Squid.&lt;br /&gt;
 #       Ports flagged 'transparent' or 'tproxy' have authentication disabled. &lt;br /&gt;
 #&lt;br /&gt;
 #       === Parameters for the basic scheme follow. ===&lt;br /&gt;
 #&lt;br /&gt;
 #       &amp;quot;program&amp;quot; cmdline&lt;br /&gt;
 #       '''Specify the command for the external authenticator.  Such a program&lt;br /&gt;
 #       reads a line containing &amp;quot;username password&amp;quot; and replies &amp;quot;OK&amp;quot; or&lt;br /&gt;
 #       &amp;quot;ERR&amp;quot; in an endless loop'''. &amp;quot;ERR&amp;quot; responses may optionally be followed&lt;br /&gt;
 #       by a error description available as %m in the returned error page.  &lt;br /&gt;
 #       If you use an authenticator, make sure you have 1 acl of type proxy_auth.&lt;br /&gt;
 #&lt;br /&gt;
 #       By default, the basic authentication scheme is not used unless a&lt;br /&gt;
 #       program is specified.&lt;br /&gt;
 #&lt;br /&gt;
 #       If you want to use the traditional NCSA proxy authentication, set&lt;br /&gt;
 #       this line to something like&lt;br /&gt;
 #&lt;br /&gt;
 #       auth_param basic program /usr/lib/squid3/ncsa_auth /usr/etc/passwd&lt;br /&gt;
 #&lt;br /&gt;
 #       &amp;quot;children&amp;quot; numberofchildren&lt;br /&gt;
 #       The number of authenticator processes to spawn. If you start too few&lt;br /&gt;
 #       Squid will have to wait for them to process a backlog of credential &lt;br /&gt;
 #       verifications, slowing it down. When password verifications are&lt;br /&gt;
 #       done via a (slow) network you are likely to need lots of&lt;br /&gt;
 #       authenticator processes.&lt;br /&gt;
 #       auth_param basic children 5&lt;br /&gt;
 #&lt;br /&gt;
 #       &amp;quot;concurrency&amp;quot; concurrency&lt;br /&gt;
 #       The number of concurrent requests the helper can process.&lt;br /&gt;
 #       The default of 0 is used for helpers who only supports   &lt;br /&gt;
 #       one request at a time. Setting this changes the protocol used to&lt;br /&gt;
 #       include a channel number first on the request/response line, allowing&lt;br /&gt;
 #       multiple requests to be sent to the same helper in parallell without &lt;br /&gt;
 #       wating for the response.&lt;br /&gt;
 #       Must not be set unless it's known the helper supports this.&lt;br /&gt;
 #       auth_param basic concurrency 0&lt;br /&gt;
 # &lt;br /&gt;
 #       &amp;quot;realm&amp;quot; realmstring&lt;br /&gt;
 #       Specifies the realm name which is to be reported to the&lt;br /&gt;
 #       client for the basic proxy authentication scheme (part of&lt;br /&gt;
 #       the text the user will see when prompted their username and&lt;br /&gt;
 #       password). There is no default.&lt;br /&gt;
 #       auth_param basic realm Squid proxy-caching web server&lt;br /&gt;
 #&lt;br /&gt;
 #       &amp;quot;credentialsttl&amp;quot; timetolive&lt;br /&gt;
 #       Specifies how long squid assumes an externally validated&lt;br /&gt;
 #       username:password pair is valid for - in other words how&lt;br /&gt;
 #       often the helper program is called for that user. Set this&lt;br /&gt;
 #       low to force revalidation with short lived passwords.  Note&lt;br /&gt;
 #       setting this high does not impact your susceptibility&lt;br /&gt;
 #       to replay attacks unless you are using an one-time password&lt;br /&gt;
 #       system (such as SecureID).  If you are using such a system,&lt;br /&gt;
 #       you will be vulnerable to replay attacks unless you also   &lt;br /&gt;
 #       use the max_user_ip ACL in an http_access rule.&lt;br /&gt;
 #&lt;br /&gt;
 #       &amp;quot;casesensitive&amp;quot; on|off&lt;br /&gt;
 #       Specifies if usernames are case sensitive. Most user databases are&lt;br /&gt;
 #       case insensitive allowing the same username to be spelled using both&lt;br /&gt;
 #       lower and upper case letters, but some are case sensitive. This&lt;br /&gt;
 #       makes a big difference for user_max_ip ACL processing and similar.&lt;br /&gt;
 #       auth_param basic casesensitive off&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
 &lt;br /&gt;
*http://wiki.squid-cache.org/Features/Authentication&lt;br /&gt;
&lt;br /&gt;
==Helpers==&lt;br /&gt;
&lt;br /&gt;
S'anomenen així els binaris o scripts que s'utilitzen per a implementar els diferents mètodes d'autenticació. Els podeu tornar a la carpeta:&lt;br /&gt;
&lt;br /&gt;
 /usr/lib/squid3/&lt;br /&gt;
&lt;br /&gt;
Són els fitxers acabats en auth:&lt;br /&gt;
&lt;br /&gt;
 $ ls /usr/lib/squid3/ | grep auth&lt;br /&gt;
 digest_ldap_auth&lt;br /&gt;
 digest_pw_auth&lt;br /&gt;
 getpwname_auth&lt;br /&gt;
 msnt_auth&lt;br /&gt;
 ncsa_auth&lt;br /&gt;
 ntlm_auth&lt;br /&gt;
 pam_auth&lt;br /&gt;
 sasl_auth&lt;br /&gt;
 smb_auth&lt;br /&gt;
 smb_auth.pl&lt;br /&gt;
 smb_auth.sh&lt;br /&gt;
 squid_kerb_auth&lt;br /&gt;
 squid_ldap_auth&lt;br /&gt;
 yp_auth&lt;br /&gt;
&lt;br /&gt;
==Directives d'Squid==&lt;br /&gt;
&lt;br /&gt;
:*'''[http://www.squid-cache.org/Versions/v3/3.0/cfgman/auth_param.html auth_param]''': Configura el helper i els seus paràmetres&lt;br /&gt;
:*'''[http://www.squid-cache.org/Versions/v3/3.0/cfgman/authenticate_cache_garbage_interval.html authenticate_cache_garbage_interval]''':&lt;br /&gt;
:*'''[http://www.squid-cache.org/Versions/v3/3.0/cfgman/authenticate_ttl.html authenticate_ttl]''': El temps que es manté una autenticació.&lt;br /&gt;
:*'''[http://www.squid-cache.org/Versions/v3/3.0/cfgman/authenticate_ip_ttl.html authenticate_ip_ttl]''': Utilitzat conjuntament amb l'ACL max_user_ip.&lt;br /&gt;
:*'''auth-bypass''': permet especificar pàgines que no utilitzaran autenticació&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Les podeu consultar totes a:&lt;br /&gt;
&lt;br /&gt;
 http://www.squid-cache.org/Doc/config/&lt;br /&gt;
&lt;br /&gt;
== Excepcions a l'autenticació. auth-bypass ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[auth-bypass]] permet indicar llocs web als quals no se'ls aplicarà autenticació:&lt;br /&gt;
&lt;br /&gt;
TODO Example:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Navegadors'''&lt;br /&gt;
Es pode combinar acls que detecten el tipus de navegador per tal de no aplicar autenticació a lo que no siguin navegadors.&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
:*http://www.wlug.org.nz/SquidNotes&lt;br /&gt;
&lt;br /&gt;
==NCSA==&lt;br /&gt;
&lt;br /&gt;
Primer cal crear el fitxers d'usuaris i paraules de pas. Per al primer usuari cal crear el fitxers amb l'opció -c&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[htpasswd]] -c /etc/squid3/passwd user&lt;br /&gt;
 New password: &lt;br /&gt;
 Re-type new password: &lt;br /&gt;
 Adding password for user user&lt;br /&gt;
&lt;br /&gt;
La resta d'usuaris es poden crear amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[htpasswd]] /etc/squid3/passwd user2&lt;br /&gt;
&lt;br /&gt;
El fitxer conté els usuaris i les paraules de pas xifrades:&lt;br /&gt;
&lt;br /&gt;
 $ [[cat]] /etc/squid3/passwd&lt;br /&gt;
 user:zDlXpFhxK0hUQ&lt;br /&gt;
 user2:b8esg7No8XZgc&lt;br /&gt;
&lt;br /&gt;
Assegureu-vos que l'usuari amb que s'executa Squid pot llegir el fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[chmod]] o+r /etc/squid3/passwd&lt;br /&gt;
&lt;br /&gt;
Localitzem el helper:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L squid3 | grep ncsa_auth&lt;br /&gt;
 /usr/lib/squid3/ncsa_auth&lt;br /&gt;
&lt;br /&gt;
Configurem Squid:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[joe]] /etc/squid3/squid.conf&lt;br /&gt;
&lt;br /&gt;
Afegiu el bloc:&lt;br /&gt;
&lt;br /&gt;
 auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd&lt;br /&gt;
 auth_param basic children 5&lt;br /&gt;
 auth_param basic realm Squid proxy-caching web server&lt;br /&gt;
 auth_param basic credentialsttl 2 hours&lt;br /&gt;
 auth_param basic casesensitive off&lt;br /&gt;
&lt;br /&gt;
després de les ACL&lt;br /&gt;
&lt;br /&gt;
On:&lt;br /&gt;
&lt;br /&gt;
:*'''program''': El helper de ncsa&lt;br /&gt;
:*'''children''': El número de processos d'autenticació que s'engeguen. Quan més usuaris tingueu que utilitzin el sistema de forma concurrent major haurà de ser aquest número&lt;br /&gt;
:*'''realm''': Nom del reialme d'autenticació. És part del text que veuran els usuaris quan els hi preguntin per l'usuari i la paraula de pas&lt;br /&gt;
:*'''credentialsttl''': Temps que es mantindrà un usuari logat&lt;br /&gt;
:*'''casesensitive''': Especifica si els noms d'usuari són [[case sensitive]].&lt;br /&gt;
&lt;br /&gt;
Després d'aquest bloc definiu la acl:&lt;br /&gt;
&lt;br /&gt;
 acl ncsa_users proxy_auth REQUIRED&lt;br /&gt;
&lt;br /&gt;
I ara definiu '''abans del''':&lt;br /&gt;
&lt;br /&gt;
 http_access deny all &lt;br /&gt;
&lt;br /&gt;
la línia:&lt;br /&gt;
&lt;br /&gt;
 http_access allow ncsa_users&lt;br /&gt;
&lt;br /&gt;
{{nota|tingueu en compte que si teniu una acl que permet accedir a tots els clients segons un rang d'IPs, ara ja no necessiteu aquesta línia. Borreu-la}}&lt;br /&gt;
&lt;br /&gt;
I apliqueu els canvis:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/squid3 reload&lt;br /&gt;
&lt;br /&gt;
Proveu el navegador, us demanarà un usuari i paraula de pas.&lt;br /&gt;
&lt;br /&gt;
Si ara observeu el fitxers de log veure que ja surt l'usuari:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tail -f /var/log/squid3/access.log&lt;br /&gt;
 ...&lt;br /&gt;
 1265094172.358    168 192.168.1.126 TCP_MISS/200 518 GET http://www10.gencat.cat/dursi/ca/posat/img/separador_ligerob.gif '''user''' DIRECT/83.247.128.163 image/gif&lt;br /&gt;
 1265094172.398     83 192.168.1.126 TCP_MISS/200 762 GET http://www.gencat.cat/js/gencatAnalitica_id.js '''user''' DIRECT/83.247.129.60 application/x-javascript&lt;br /&gt;
 1265094172.424    193 192.168.1.126 TCP_MISS/200 1764 GET http://www10.gencat.cat/dursi/ca/posat/img/ajuda.gif '''user''' DIRECT/83.247.128.163 image/gif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{nota| [http://www.ncsa.illinois.edu/ ncsa] National Center for Supercomputing Applications són qui van desenvolupar el servidor web httpd (precedent d'Apache)}}&lt;br /&gt;
&lt;br /&gt;
*http://www.cyberciti.biz/tips/linux-unix-squid-proxy-server-authentication.html&lt;br /&gt;
&lt;br /&gt;
=== Només demanar paraula de pas als navegadors ===&lt;br /&gt;
&lt;br /&gt;
Moltes eines del sistema utilitzen Internet i n'hi forces que no suporten autenticació de Proxy o que simplement no suporten proxy. Podem configurar squid per tal que només apliqui la restricció d'autenticació al navegador web:&lt;br /&gt;
&lt;br /&gt;
 http_access allow clients !firefox&lt;br /&gt;
 http_access allow ncsa_users&lt;br /&gt;
 http_access deny all&lt;br /&gt;
&lt;br /&gt;
On l'ACL de firefox és:&lt;br /&gt;
&lt;br /&gt;
 acl firefox browser -i firefox&lt;br /&gt;
&lt;br /&gt;
També podeu utilitzar una llista de navegadors:&lt;br /&gt;
&lt;br /&gt;
 #Navegadors&lt;br /&gt;
 acl navegadors browser -i firefox &lt;br /&gt;
 acl navegadors browser -i explorer&lt;br /&gt;
 acl navegadors browser -i chrome  &lt;br /&gt;
&lt;br /&gt;
aleshores:&lt;br /&gt;
&lt;br /&gt;
 http_access allow clients !navegadors&lt;br /&gt;
 http_access allow ncsa_users&lt;br /&gt;
 http_access deny all&lt;br /&gt;
&lt;br /&gt;
===Firefox i recordar paraules de pas===&lt;br /&gt;
&lt;br /&gt;
Quan introduïu per primer cop el vostre nom d'usuari i paraula de pas amb Firefox us preguntarà si voleu guardar la paraula de pas. Li podeu dir que la guardi permanentment.&lt;br /&gt;
&lt;br /&gt;
Per borrar la paraula de pas aneu al menú Edita (Eines a Windows) i l'opció Preferències. Aneu a l'apartat '''Seguretat''' i feu clic a '''contrasenyes desades'''. Localitzeu l'usuari i contrasenya i l'esborreu.&lt;br /&gt;
&lt;br /&gt;
Heu de tancar tot el navegador per tornar a iniciar una sessió.&lt;br /&gt;
&lt;br /&gt;
==NTLM==&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples/Authenticate/Ntlm&lt;br /&gt;
&lt;br /&gt;
==Squid + LDAP o Active Directory==&lt;br /&gt;
&lt;br /&gt;
=== Documentació===&lt;br /&gt;
&lt;br /&gt;
Hi ha una entrada del manual:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] squid_ldap_auth&lt;br /&gt;
 squid_ldap_auth(8)                                                                                                                                        squid_ldap_auth(8)&lt;br /&gt;
 &lt;br /&gt;
 NAME&lt;br /&gt;
        squid_ldap_auth - Squid LDAP authentication helper &lt;br /&gt;
 &lt;br /&gt;
 SYNOPSIS&lt;br /&gt;
       squid_ldap_auth -b &amp;quot;base DN&amp;quot; [-u attribute] [options] [ldap_server_name[:port]|URI]...&lt;br /&gt;
       squid_ldap_auth -b &amp;quot;base DN&amp;quot; -f &amp;quot;LDAP search filter&amp;quot; [options] [ldap_server_name[:port]|URI]...&lt;br /&gt;
 &lt;br /&gt;
 DESCRIPTION&lt;br /&gt;
        This  helper  allows Squid to connect to a LDAP directory to validate the user name and password of Basic HTTP authentication.  LDAP options are specified as parame‐&lt;br /&gt;
        ters on the command line, while the username(s) and password(s) to be checked against the LDAP directory are specified on subsequent lines of input  to  the  helper,&lt;br /&gt;
        one username/password pair per line separated by a space.&lt;br /&gt;
 &lt;br /&gt;
        As  expected  by  the basic authentication construct of Squid, after specifying a username and password followed by a new line, this helper will produce either OK or&lt;br /&gt;
        ERR on the following line to show if the specified credentials are correct according to the LDAP directory.&lt;br /&gt;
 &lt;br /&gt;
        The program has two major modes of operation. In the default mode of operation the users DN is constructed using the base DN and user attribute. In the other mode of&lt;br /&gt;
        operation a search filter is used to locate valid user DN's below the base DN.&lt;br /&gt;
 &lt;br /&gt;
        -b basedn (REQUIRED)&lt;br /&gt;
               Specifies the base DN under which the users are located.&lt;br /&gt;
 &lt;br /&gt;
        -f filter&lt;br /&gt;
               LDAP  search  filter  to locate the user DN. Required if the users are in a hierarchy below the base DN, or if the login name is not what builds the user spe‐&lt;br /&gt;
               cific part of the users DN.&lt;br /&gt;
 &lt;br /&gt;
               The search filter can contain up to 15 occurrences of %s which will be replaced by the username, as in  &amp;quot;uid=%s&amp;quot;  for  RFC2037  directories.  For  a  detailed&lt;br /&gt;
               description of LDAP search filter syntax see RFC2254.  &lt;br /&gt;
 &lt;br /&gt;
       -u userattr&lt;br /&gt;
              Specifies  the name of the DN attribute that contains the username/login.  Combined with the base DN to construct the users DN when no search filter is speci‐&lt;br /&gt;
              fied (-f option). Defaults to 'uid'&lt;br /&gt;
 &lt;br /&gt;
              Note: This can only be done if all your users are located directly under the same position in the LDAP tree and the login name is used for  naming  each  user&lt;br /&gt;
              object.  If your LDAP tree does not match these criterias or if you want to filter who are valid users then you need to use a search filter to search for your&lt;br /&gt;
              users DN (-f option).&lt;br /&gt;
 &lt;br /&gt;
       -U passwordattr&lt;br /&gt;
              Use ldap_compare instead of ldap_simple_bind to verify the users password.  passwordattr is the LDAP attribute storing the users password.&lt;br /&gt;
 &lt;br /&gt;
       -s base|one|sub&lt;br /&gt;
              search scope when performing user DN searches specified by the -f option. Defaults to 'sub'.&lt;br /&gt;
 &lt;br /&gt;
              base object only, one level below the base object or subtree below the base object&lt;br /&gt;
 &lt;br /&gt;
       -D binddn -w password&lt;br /&gt;
              The DN and password to bind as while performing searches. Required by the -f flag if the directory does not allow anonymous searches.&lt;br /&gt;
 &lt;br /&gt;
              As the password needs to be printed in plain text in your Squid configuration it is strongly recommended to use a account with minimal associated  privileges.&lt;br /&gt;
              This to limit the damage in case someone could get hold of a copy of your Squid configuration file.&lt;br /&gt;
 &lt;br /&gt;
       -D binddn -W secretfile&lt;br /&gt;
              The DN and the name of a file containing the password to bind as while performing searches.&lt;br /&gt;
 &lt;br /&gt;
              Less insecure version of the former parameter pair with two advantages: The password does not occur in the process listing, and the password is not being com‐&lt;br /&gt;
              promised if someone gets the squid configuration file without getting the secretfile.&lt;br /&gt;
 &lt;br /&gt;
       -P     Use a persistent LDAP connection. Normally the LDAP connection is only open while validating a username to preserve resources at the LDAP server. This  option&lt;br /&gt;
              causes the LDAP connection to be kept open, allowing it to be reused for further user validations. Recommended for larger installations.&lt;br /&gt;
 &lt;br /&gt;
       -O     Only  bind  once  per  LDAP connection. Some LDAP servers do not allow re-binding as another user after a successful ldap_bind.  The use of this option always&lt;br /&gt;
              opens a new connection for each login attempt. If combined with the -P option for persistent LDAP connection then the connection used for  searching  for  the&lt;br /&gt;
              user DN is kept persistent but a new connection is opened to verify each users password once the DN is found.&lt;br /&gt;
 &lt;br /&gt;
       -R     do not follow referrals&lt;br /&gt;
 &lt;br /&gt;
       -a never|always|search|find&lt;br /&gt;
              when to dereference aliases. Defaults to 'never'&lt;br /&gt;
 &lt;br /&gt;
              never dereference aliases (default), always dereference aliases, only while searching or only to find the base object&lt;br /&gt;
 &lt;br /&gt;
       -H ldapuri&lt;br /&gt;
              Specity the LDAP server to connect to by LDAP URI (requires OpenLDAP libraries).  Servers can also be specified last on the command line.&lt;br /&gt;
 &lt;br /&gt;
       -h ldapserver&lt;br /&gt;
              Specify the LDAP server to connect to. Servers can also be specified last on the command line.&lt;br /&gt;
 &lt;br /&gt;
       -p ldapport&lt;br /&gt;
              Specify  an alternate TCP port where the ldap server is listening if other than the default LDAP port 389. Can also be specified within the server specificia‐&lt;br /&gt;
              tion by using servername:port syntax.&lt;br /&gt;
 &lt;br /&gt;
       -v 2|3 LDAP protocol version. Defaults to 2 if not specified.&lt;br /&gt;
 &lt;br /&gt;
       -Z     Use TLS encryption&lt;br /&gt;
 &lt;br /&gt;
       -Scertpath&lt;br /&gt;
              Enable LDAP over SSL (requires Netscape LDAP API libraries)&lt;br /&gt;
 &lt;br /&gt;
       -cconnect_timeout&lt;br /&gt;
              Specify timeout used when connecting to LDAP servers (requires Netscape LDAP API libraries)&lt;br /&gt;
 &lt;br /&gt;
       -tsearch_timeout&lt;br /&gt;
              Specify time limit on LDAP search operations&lt;br /&gt;
             The DN and the name of a file containing the password to bind as while performing searches.&lt;br /&gt;
 &lt;br /&gt;
              Less insecure version of the former parameter pair with two advantages: The password does not occur in the process listing, and the password is not being com‐&lt;br /&gt;
              promised if someone gets the squid configuration file without getting the secretfile.&lt;br /&gt;
 &lt;br /&gt;
       -P     Use a persistent LDAP connection. Normally the LDAP connection is only open while validating a username to preserve resources at the LDAP server. This  option&lt;br /&gt;
              causes the LDAP connection to be kept open, allowing it to be reused for further user validations. Recommended for larger installations.&lt;br /&gt;
&lt;br /&gt;
       -O     Only  bind  once  per  LDAP connection. Some LDAP servers do not allow re-binding as another user after a successful ldap_bind.  The use of this option always&lt;br /&gt;
              opens a new connection for each login attempt. If combined with the -P option for persistent LDAP connection then the connection used for  searching  for  the&lt;br /&gt;
              user DN is kept persistent but a new connection is opened to verify each users password once the DN is found.&lt;br /&gt;
 &lt;br /&gt;
       -R     do not follow referrals&lt;br /&gt;
 &lt;br /&gt;
       -a never|always|search|find&lt;br /&gt;
              when to dereference aliases. Defaults to 'never'&lt;br /&gt;
 &lt;br /&gt;
              never dereference aliases (default), always dereference aliases, only while searching or only to find the base object&lt;br /&gt;
 &lt;br /&gt;
       -H ldapuri&lt;br /&gt;
              Specity the LDAP server to connect to by LDAP URI (requires OpenLDAP libraries).  Servers can also be specified last on the command line.&lt;br /&gt;
 &lt;br /&gt;
       -h ldapserver&lt;br /&gt;
              Specify the LDAP server to connect to. Servers can also be specified last on the command line.&lt;br /&gt;
 &lt;br /&gt;
       -p ldapport&lt;br /&gt;
              Specify  an alternate TCP port where the ldap server is listening if other than the default LDAP port 389. Can also be specified within the server specificia‐&lt;br /&gt;
              tion by using servername:port syntax.&lt;br /&gt;
 &lt;br /&gt;
       -v 2|3 LDAP protocol version. Defaults to 2 if not specified.&lt;br /&gt;
 &lt;br /&gt;
       -Z     Use TLS encryption&lt;br /&gt;
 &lt;br /&gt;
       -Scertpath&lt;br /&gt;
              Enable LDAP over SSL (requires Netscape LDAP API libraries)&lt;br /&gt;
 &lt;br /&gt;
       -cconnect_timeout&lt;br /&gt;
              Specify timeout used when connecting to LDAP servers (requires Netscape LDAP API libraries)&lt;br /&gt;
 &lt;br /&gt;
       -tsearch_timeout&lt;br /&gt;
              Specify time limit on LDAP search operations&lt;br /&gt;
 &lt;br /&gt;
       -d     Debug mode where each step taken will get reported in detail.  Useful for understanding what goes wrong if the results is not what is expected.&lt;br /&gt;
 &lt;br /&gt;
 EXAMPLES&lt;br /&gt;
       For directories using the RFC2307 layout with a single domain, all you need to specify is usually the base DN under where your users are located and the server name:&lt;br /&gt;
 &lt;br /&gt;
              squid_ldap_auth -b &amp;quot;ou=people,dc=your,dc=domain&amp;quot; ldapserver&lt;br /&gt;
 &lt;br /&gt;
       If you have sub-domains then you need to use a search filter approach to locate your user DNs as these can no longer be constructed direcly  from  the  base  DN  and&lt;br /&gt;
       login name alone:&lt;br /&gt;
 &lt;br /&gt;
              squid_ldap_auth -b &amp;quot;dc=your,dc=domain&amp;quot; -f &amp;quot;uid=%s&amp;quot; ldapserver&lt;br /&gt;
 &lt;br /&gt;
       And similarily if you only want to allow access to users having a specific attribute&lt;br /&gt;
 &lt;br /&gt;
              squid_ldap_auth -b &amp;quot;dc=your,dc=domain&amp;quot; -f &amp;quot;(&amp;amp;(uid=%s)(specialattribute=value))&amp;quot; ldapserver&lt;br /&gt;
 &lt;br /&gt;
       Or  if the user attribute of the user DN is &amp;quot;cn&amp;quot; instead of &amp;quot;uid&amp;quot; and you do not want to have to search for the users then you could use something like the following&lt;br /&gt;
       example for Active Directory:&lt;br /&gt;
 &lt;br /&gt;
              squid_ldap_auth -u cn -b &amp;quot;cn=Users,dc=your,dc=domain&amp;quot; ldapserver&lt;br /&gt;
 &lt;br /&gt;
       If you want to search for the user DN and your directory does not allow anonymous searches then you must also use the -D and -w flags to specify a user DN and  pass‐&lt;br /&gt;
       word to log in as to perform the searches, as in the following complex Active Directory example&lt;br /&gt;
 &lt;br /&gt;
              squid_ldap_auth  -P  -R -b &amp;quot;dc=your,dc=domain&amp;quot; -D &amp;quot;cn=squid,cn=users,dc=your,dc=domain&amp;quot; -w &amp;quot;secretsquidpassword&amp;quot; -f &amp;quot;(&amp;amp;(userPrincipalName=%s)(objectClass=Per‐&lt;br /&gt;
              son))&amp;quot; activedirectoryserver&lt;br /&gt;
 &lt;br /&gt;
 NOTES&lt;br /&gt;
       When constructing search filters it is strongly recommended to test the filter using ldapsearch before you attempt to use squid_ldap_auth. This to  verify  that  the&lt;br /&gt;
       filter matches what you expect.&lt;br /&gt;
 &lt;br /&gt;
 AUTHOR&lt;br /&gt;
       This manual page was written by Henrik Nordstrom &amp;lt;hno@squid-cache.org&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
       squid_ldap_auth is written by Glenn Newton &amp;lt;gnewton@wapiti.cisti.nrc.ca&amp;gt; and Henrik Nordstrom &amp;lt;hno@squid-cache.org&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 KNOWN ISSUES&lt;br /&gt;
       Will crash if other % values than %s is used in -f, or if more than 15 %s is used.&lt;br /&gt;
&lt;br /&gt;
 QUESTIONS&lt;br /&gt;
       Any  questions  on  usage can be sent to Squid Users &amp;lt;squid-users@squid-cache.org&amp;gt;, or to your favorite LDAP list/friend if the question is more related to LDAP than&lt;br /&gt;
       Squid.&lt;br /&gt;
 &lt;br /&gt;
 REPORTING BUGS&lt;br /&gt;
       Report bugs or bug-fixes to Squid Bugs &amp;lt;squid-bugs@squid-cache.org&amp;gt; or ideas for new improvements to Squid Developers &amp;lt;squid-dev@squid-cache.org&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 SEE ALSO&lt;br /&gt;
       ldapsearch(1),&lt;br /&gt;
       Your favorite LDAP documentation&lt;br /&gt;
       RFC2254 - The String Representation of LDAP Search Filters,&lt;br /&gt;
&lt;br /&gt;
===Configuració ===&lt;br /&gt;
&lt;br /&gt;
El helper per a Ldap el trobareu al fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ [[file]] /usr/lib/squid3/squid_ldap_auth&lt;br /&gt;
 /usr/lib/squid3/squid_ldap_auth: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped&lt;br /&gt;
&lt;br /&gt;
Es tracta d'un executable.&lt;br /&gt;
&lt;br /&gt;
A la configuració d'Squid cal posar quelcom similar a:&lt;br /&gt;
&lt;br /&gt;
 auth_param basic program /usr/lib/squid/squid_ldap_auth -v 3 -b &amp;quot;dc=yourcompany,dc=com&amp;quot; -D uid=some-user,ou=People,dc=yourcompany,dc=com  -w password -f uid=%s   &lt;br /&gt;
 ldap.yourcompany.com&lt;br /&gt;
  &lt;br /&gt;
 auth_param basic children 5&lt;br /&gt;
 auth_param basic realm Web-Proxy&lt;br /&gt;
 auth_param basic credentialsttl 1 minute&lt;br /&gt;
 &lt;br /&gt;
 acl ldap-auth proxy_auth REQUIRED&lt;br /&gt;
 &lt;br /&gt;
 http_access allow ldap-auth&lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
 http_access deny all&lt;br /&gt;
&lt;br /&gt;
On:&lt;br /&gt;
&lt;br /&gt;
:*'''-b''': defineix el context (la branca de l'arbre Ldap) on voleu buscar usuaris que tinguin accés al proxy.&lt;br /&gt;
:*'''-h''': Defineix el nom de màquina del servidor Ldap al qual us voleu connectar.&lt;br /&gt;
:*'''-D''': Usuari que es connecta al directori Ldap. Si no l'indiqueu la connexió serà anònima&lt;br /&gt;
:*'''-w'': Paraula de pas de l'usuari. No es posa si la connexió és anònima.&lt;br /&gt;
:*'''Filtre (-f)''': Filtre que s'ha d'aplicar al cerca usuaris: a l'exemple es busca per l'atribut '''uid''' (user identifier). %s és el nom que introdueix l'usuari al intentar.se connectar. &lt;br /&gt;
&lt;br /&gt;
{{important| Fitxeu-vos que l'anterior configuració no és gens segura, per diverses raons: la paraula de pas del servidor Ldap es guarda sense xifrar en un fitxer de text, a més si feu $ ps aux | grep squid, també veureu els helpers executant-se i apareixerà la paraula de pas}}&lt;br /&gt;
&lt;br /&gt;
El millor que podeu fer és connectar-vos al servidor Ldap anònimament, sense especificar la paraula de pas ni el usuari:&lt;br /&gt;
&lt;br /&gt;
 auth_param basic program /usr/lib/squid/squid_ldap_auth -v 3 -b &amp;quot;dc=yourcompany,dc=com&amp;quot;  -f uid=%s   &lt;br /&gt;
&lt;br /&gt;
:*http://wiki.squid-cache.org/ConfigExamples/Authenticate/Ldap&lt;br /&gt;
&lt;br /&gt;
=== Utilitzar grups Ldap ===&lt;br /&gt;
&lt;br /&gt;
TODO:&lt;br /&gt;
&lt;br /&gt;
In addition to simple authentication you may also want to grant different privileges to different users. The easiest way is to use LDAP groups. A group is just a list of dinstiguished names. Example group:&lt;br /&gt;
&lt;br /&gt;
    * dn=cn=Tim,ou=IT-Services,o=Company&lt;br /&gt;
    * dn=cn=Tina,ou=Management,o=Company&lt;br /&gt;
&lt;br /&gt;
Assume that these two users are allowed to use Google where all other users are not allowed. First you need to define the LDAP group mapping: &lt;br /&gt;
&lt;br /&gt;
external_acl_type ldapgroup %LOGIN /usr/lib/squid/squid_ldap_group -b o=Company&lt;br /&gt;
   -f (&amp;amp;(objectclass=person)(cn=%v)(groupMembership=cn=%a,ou=Proxygroups,o=Company))&lt;br /&gt;
   -D cn=Tim,ou=IT-Services,o=Company -w timspassword -h ldapserver&lt;br /&gt;
&lt;br /&gt;
The filter expression looks a little complicated. It just means that we are looking for any user (person) with the name we are looking for (%v) who is a member of the group we are looking for (groupMembership). You can now just create any number of groups in the tree like&lt;br /&gt;
&lt;br /&gt;
 cn=googleallowed,ou=Proxygroups,o=Company&lt;br /&gt;
&lt;br /&gt;
Then this pile of ACLs should block off everyone from google.com who is not a member of that group: &lt;br /&gt;
&lt;br /&gt;
 acl ldapgroup-googleallowed external ldapgroup googleallowed&lt;br /&gt;
 acl google dstdomain google.com&lt;br /&gt;
 http_access deny google !ldapgroup-googleallowed&lt;br /&gt;
&lt;br /&gt;
You may be curious how such a group authorizator works. Simple. It just reads line after line from STDIN (like the console) where each line looks like&lt;br /&gt;
&lt;br /&gt;
 username groupname&lt;br /&gt;
&lt;br /&gt;
and returns either OK or ERR depending on whether the user is a member of that group or not.&lt;br /&gt;
&lt;br /&gt;
:*http://workaround.org/squid-ldap&lt;br /&gt;
=== Recursos===&lt;br /&gt;
&lt;br /&gt;
*http://www.babilonics.com/content/como-instalar-squid-en-debian-con-autentificacion-ldap-por-grupos-de-windows-2003&lt;br /&gt;
*http://linkat.xtec.cat/portal_linkat/wikilinkat/index.php/Squid_Ldap&lt;br /&gt;
*http://workaround.org/squid-ldap&lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples/Authenticate/Ldap&lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples/Authenticate/WindowsActiveDirectory&lt;br /&gt;
&lt;br /&gt;
==Script per tal que els usuaris puguin canviar-se la paraula de pas==&lt;br /&gt;
&lt;br /&gt;
*http://www.squid-cache.org/htpasswd/&lt;br /&gt;
&lt;br /&gt;
==MySQL==&lt;br /&gt;
&lt;br /&gt;
{{nota| El paquet binari que es pot baixar dels repositoris d'Ubuntu no està compilat per suportar base de dades. Cal compilar Squid a partir de codi font:}}&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget http://www.squid-cache.org/Versions/v2/2.7/squid-2.7.STABLE3.tar.gz&lt;br /&gt;
 $ sudo mv squid-2.7.STABLE3.tar.gz /opt&lt;br /&gt;
 $ cd /opt&lt;br /&gt;
 $ sudo tar zxvf squid-2.7.STABLE3.tar.gz&lt;br /&gt;
 $ sudo cd /opt/squid-2.7.STABLE&lt;br /&gt;
 $ sudo ./configure –enable-basic-auth-helpers=DB&lt;br /&gt;
 $ sudo make&lt;br /&gt;
 $ make install&lt;br /&gt;
 $ sudo cp /usr/local/squid/libexec/squid_db_auth /opt&lt;br /&gt;
 $ sudo rm -rf squid-2.7.STABLE&lt;br /&gt;
 $ rm -rf /usr/local/squid&lt;br /&gt;
 $ sudo apt-get install squid3&lt;br /&gt;
 $ sudo cp /opt/squid_db_auth /usr/lib/squid&lt;br /&gt;
&lt;br /&gt;
*http://www.ideaglu.net/?p=1732&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples/Authenticate/LoggingOnly&lt;br /&gt;
&lt;br /&gt;
=Eines gràfiques=&lt;br /&gt;
&lt;br /&gt;
==Squid a Webmin==&lt;br /&gt;
&lt;br /&gt;
El mòdul Squid de Webmin esta pensat per a la versió 1 d'Squid. Per que funcioni correctament amb la versió 3 cal modificar la configuració del mòdul (part superior esquerrà '''Module Config'''):&lt;br /&gt;
&lt;br /&gt;
[[Imatge:SquidwebminConfiguracio.png]]&lt;br /&gt;
&lt;br /&gt;
El fitxer de configuració és:&lt;br /&gt;
&lt;br /&gt;
 /etc/squid3/squid.conf&lt;br /&gt;
&lt;br /&gt;
=Rendiment (Performance)=&lt;br /&gt;
&lt;br /&gt;
*Sistema operatiu Linux&lt;br /&gt;
*Evitar l'ús de swap&lt;br /&gt;
*Sistema de fitxers: Tots van aprox. igual de bé&lt;br /&gt;
*Evitar RAID. Consulteu http://wiki.squid-cache.org/SquidFaq/RAID&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/BestOsForSquid&lt;br /&gt;
&lt;br /&gt;
==Monitoritzar el rendiment==&lt;br /&gt;
&lt;br /&gt;
Ús de la memòria:&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:info | grep arena&lt;br /&gt;
 	Total space in arena:    8180 KB&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:info | grep Resident&lt;br /&gt;
	Maximum Resident Size: 0 KB&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:info | grep sbrk&lt;br /&gt;
	Process Data Segment Size via sbrk(): 7904 KB&lt;br /&gt;
&lt;br /&gt;
Es pot consultar el nombre de '''Page faults''' amb:&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:info | grep 'Page faults'&lt;br /&gt;
 Page faults with physical i/o: 0&lt;br /&gt;
&lt;br /&gt;
Una page fault succeix quan el procés squid ha d'accedir a un àrea de memòria de la swap, es a dir, quan squid està utilitzant la swap. ES recomanable que això no passi mai (a poder ser) i per tant quan més baix sigui el número de page faults millor. Cal tenir en compte que el valor mostrar és el moment en que s'executa. Podeu executar:&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:5min | grep page_fault&lt;br /&gt;
 page_faults = 0.000000/sec&lt;br /&gt;
 &lt;br /&gt;
 $ squidclient mgr:60min | grep page_fault&lt;br /&gt;
 page_faults = 0.000000/sec&lt;br /&gt;
&lt;br /&gt;
Per obtenir els rates dels últims 5 minuts i dels últims 60 minuts.&lt;br /&gt;
&lt;br /&gt;
També és interessant el paràmetre quantitat de peticions HTTP:&lt;br /&gt;
&lt;br /&gt;
 # squidclient mgr:info | grep 'Number of HTTP requests'&lt;br /&gt;
 Number of HTTP requests received:       535805&lt;br /&gt;
&lt;br /&gt;
Es poden consultar uns rates amb:&lt;br /&gt;
&lt;br /&gt;
 # squidclient mgr:info | grep 'Average HTTP requests'&lt;br /&gt;
 Average HTTP requests per minute since start:   108.4&lt;br /&gt;
 # squidclient mgr:5min | grep 'client_http.requests'&lt;br /&gt;
 client_http.requests = 3.002991/sec&lt;br /&gt;
 # squidclient mgr:60min | grep 'client_http.requests'&lt;br /&gt;
 client_http.requests = 2.636987/sec&lt;br /&gt;
&lt;br /&gt;
'''Temps de servei (mediana)''':&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:info | more&lt;br /&gt;
 ...&lt;br /&gt;
 Median Service Times (seconds)  5 min    60 min:&lt;br /&gt;
 	HTTP Requests (All):   0.07825  0.32154&lt;br /&gt;
 	Cache Misses:          0.61549  0.72387&lt;br /&gt;
 	Cache Hits:            0.00000  0.00000&lt;br /&gt;
 	Near Hits:             0.10281  0.19742&lt;br /&gt;
 	Not-Modified Replies:  0.00000  0.00000&lt;br /&gt;
 	DNS Lookups:           0.84544  0.56687&lt;br /&gt;
  	ICP Queries:           0.00000  0.00000&lt;br /&gt;
&lt;br /&gt;
 # squidclient mgr:5min | grep client_http.all_median_svc_time&lt;br /&gt;
 client_http.all_median_svc_time = 0.127833 seconds&lt;br /&gt;
&lt;br /&gt;
Warning:&lt;br /&gt;
&lt;br /&gt;
 high_response_time_warning 700&lt;br /&gt;
&lt;br /&gt;
'''Temps de resposta DNS''':&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:5min | grep dns.median_svc_time&lt;br /&gt;
 dns.median_svc_time = 1.055573 seconds&lt;br /&gt;
 $ squidclient mgr:60min | grep dns.median_svc_time&lt;br /&gt;
 dns.median_svc_time = 0.677101 seconds&lt;br /&gt;
&lt;br /&gt;
'''Número de descriptors de fitxers''':&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:info | grep 'Number of file desc currently in use'&lt;br /&gt;
 	Number of file desc currently in use:  425&lt;br /&gt;
&lt;br /&gt;
'''Ús de CPU'''&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:60min | grep cpu_usage &lt;br /&gt;
&lt;br /&gt;
'''Informació de l'store dir''':&lt;br /&gt;
&lt;br /&gt;
 $ squidclient mgr:storedir&lt;br /&gt;
 HTTP/1.0 200 OK&lt;br /&gt;
 Server: squid/3.0.STABLE18&lt;br /&gt;
 Mime-Version: 1.0&lt;br /&gt;
 Date: Mon, 17 May 2010 10:36:35 GMT&lt;br /&gt;
 Content-Type: text/plain&lt;br /&gt;
 Expires: Mon, 17 May 2010 10:36:35 GMT&lt;br /&gt;
 Last-Modified: Mon, 17 May 2010 10:36:35 GMT&lt;br /&gt;
 X-Cache: MISS from localhost&lt;br /&gt;
 X-Cache-Lookup: MISS from localhost:3128&lt;br /&gt;
 Via: 1.0 localhost (squid/3.0.STABLE18)&lt;br /&gt;
 Proxy-Connection: close&lt;br /&gt;
 &lt;br /&gt;
 Store Directory Statistics:&lt;br /&gt;
 Store Entries          : 5319&lt;br /&gt;
 Maximum Swap Size      :   102400 KB&lt;br /&gt;
 Current Store Swap Size:    92160 KB&lt;br /&gt;
 Current Capacity       : 90% used, 10% free  &lt;br /&gt;
 &lt;br /&gt;
 Store Directory #0 (ufs): /var/spool/squid3&lt;br /&gt;
 FS Block Size 4096 Bytes&lt;br /&gt;
 First level subdirectories: 16&lt;br /&gt;
 Second level subdirectories: 256&lt;br /&gt;
 Maximum Size: 102400 KB&lt;br /&gt;
 Current Size: 92160 KB&lt;br /&gt;
 '''Percent Used: 90.00%'''&lt;br /&gt;
 Filemap bits in use: 5256 of 16384 (32%)&lt;br /&gt;
 '''Filesystem Space in use: 17521760/206424760 KB (8%)'''&lt;br /&gt;
 Filesystem Inodes in use: 106527/13107200 (1%)&lt;br /&gt;
 Flags: SELECTED&lt;br /&gt;
 Removal policy: lru&lt;br /&gt;
 LRU reference age: 0.02 days&lt;br /&gt;
&lt;br /&gt;
:*http://onlamp.com/pub/a/onlamp/2004/03/25/squid.html&lt;br /&gt;
&lt;br /&gt;
===Squid-rrd===&lt;br /&gt;
&lt;br /&gt;
Podeu trobar els fitxers a:&lt;br /&gt;
&lt;br /&gt;
 http://acacha.org/~sergi/squid-rrd.tar.gz&lt;br /&gt;
&lt;br /&gt;
Els passos seguits per instal·lar squid-rrd a una Ubuntu han estat:&lt;br /&gt;
&lt;br /&gt;
 $ cd /var/www/&lt;br /&gt;
 $ sudo mkdir squid-rrd/&lt;br /&gt;
 $ cd squid-rrd/&lt;br /&gt;
 $ sudo wget http://www.squid-cache.org/~wessels/squid-rrd/poll.pl&lt;br /&gt;
 $ sudo wget http://www.squid-cache.org/~wessels/squid-rrd/create.sh&lt;br /&gt;
 $ sudo wget http://www.squid-cache.org/~wessels/squid-rrd/1day-cgi&lt;br /&gt;
 $ sudo wget http://www.squid-cache.org/~wessels/squid-rrd/htaccess&lt;br /&gt;
 $ sudo mv htaccess .htaccess&lt;br /&gt;
 $ sudo mv 1day-cgi 1day.cgi &lt;br /&gt;
 $ sudo chmod +x ./create.sh &lt;br /&gt;
 $ sudo ./create.sh &lt;br /&gt;
&lt;br /&gt;
Canvieu els shebangs que molts apunten a fitxers de /usr/share/local.&lt;br /&gt;
&lt;br /&gt;
 $ sudo perl poll.pl localhost&lt;br /&gt;
&lt;br /&gt;
 $ sudo joe /etc/cron.d/squid-rdd&lt;br /&gt;
&lt;br /&gt;
Afegiu la línia:&lt;br /&gt;
&lt;br /&gt;
 */5 * * * * root /var/www/squid-rrd/poll.pl localhost&lt;br /&gt;
 &lt;br /&gt;
Canvieu la línia on s'indica el path de l'eina rrdtool a:&lt;br /&gt;
&lt;br /&gt;
 my $rrdtool = '/usr/bin/rrdtool';&lt;br /&gt;
&lt;br /&gt;
 $ sudo chmod +x /var/www/squid-rrd/poll.pl &lt;br /&gt;
&lt;br /&gt;
Proveu l'script:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /var/www/squid-rrd/poll.pl localhost&lt;br /&gt;
&lt;br /&gt;
Configureu apache:&lt;br /&gt;
&lt;br /&gt;
 $ cd /etc/apache2/conf.d/&lt;br /&gt;
 $ sudo joe squid-rrd&lt;br /&gt;
&lt;br /&gt;
Afegiu:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Directory &amp;quot;/var/www/squid-rrd&amp;quot;&amp;gt;&lt;br /&gt;
  AllowOverride Indexes&lt;br /&gt;
  Options +ExecCGI&lt;br /&gt;
  AddHandler cgi-script .cgi&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ sudo a2enmod expires&lt;br /&gt;
 $ sudo /etc/init.d/apache2 restart&lt;br /&gt;
 $ cd /var/www/squid-rrd/&lt;br /&gt;
 $ sudo chmod 775 .&lt;br /&gt;
 $ sudo chown www-data:www-data .&lt;br /&gt;
&lt;br /&gt;
Al fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ sudo joe /var/www/squid-rrd/1day.cgi&lt;br /&gt;
&lt;br /&gt;
Canvieu el path de l'eina 1day.cgi al [[shebang]] poseu:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/rrdcgi&lt;br /&gt;
&lt;br /&gt;
I finalment:&lt;br /&gt;
&lt;br /&gt;
 $ sudo chmod +x /var/www/squid-rrd/1day.cgi&lt;br /&gt;
&lt;br /&gt;
:*http://www.squid-cache.org/~wessels/squid-rrd/&lt;br /&gt;
&lt;br /&gt;
==Benchmark==&lt;br /&gt;
&lt;br /&gt;
:*http://www.web-polygraph.org/&lt;br /&gt;
:*http://www.web-cache.com/benchmarking.html&lt;br /&gt;
&lt;br /&gt;
=Monitoritzar=&lt;br /&gt;
&lt;br /&gt;
Es pot utilitzar [[SNMP]], per activar SNMP al servidor Squid cal primer definir una ACL. Per exemple, al fitxer [[/etc/squid3/squid.conf]]:&lt;br /&gt;
&lt;br /&gt;
 acl snmppublic snmp_community public&lt;br /&gt;
&lt;br /&gt;
El port per defecte on squid escolta peticions SNMP és el 3401. Es pot canviar amb:&lt;br /&gt;
&lt;br /&gt;
 snmp_port 3401&lt;br /&gt;
&lt;br /&gt;
Per permetre que l'agent SNMP pugui fer consultes al servidor Squid:&lt;br /&gt;
&lt;br /&gt;
 snmp_access allow snmppublic localhost &lt;br /&gt;
 snmp_access deny all&lt;br /&gt;
&lt;br /&gt;
L'anterior configuració només permet l'accés a Squid per SNMP des de la màquina localhost.&lt;br /&gt;
&lt;br /&gt;
{{nota| Si no es defineix cap accés SNMP concret per defecte l'accés és denegat}}&lt;br /&gt;
&lt;br /&gt;
Finalment es pot definir a quines interfícies escoltar peticions SNMP&lt;br /&gt;
&lt;br /&gt;
 snmp_incoming_address 0.0.0.0&lt;br /&gt;
 snmp_outgoing_address 0.0.0.0 &lt;br /&gt;
&lt;br /&gt;
Que són els valors per defecte (totes les interfícies)&lt;br /&gt;
&lt;br /&gt;
:*http://wiki.squid-cache.org/Features/Snmp&lt;br /&gt;
&lt;br /&gt;
== Cacti==&lt;br /&gt;
&lt;br /&gt;
Es poden exportar una gràfiques de Cacti, utilitzant plantilles en format XML que trobareu a:&lt;br /&gt;
&lt;br /&gt;
:*http://forums.cacti.net/about4142.html&lt;br /&gt;
&lt;br /&gt;
Utilitzeu el menú Importar plantilles de Cacti. Abans cal haver activat SNMP a Squid tal com s'ha comentat a l'apartat anterior.&lt;br /&gt;
&lt;br /&gt;
=Jerarquia d'Squids o Squid distribuit. Squid Mesh=&lt;br /&gt;
&lt;br /&gt;
 TODO&lt;br /&gt;
&lt;br /&gt;
Els protocols utilitzats són:&lt;br /&gt;
&lt;br /&gt;
:*'''[http://en.wikipedia.org/wiki/Internet_Cache_Protocol ICP (Internet Cache Protocol)]''': Protocol bàsic per a fer cache distribüida.&lt;br /&gt;
:*'''[http://en.wikipedia.org/wiki/Hypertext_caching_protocol HTCP (Hypertext_caching_protocol)]''': Definit com el successor de ICP.&lt;br /&gt;
&lt;br /&gt;
{{nota|Tingueu en compte que a la configuració per defecte està impedit l'accés a aquest protocols.}}&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/Features/CacheHierarchy&lt;br /&gt;
&lt;br /&gt;
=Filtrar continguts=&lt;br /&gt;
&lt;br /&gt;
==Com indicar acls que no passaran pel redirector ==&lt;br /&gt;
&lt;br /&gt;
Podeu utilitzar [[redirector_access]]&lt;br /&gt;
&lt;br /&gt;
==Com aplicar múltiples redirectors==&lt;br /&gt;
&lt;br /&gt;
[[IPCOP]] ho fa quan per exemple es te instal·lat el plugin [[urlfilter]] &lt;br /&gt;
&lt;br /&gt;
A [[squid.conf]]:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 url_rewrite_program /usr/sbin/redirect_wrapper&lt;br /&gt;
 url_rewrite_children 50&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
El fitxer '''/usr/sbin/redirect_wrapper''' conté:&lt;br /&gt;
&lt;br /&gt;
 $ cat /usr/sbin/redirect_wrapper&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 /usr/sbin/squidGuard | /usr/sbin/updxlrator&lt;br /&gt;
&lt;br /&gt;
Per tant amb una simple pipe es poden aplicar múltiples redirectors.&lt;br /&gt;
&lt;br /&gt;
==Impedir missatgeria instantània==&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples#Instant_Messaging_.2BAC8_Chat_Program_filtering&lt;br /&gt;
&lt;br /&gt;
===Messenger===&lt;br /&gt;
&lt;br /&gt;
Prèviament cal haver xapat amb iptables el port '''1836'''&lt;br /&gt;
&lt;br /&gt;
{{nota| S'ha observat que també cal tancar l'accés a hotmnail per tal d'impedir que les últimes versions de messenger funcionin}}&lt;br /&gt;
&lt;br /&gt;
 # MSN Messenger&lt;br /&gt;
 &lt;br /&gt;
 acl msn urlpath_regex -i gateway.dll&lt;br /&gt;
 acl msnd dstdomain messenger.msn.com gateway.messenger.hotmail.com&lt;br /&gt;
 acl msn1 req_mime_type application/x-msn-messenger&lt;br /&gt;
 &lt;br /&gt;
 http_access deny msnd&lt;br /&gt;
 http_access deny msn&lt;br /&gt;
 http_access deny msn1&lt;br /&gt;
 &lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples/Chat/MsnMessenger&lt;br /&gt;
&lt;br /&gt;
==Impedir eines de navegació anònima==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Com evitar les eines de navegació anònima]]. S'indica entre d'altres com prevenir [[Tor]], [[Ultrasurf]] i [[Proxies anònims]].&lt;br /&gt;
&lt;br /&gt;
*http://administradores.educarex.es/wiki/index.php/Proxy_cach%C3%A9_y_filtrador_web:_squid&lt;br /&gt;
&lt;br /&gt;
==Impedir Streaming==&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples#Instant_Messaging_.2BAC8_Chat_Program_filtering&lt;br /&gt;
&lt;br /&gt;
===Youtube===&lt;br /&gt;
&lt;br /&gt;
 http://www.bellera.cat/josep/videocache/&lt;br /&gt;
 http://cachevideos.com/&lt;br /&gt;
&lt;br /&gt;
 ## The videos come from several domains&lt;br /&gt;
 acl youtube_domains dstdomain .youtube.com .googlevideo.com .ytimg.com &lt;br /&gt;
 &lt;br /&gt;
 http_access deny youtube_domains&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples/Streams/YouTube&lt;br /&gt;
&lt;br /&gt;
====Fer cache de youtube====&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples/DynamicContent/YouTube&lt;br /&gt;
&lt;br /&gt;
==Redirectors==&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/Features/Redirectors&lt;br /&gt;
&lt;br /&gt;
===Squirm===&lt;br /&gt;
&lt;br /&gt;
*http://squirm.foote.com.au/&lt;br /&gt;
&lt;br /&gt;
===Redirectors a mida===&lt;br /&gt;
&lt;br /&gt;
====PHP====&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/ConfigExamples/PhpRedirectors&lt;br /&gt;
&lt;br /&gt;
====Cada X temps enviar a una pàgina concreta ====&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # startpage.pl (Squid Proxy Redirector)&lt;br /&gt;
 # joan.llopart@guifi.net 03-2008&lt;br /&gt;
 &lt;br /&gt;
 # Redirects proxy user to a defined startpage every certain time.&lt;br /&gt;
 &lt;br /&gt;
 use strict;&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # --- CONFIG ---&lt;br /&gt;
 #&lt;br /&gt;
 # Startpage will be shown every ... (time in seconds)&lt;br /&gt;
 my $ref_time = 3600; # 1 hour&lt;br /&gt;
 #&lt;br /&gt;
 # Redirection to this webpage&lt;br /&gt;
 my $startp = &amp;quot;302:http://guifi.net&amp;quot;;&lt;br /&gt;
 #&lt;br /&gt;
 # Directory to save user/timestamp DB&lt;br /&gt;
 # (squid owner needs write permissions in this directory)&lt;br /&gt;
 my $dat_dir = &amp;quot;/tmp&amp;quot;;&lt;br /&gt;
 #&lt;br /&gt;
 # Track users by IP or username. Username only effective if proxy uses&lt;br /&gt;
 # some kind of authentication.&lt;br /&gt;
 my $match = &amp;quot;user&amp;quot;; # user / IP&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Autoflush STDOUT on each printed character&lt;br /&gt;
 local $| = 1; &lt;br /&gt;
 &lt;br /&gt;
 $SIG{INT} = sub { die &amp;quot;Bye!&amp;quot;; };&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 while ( 1 ) {&lt;br /&gt;
 &lt;br /&gt;
   # Get stuff from squid&lt;br /&gt;
   my $buff_in = &amp;lt;&amp;gt;;&lt;br /&gt;
   chomp( $buff_in );    &lt;br /&gt;
   my ( $url, $src_add, $ident, $method) = split( / /, $buff_in );&lt;br /&gt;
 &lt;br /&gt;
   # Quits if squid does&lt;br /&gt;
   if( !$url || !$src_add || !$ident || !$method ) { die(&amp;quot;Bye!&amp;quot;); };&lt;br /&gt;
 &lt;br /&gt;
   # Match by username or IP&lt;br /&gt;
   my $id = ($match eq &amp;quot;user&amp;quot;) ? $ident : $src_add;&lt;br /&gt;
 &lt;br /&gt;
   # Check user's timestamp &lt;br /&gt;
   open(DATA, &amp;quot;&amp;lt;$dat_dir/startpage.dat&amp;quot;);&lt;br /&gt;
   my $newdat='';&lt;br /&gt;
   # (flag1) 0 = new user / 1 = timestamp OK / 2 = update timestamp&lt;br /&gt;
   my $flag1=0; &lt;br /&gt;
   while ( my $line=&amp;lt;DATA&amp;gt; ) {&lt;br /&gt;
     chomp($line);&lt;br /&gt;
     my( $user, $ltime ) = split( /:/, $line );&lt;br /&gt;
     if( $user eq $id ) {&lt;br /&gt;
       $flag1=1;&lt;br /&gt;
       if( ($ltime + $ref_time) &amp;lt; time() ) {&lt;br /&gt;
         $flag1=2;&lt;br /&gt;
         $ltime=time();&lt;br /&gt;
       }&lt;br /&gt;
     } &lt;br /&gt;
     $newdat.=&amp;quot;$user:$ltime\n&amp;quot;;    &lt;br /&gt;
   }&lt;br /&gt;
  close(DATA);  &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
   # If new user or user timestamp changed, update DB&lt;br /&gt;
   if( $flag1!=1 ) {&lt;br /&gt;
     # New user? add it ...&lt;br /&gt;
     if( !$flag1 ) { $newdat.=&amp;quot;$id:&amp;quot;.time().&amp;quot;\n&amp;quot;; }&lt;br /&gt;
     open(DATA, &amp;quot;&amp;gt;$dat_dir/startpage.dat&amp;quot;);&lt;br /&gt;
     print DATA $newdat;&lt;br /&gt;
     close(DATA);&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   # Show startpage if necessary&lt;br /&gt;
   if( $flag1!=1 ) {&lt;br /&gt;
     print $startp.&amp;quot; &amp;quot;.$src_add.&amp;quot; &amp;quot;.$ident.&amp;quot; &amp;quot;.$method.&amp;quot;\n&amp;quot;;&lt;br /&gt;
   } else {&lt;br /&gt;
     print $url.&amp;quot; &amp;quot;.$src_add.&amp;quot; &amp;quot;.$ident.&amp;quot; &amp;quot;.$method.&amp;quot;\n&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
 &lt;br /&gt;
 } # while( 1 ) &lt;br /&gt;
 &lt;br /&gt;
El poseu en el lloc que us agradi mes, en aquest l'exemple l'he guardat a /home/joan/scripts, amb el nom startpage.pl. Editeu el /etc/squid/squid.conf, busqueu on hi ha el Tag de url_rewrite_program i hi afegiu:&lt;br /&gt;
&lt;br /&gt;
 url_rewrite_program /home/joan/scripts/startpage.pl&lt;br /&gt;
&lt;br /&gt;
*http://www.guifi.net/node/14092&lt;br /&gt;
*http://www.guifi.net/ca/node/3567&lt;br /&gt;
&lt;br /&gt;
===SquidGuard===&lt;br /&gt;
&lt;br /&gt;
Consulteu&lt;br /&gt;
&lt;br /&gt;
 [[SquidGuard]]&lt;br /&gt;
&lt;br /&gt;
==DansGuardian==&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 [[DansGuardian]]&lt;br /&gt;
&lt;br /&gt;
==IPCOP==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[IPCOP]]&lt;br /&gt;
&lt;br /&gt;
===Configuració d'Squid a IPCOP===&lt;br /&gt;
&lt;br /&gt;
Consulteu [[IPCOP#Proxy_SQUID]]&lt;br /&gt;
&lt;br /&gt;
==pfsense==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[pfsense]]&lt;br /&gt;
&lt;br /&gt;
=Informes=&lt;br /&gt;
&lt;br /&gt;
==Squidtaild==&lt;br /&gt;
&lt;br /&gt;
 Definition: squidtaild: Squid log monitoring program Squidtaild is a very fast, highly configurable Perl program that will dynamicly create html pages that display the &lt;br /&gt;
 violations that people made one or more of the filters you have applied to the squid proxy logging system.&lt;br /&gt;
&lt;br /&gt;
==squidview==&lt;br /&gt;
&lt;br /&gt;
 $ apt-cache search squidview&lt;br /&gt;
 squidview - monitors and analyses squid access.log files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Calamaris==&lt;br /&gt;
&lt;br /&gt;
En sistemes [[Debian]] com [[Ubuntu]] és pot instal·lar des dels [[repositoris]] amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[apt-get]] install calamaris&lt;br /&gt;
&lt;br /&gt;
Tal i com indica el resum del paquet:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[apt-cache]] search calamaris&lt;br /&gt;
 calamaris - log analyzer for Squid or Oops proxy log files&lt;br /&gt;
&lt;br /&gt;
Es tracta d'un analitzador dels logs d'Squid que ens permet obtenir informes d'ús del proxy. Podeu veure una demo d'informe de calamaris en format text a:&lt;br /&gt;
&lt;br /&gt;
 http://cord.de/tools/squid/calamaris/calamaris-2.out&lt;br /&gt;
&lt;br /&gt;
O en format HTML a:&lt;br /&gt;
&lt;br /&gt;
 http://cord.de/tools/squid/calamaris/calamaris-2.html&lt;br /&gt;
&lt;br /&gt;
Els fitxers instal·lats són:&lt;br /&gt;
&lt;br /&gt;
 $ [[dpkg]] -L calamaris&lt;br /&gt;
 /.&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/calamaris&lt;br /&gt;
 /usr/share&lt;br /&gt;
 /usr/share/man&lt;br /&gt;
 /usr/share/man/man1&lt;br /&gt;
 /usr/share/man/man1/calamaris.1.gz&lt;br /&gt;
 /usr/share/perl5&lt;br /&gt;
 /usr/share/perl5/calamaris&lt;br /&gt;
 /usr/share/perl5/calamaris/calAxestype.pm&lt;br /&gt;
 /usr/share/perl5/calamaris/calAxestype3d.pm&lt;br /&gt;
 /usr/share/perl5/calamaris/calBars3d.pm&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/calamaris&lt;br /&gt;
 /usr/share/doc/calamaris/README&lt;br /&gt;
 /usr/share/doc/calamaris/TODO&lt;br /&gt;
 /usr/share/doc/calamaris/README.Debian&lt;br /&gt;
 /usr/share/doc/calamaris/copyright&lt;br /&gt;
 /usr/share/doc/calamaris/examples&lt;br /&gt;
 /usr/share/doc/calamaris/examples/EXAMPLES.gz&lt;br /&gt;
 /usr/share/doc/calamaris/examples/EXAMPLES.v3.gz&lt;br /&gt;
 /usr/share/doc/calamaris/NEWS.Debian.gz&lt;br /&gt;
 /usr/share/doc/calamaris/changelog.gz&lt;br /&gt;
 /usr/share/doc/calamaris/BUGS.gz&lt;br /&gt;
 /usr/share/doc/calamaris/changelog.Debian.gz&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/calamaris&lt;br /&gt;
 /etc/calamaris/calamaris.conf&lt;br /&gt;
 /etc/cron.daily&lt;br /&gt;
 /etc/cron.daily/calamaris&lt;br /&gt;
 /var&lt;br /&gt;
 /var/log&lt;br /&gt;
 /var/log/calamaris&lt;br /&gt;
 /var/www&lt;br /&gt;
 /var/www/calamaris&lt;br /&gt;
 /var/www/calamaris/daily&lt;br /&gt;
 /var/www/calamaris/weekly&lt;br /&gt;
 /var/www/calamaris/monthly &lt;br /&gt;
&lt;br /&gt;
Segons el manual de l'aplicació:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] [http://linux.die.net/man/1/calamaris calamaris]&lt;br /&gt;
&lt;br /&gt;
Podem obtenir informes executant:&lt;br /&gt;
&lt;br /&gt;
 $ sudo cat /var/log/squid3/access.log | calamaris&lt;br /&gt;
&lt;br /&gt;
El resultat seria quelcom similar a:&lt;br /&gt;
&lt;br /&gt;
 $ cat /var/log/squid3/access.log | calamaris&lt;br /&gt;
 # Summary&lt;br /&gt;
 Calamaris statistics                                                            &lt;br /&gt;
 --------------------------------------------------------- -------------- ------ &lt;br /&gt;
 lines parsed:                                                      lines  23115 &lt;br /&gt;
 invalid lines:                                                     lines      0 &lt;br /&gt;
 parse time:                                                          sec     12 &lt;br /&gt;
 parse speed:                                                   lines/sec   1926 &lt;br /&gt;
 --------------------------------------------------------- -------------- ------ &lt;br /&gt;
 Proxy statistics                                                                &lt;br /&gt;
 --------------------------------------------------------- -------------- ------ &lt;br /&gt;
 Total amount:                                                   requests  23115 &lt;br /&gt;
 Total Bandwidth:                                                    Byte   405M &lt;br /&gt;
 Proxy efficiency (HIT [kB/sec] / DIRECT [kB/sec]):                factor   1.13 &lt;br /&gt;
 Average speed increase:                                                %   0.36 &lt;br /&gt;
 --------------------------------------------------------- -------------- ------ &lt;br /&gt;
 Cache statistics                                                                &lt;br /&gt;
 --------------------------------------------------------- -------------- ------ &lt;br /&gt;
 Total amount cached:                                            requests   6751 &lt;br /&gt;
 Request hit rate:                                                      %  29.21 &lt;br /&gt;
 Bandwidth savings:                                                  Byte 12974K &lt;br /&gt;
 Bandwidth savings in Percent (Byte hit rate):                          %   3.13 &lt;br /&gt;
 --------------------------------------------------------- -------------- ------   &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 # Incoming requests by method&lt;br /&gt;
 method                          request      %  sec/req   Byte       %  kB/sec  &lt;br /&gt;
 ------------------------------ --------- ------ ------- -------- ------ ------- &lt;br /&gt;
 GET                                20850  90.20    0.85  413074K  99.53   23.33 &lt;br /&gt;
 POST                                2250   9.73    1.50  1991606   0.47    0.58 &lt;br /&gt;
 HEAD                                  15   0.06    0.45     6135   0.00    0.89 &lt;br /&gt;
 ------------------------------ --------- ------ ------- -------- ------ ------- &lt;br /&gt;
 Sum                                23115 100.00    0.91  415025K 100.00   19.68 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Incoming UDP-requests by status&lt;br /&gt;
 no matching requests             &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Incoming TCP-requests by status&lt;br /&gt;
 status                          request      %  sec/req   Byte       %  kB/sec  &lt;br /&gt;
 ------------------------------ --------- ------ ------- -------- ------ ------- &lt;br /&gt;
 HIT                                 6751  29.21    0.09 13285256   3.13   22.18 &lt;br /&gt;
 MISS                               16360  70.78    1.25  401840K  96.82   19.61 &lt;br /&gt;
 ERROR                                  4   0.02    0.94   216243   0.05   55.91 &lt;br /&gt;
 ------------------------------ --------- ------ ------- -------- ------ ------- &lt;br /&gt;
 Sum                                23115 100.00    0.91  415025K 100.00   19.68 &lt;br /&gt;
  &lt;br /&gt;
 # Outgoing requests by status&lt;br /&gt;
 status                          request      %  sec/req   Byte       %  kB/sec  &lt;br /&gt;
 ------------------------------ --------- ------ ------- -------- ------ ------- &lt;br /&gt;
 DIRECT Fetch from Source           16360 100.00    1.25  401840K 100.00   19.61 &lt;br /&gt;
 SIBLING                                0   0.00    0.00        0   0.00    0.00 &lt;br /&gt;
 PARENT                                 0   0.00    0.00        0   0.00    0.00 &lt;br /&gt;
 ------------------------------ --------- ------ ------- -------- ------ ------- &lt;br /&gt;
 Sum                                16360 100.00    1.25  401840K 100.00   19.61 &lt;br /&gt;
   &lt;br /&gt;
 &lt;br /&gt;
 # Outgoing requests by destination&lt;br /&gt;
 neighbor type                   request      %  sec/req   Byte       %  kB/sec  &lt;br /&gt;
 ------------------------------ --------- ------ ------- -------- ------ ------- &lt;br /&gt;
 DIRECT                             16360 100.00    1.25  401840K 100.00   19.61 &lt;br /&gt;
 ------------------------------ --------- ------ ------- -------- ------ ------- &lt;br /&gt;
 Sum                                16360 100.00    1.25  401840K 100.00   19.61  &lt;br /&gt;
 &lt;br /&gt;
 Calamaris 2.99.4.0&lt;br /&gt;
 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006&lt;br /&gt;
 Cord Beermann. Authors: Cord Beermann and Michael Pophal.&lt;br /&gt;
 Calamaris comes with ABSOLUTELY NO WARRANTY. It is free software, and you are&lt;br /&gt;
 welcome to redistribute it under certain conditions. See source for details.&lt;br /&gt;
 http://Calamaris.Cord.de/&lt;br /&gt;
&lt;br /&gt;
Podeu concatenar tants fitxers de log com vulgueu:&lt;br /&gt;
&lt;br /&gt;
 $ sudo cat /var/log/squid3/access.log| sudo cat /var/log/squid3/access.log.1 | calamaris&lt;br /&gt;
&lt;br /&gt;
Calamaris també s'utilitza a [[IPCOP]]. Consulteu l'apartat:&lt;br /&gt;
&lt;br /&gt;
 [[IPCOP#Calamaris_addon]]&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://cord.de/tools/squid/calamaris/&lt;br /&gt;
&lt;br /&gt;
===Exemples d'ús de calamaris===&lt;br /&gt;
&lt;br /&gt;
Extrets del manual:&lt;br /&gt;
&lt;br /&gt;
 $ cat /var/log/squid/access.log | nice -39 calamaris -amH 'daily worf' | mail root&lt;br /&gt;
&lt;br /&gt;
 $ cat /var/log/squid/access.log | calamaris -a -o daily.`date +&amp;quot;%w&amp;quot;` &amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
 if [ $DAYOFWEEK = &amp;quot;0&amp;quot; ]; then calamaris -a -i daily.1:daily.2:daily.3:daily.4:daily.5:daily.6:daily.0 -zmH &amp;quot;weekly worf&amp;quot; | mail root fi&lt;br /&gt;
&lt;br /&gt;
====Crear un informe HTML====&lt;br /&gt;
&lt;br /&gt;
 $ sudo calamaris -a -F html /var/log/squid/access.log &amp;gt;/var/www/default/html/calamaris/index.html&lt;br /&gt;
&lt;br /&gt;
L'opció -a mostra tots els informes útils. Equival a:&lt;br /&gt;
&lt;br /&gt;
 --size-distribution-report 10 --domain-report 20 --performance-report 60 --requester-report 20 --status-report --type-report 20 &lt;br /&gt;
 --response-time-report --errorcode-distribution-report&lt;br /&gt;
&lt;br /&gt;
Sense la opció -F html el resultat seria un fitxer de text.&lt;br /&gt;
&lt;br /&gt;
I el podeu consultar si no teniu entorn gràfic amb [[lynx]]:&lt;br /&gt;
&lt;br /&gt;
 $ lynx /var/www/default/html/calamaris/index.html&lt;br /&gt;
&lt;br /&gt;
====Informes automàtics amb cron====&lt;br /&gt;
&lt;br /&gt;
Al instal·lar calamaris automàticament se us ha instal·lat un tasca de [[cron]]:&lt;br /&gt;
&lt;br /&gt;
 /etc/cron.daily/calamaris&lt;br /&gt;
&lt;br /&gt;
Que executa cada dia un script que es configura al fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/calamaris/cron.conf&lt;br /&gt;
 # configuration file for calamaris&lt;br /&gt;
 # by Philipp Frauenfelder &amp;lt;pfrauenf@debian.org&amp;gt;&lt;br /&gt;
 # 1998-10-09 &lt;br /&gt;
 &lt;br /&gt;
 # There are three categories: daily, weekly and monthly. For each of these&lt;br /&gt;
 # one line is responsible. There must be a line for each category but only &lt;br /&gt;
 # one. &lt;br /&gt;
 &lt;br /&gt;
 # cat: [daily|weekly|monthly]&lt;br /&gt;
 # mailto: mailaddress, eg. root&lt;br /&gt;
 # webto: path incl. file name, eg. /var/www/calamaris/daily.html. &lt;br /&gt;
 #        The script does currently not check wether the directory &lt;br /&gt;
 #        exists and fails with a rather ugly error.&lt;br /&gt;
 # todo: [nothing|mail|web|both]&lt;br /&gt;
 # title: try it :-)&lt;br /&gt;
 &lt;br /&gt;
 # cat:mailto:webto:todo:title&lt;br /&gt;
 '''&amp;lt;nowiki&amp;gt;daily:root:/var/www/calamaris/daily/index.html:mail:'Squid diari'&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 '''&amp;lt;nowiki&amp;gt;weekly:root:/var/www/calamaris/weekly/index.html:mail:'Squid setmanalment'&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 '''&amp;lt;nowiki&amp;gt;monthly:root:/var/www/calamaris/monthly/index.html:mail:'Squid mensual'&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
 # what log files should be parsed: [auto|squid|oops]&lt;br /&gt;
 #       auto: tries to find the log files in this order: squid, oops&lt;br /&gt;
 #       squid: parses a squid log file if available&lt;br /&gt;
 #       oops: parses a oops log file if available&lt;br /&gt;
 cache=auto&lt;br /&gt;
&lt;br /&gt;
Amb la configuració per defecte només s'envien correus electrònics (al correu intern de root que si no el teniu redireccionat no arribarà a ningú. Consulteu [[Mail]]) i a més amb squid3 no us funcionarà. Cal posar:&lt;br /&gt;
 ...&lt;br /&gt;
 # cat:mailto:webto:todo:title&lt;br /&gt;
 daily:'''sergi.tur@domini.cat''':/var/www/calamaris/daily/index.html:'''both''':'Squid diari'&lt;br /&gt;
 weekly:sergi.tur@domini.cat:/var/www/calamaris/weekly/index.html:both:'Squid setmanalment'&lt;br /&gt;
 monthly:sergi.tur@domini.cat:/var/www/calamaris/monthly/index.html:both:'Squid mensual'&lt;br /&gt;
 # what log files should be parsed: [auto|squid|oops]&lt;br /&gt;
 #       auto: tries to find the log files in this order: squid, oops&lt;br /&gt;
 #       squid: parses a squid log file if available&lt;br /&gt;
 #       oops: parses a oops log file if available&lt;br /&gt;
 '''cache=squid3'''&lt;br /&gt;
&lt;br /&gt;
{{nota|Canvieu sergi.tur@domini.cat per el vostre correu electrònic.}}&lt;br /&gt;
&lt;br /&gt;
Cron/Anacron s'executarà cada dia amb [[cron.daily]] (vegeu anacron). Podeu forçar la execució i comprovar que no teniu cap error amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/cron.daily/calamaris&lt;br /&gt;
&lt;br /&gt;
No us funcionarà per que cal corregir unes errors (està pensat per a squid en comptes d'squid3):&lt;br /&gt;
&lt;br /&gt;
 $ sudo joe /etc/cron.daily/calamaris&lt;br /&gt;
&lt;br /&gt;
Feu Ctrl+k+f i busqueu squid. Amb Ctrl+l us podeu moure a la següent cerca, salteu els comentaris on aparegui la paraula squid (/var/log/squid3, /var/log/squid3/access.log).&lt;br /&gt;
&lt;br /&gt;
També canvieu la línia:&lt;br /&gt;
&lt;br /&gt;
 CACHE=auto&lt;br /&gt;
&lt;br /&gt;
per:&lt;br /&gt;
&lt;br /&gt;
 CACHE=squid3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com veureu es creen automàticament unes pàgines web a:&lt;br /&gt;
&lt;br /&gt;
 /var/www/calamaris&lt;br /&gt;
&lt;br /&gt;
Si no existeix la carpeta la creeu:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkdir -p /var/www/calamaris&lt;br /&gt;
 $ sudo mkdir -p /var/www/calamaris/daily&lt;br /&gt;
 $ sudo mkdir -p /var/www/calamaris/monthly&lt;br /&gt;
 $ sudo mkdir -p /var/www/calamaris/weekly&lt;br /&gt;
&lt;br /&gt;
A les qual podeu accedir (si teniu la configuració d'[[Apache]] per defecte) amb:&lt;br /&gt;
&lt;br /&gt;
 http://IP_SERVIDOR_PROXY/calamaris&lt;br /&gt;
&lt;br /&gt;
També és habitual canviar el fitxer [[/etc/cron.daily/calamaris]]:&lt;br /&gt;
&lt;br /&gt;
 $ sudo joe  /etc/cron.daily/calamaris&lt;br /&gt;
&lt;br /&gt;
I afegir més opcions a la variable:&lt;br /&gt;
&lt;br /&gt;
 CALAMARISOPTIONS=&amp;quot;--size-distribution-report 10 --domain-report 500 --performance-report 60 --requester-report 500 --status-report --type-report 20 --response-time-report \&lt;br /&gt;
 --errorcode-distribution-report -f auto --config-file ${CALAMARIS_CONF_FILE}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I buscar les referències a squid i canviar-les per squid3:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 # squid or oops?&lt;br /&gt;
 CACHE=squid3&lt;br /&gt;
 ...&lt;br /&gt;
 # look for cache log files  &lt;br /&gt;
 if [ &amp;quot;$CACHE&amp;quot; = &amp;quot;auto&amp;quot; ]; then&lt;br /&gt;
     if [ -r /var/log/squid3/access.log ]; then&lt;br /&gt;
        CACHE=squid3&lt;br /&gt;
        CACHELOGDIR=/var/log/squid3&lt;br /&gt;
&lt;br /&gt;
===Resolució de problemes===&lt;br /&gt;
&lt;br /&gt;
====/etc/cron.daily/calamaris: no cache log files found, exiting cleanly====&lt;br /&gt;
&lt;br /&gt;
Si no us funciona l'automatisme de cron proveu d'executar-los a mà:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/cron.daily/calamaris&lt;br /&gt;
 /etc/cron.daily/calamaris: no cache log files found, exiting cleanly&lt;br /&gt;
&lt;br /&gt;
Si teniu Squid3 cal tenir en compte que la carpeta dels fitxers de log és:&lt;br /&gt;
&lt;br /&gt;
  /var/log/squid3&lt;br /&gt;
&lt;br /&gt;
En comptes de:&lt;br /&gt;
&lt;br /&gt;
  /var/log/squid&lt;br /&gt;
&lt;br /&gt;
Editeu el fitxer:&lt;br /&gt;
&lt;br /&gt;
 /etc/cron.daily/calamaris&lt;br /&gt;
&lt;br /&gt;
I busqueu i remplaceu totes les entrades incorrectes de:&lt;br /&gt;
&lt;br /&gt;
 squid&lt;br /&gt;
&lt;br /&gt;
per &lt;br /&gt;
&lt;br /&gt;
 squid3&lt;br /&gt;
&lt;br /&gt;
També cal modificar el fitxer de configuració. Per defecte està pensat per a squid (no squid3) i a més només envia notificacions per correu (i només a l'usuari root de la màquina local). Poseu:&lt;br /&gt;
&lt;br /&gt;
 $ sudo joe /etc/calamaris/cron.conf&lt;br /&gt;
 # configuration file for calamaris&lt;br /&gt;
 # by Philipp Frauenfelder &amp;lt;pfrauenf@debian.org&amp;gt;&lt;br /&gt;
 # 1998-10-09&lt;br /&gt;
 &lt;br /&gt;
 # There are three categories: daily, weekly and monthly. For each of these&lt;br /&gt;
 # one line is responsible. There must be a line for each category but only&lt;br /&gt;
 # one.&lt;br /&gt;
 &lt;br /&gt;
 # cat: [daily|weekly|monthly]&lt;br /&gt;
 # mailto: mailaddress, eg. root&lt;br /&gt;
 # webto: path incl. file name, eg. /var/www/calamaris/daily.html.&lt;br /&gt;
 #        The script does currently not check wether the directory&lt;br /&gt;
 #        exists and fails with a rather ugly error.&lt;br /&gt;
 # todo: [nothing|mail|web|both]&lt;br /&gt;
 # title: try it :-)&lt;br /&gt;
 &lt;br /&gt;
 # cat:mailto:webto:todo:title&lt;br /&gt;
 '''daily:sergi.tur@domini.com:/var/www/calamaris/daily/index.html:both:'Squid diari''''&lt;br /&gt;
 '''weekly:sergi.tur@domini.com:/var/www/calamaris/weekly/index.html:both:'Squid setmanalment''''&lt;br /&gt;
 '''monthly:sergi.tur@domini.com:/var/www/calamaris/monthly/index.html:both:'Squid mensual''''&lt;br /&gt;
 # what log files should be parsed: [auto|squid|oops]&lt;br /&gt;
 #       auto: tries to find the log files in this order: squid, oops&lt;br /&gt;
 #       squid: parses a squid log file if available&lt;br /&gt;
 #       oops: parses a oops log file if available&lt;br /&gt;
 '''cache=squid3'''&lt;br /&gt;
&lt;br /&gt;
{{nota|Canvieu sergi.tur@domini.com pel vostre correu electrònic}}&lt;br /&gt;
&lt;br /&gt;
==Sarg==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install sarg&lt;br /&gt;
&lt;br /&gt;
Tal com diu la comanda:&lt;br /&gt;
&lt;br /&gt;
 $ apt-cache search --names-only sarg&lt;br /&gt;
 sarg - squid analysis report generator&lt;br /&gt;
&lt;br /&gt;
Sarg crea unes pàgines web:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L sarg | grep www&lt;br /&gt;
 /var/www&lt;br /&gt;
 /var/www/squid-reports&lt;br /&gt;
&lt;br /&gt;
Si teniu la configuració per defecte d'[[Apache]] i podreu accedir amb:&lt;br /&gt;
&lt;br /&gt;
 http://IP_SERVIDOR_PROXY//squid-reports&lt;br /&gt;
&lt;br /&gt;
Al principi, la pàgina pot estar buida de continguts. Es creen continguts de forma automàtica amb [[cron]]&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L sarg | grep cron&lt;br /&gt;
 /etc/cron.daily&lt;br /&gt;
 /etc/cron.daily/sarg&lt;br /&gt;
 /etc/cron.weekly&lt;br /&gt;
 /etc/cron.weekly/sarg&lt;br /&gt;
 /etc/cron.monthly&lt;br /&gt;
 /etc/cron.monthly/sarg&lt;br /&gt;
&lt;br /&gt;
Si mireu el contingut dels fitxers, veureu que s'utilitza l'script '''/usr/sbin/sarg-reports''':&lt;br /&gt;
 &lt;br /&gt;
 $ cat /etc/cron.daily/sarg&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 if [ -x /usr/sbin/sarg-reports ]; then&lt;br /&gt;
   '''/usr/sbin/sarg-reports daily'''&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Podeu forçar les execucions amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /usr/sbin/sarg-reports daily&lt;br /&gt;
 $ sudo /usr/sbin/sarg-reports weekly&lt;br /&gt;
 $ sudo /usr/sbin/sarg-reports monthly&lt;br /&gt;
&lt;br /&gt;
'''NOTA''': Si us dona un error tingueu en compte que la carpeta del log a Squid 3 és /var/log/squid3 en comptes de /var/log/squid. Canvieu al fitxer:&lt;br /&gt;
&lt;br /&gt;
 /etc/squid/sarg.conf&lt;br /&gt;
&lt;br /&gt;
La línia.&lt;br /&gt;
&lt;br /&gt;
 access_log /var/log/squid/access.log&lt;br /&gt;
&lt;br /&gt;
per:&lt;br /&gt;
&lt;br /&gt;
 access_log /var/log/squid3/access.log&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.howtoforge.com/monitoring_squid&lt;br /&gt;
&lt;br /&gt;
=== Informes d'SquidGuard ===&lt;br /&gt;
&lt;br /&gt;
Cal comprovar-ho!.&lt;br /&gt;
&lt;br /&gt;
 # /usr/bin/sarg -z -L /var/log/squid3/blocked.log -l /var/log/squid3/access.log -o /var/www/squid-reports/Manual -d 14/10/2009-15/10/2009&lt;br /&gt;
&lt;br /&gt;
:*http://tuxjm.net/docs/temporales/Configuracion_de_Herramientas_de_Analisis_de_Logs_de_Squid.txt&lt;br /&gt;
&lt;br /&gt;
==webalizer==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install webalizer&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L webalizer&lt;br /&gt;
&lt;br /&gt;
Execució:&lt;br /&gt;
&lt;br /&gt;
 $ sudo webalizer &lt;br /&gt;
 Webalizer V2.01-10 (Linux 2.6.27-11-server) locale: ca_ES.UTF-8&lt;br /&gt;
 Usant el registre /var/log/apache2/access.log.1 (clf)&lt;br /&gt;
 Using default GeoIP database&lt;br /&gt;
 Creant resultats a /var/www/webalizer&lt;br /&gt;
 Resultats del servidor 'router'&lt;br /&gt;
 Llegint fitxer històric... webalizer.hist&lt;br /&gt;
 Generant resultats per August 2009&lt;br /&gt;
 Generant resultats resumits&lt;br /&gt;
 Guardant informació a l'històric...&lt;br /&gt;
 731 registres en 2,50 segons, 292/sec&lt;br /&gt;
&lt;br /&gt;
Hi ha un mòdul de [[webmin]] per a webalizer.&lt;br /&gt;
&lt;br /&gt;
= Generar trànsit per a fer informes de proves amb wget =&lt;br /&gt;
&lt;br /&gt;
[[Eines_per_a_tests_de_càrrega#Generar_tr.C3.A0nsit_amb_siege_i_fitxers_access.log_d.27un_Proxy_d.27un_entorn_d.27Execuci.C3.B3]]&lt;br /&gt;
&lt;br /&gt;
= Utilitzar un proxy remot amb túnels SSH =&lt;br /&gt;
&lt;br /&gt;
Una manera de securitzar el transit web (navegar xifrant les dades) és utilitzar SSH. Vegeu [[Túnel SSH]]. Si teniu accés a un servidor SSH i en aquell servidor també teniu instal·lat un proxy squid, podeu fer el seguent:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -L 6666:localhost:3128 usuari@ip_servidor_ssh_i_prozy&lt;br /&gt;
&lt;br /&gt;
I deixeu la connexió SSH oberta. Ara al navegador només cal que poseu com a dades del proxy:&lt;br /&gt;
&lt;br /&gt;
 IP: localhost&lt;br /&gt;
 Port : 6666&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Configuraci%C3%B3_de_clients_proxy|Configuració de clients Proxy]] per tal de tenir més informació de com configurar el navegador.&lt;br /&gt;
&lt;br /&gt;
I podeu comprovar utilitzant qualsevol pàgina &amp;quot;Qual és mi ip&amp;quot; (busqueu Qual és mi IP a Google) qu esteu navegant a través de proxy. Tingueu en compte que les dades viatgen des de la vostra maquina al servidor SSH de forma segura (i per tant és una solució quan treballeu en xarxes LAN no confiables i per tal d'evitar eines com [[Ettercap]] o [[Dsniff]]).&lt;br /&gt;
&lt;br /&gt;
=Fer connexions anònimes=&lt;br /&gt;
&lt;br /&gt;
*http://wiki.squid-cache.org/SquidFaq/ConfiguringSquid#Can_Squid_anonymize_HTTP_requests.3F&lt;br /&gt;
&lt;br /&gt;
= Federació d'un proxy amb guifi.net =&lt;br /&gt;
&lt;br /&gt;
'''Què és un proxy federat'''&lt;br /&gt;
&lt;br /&gt;
Si editeu un servei de Proxy (només si en sou el propietari o en sou administrador), trobareu un apartat que diu:&lt;br /&gt;
&lt;br /&gt;
 '''Federació del proxy''':&lt;br /&gt;
  '''IN''' - Els usuaris d'altres proxis poden fer-lo servir&lt;br /&gt;
  '''OUT''' - els usuaris del proxi poden fer-ne servir d'altres&lt;br /&gt;
&lt;br /&gt;
El que dóna lloc a 4 possibles combinacions :&lt;br /&gt;
&lt;br /&gt;
:*'''ni IN ni OUT''' - Com s'ha dit avans, el proxy no estarà federat, per tant cap usuari extern al proxy el pot fer servir, i cap usuari del proxy pot fer servir els altres de guifi.net (exemple -&amp;gt; un proxy privat)&lt;br /&gt;
:*'''només OUT''' - El usuaris del proxy poden utilitzar qualsevol dels proxys que estiguin federats com a IN, pero els usuaris d'altres proxys no poden utilitzar-lo (exemple -&amp;gt; la guixa o el seminari)&lt;br /&gt;
:*'''només IN''' - Els usuaris del proxy nomes poden utilitzar el seu, pero qualsevol usuari d'un proxy marcat com a OUT pot fer servir aquest. (exemple -&amp;gt; ??? no crec que ni hagi cap, però les combinacions és lo que tenen)&lt;br /&gt;
:*'''IN i OUT''' - El proxy federat per exel·lència : els usuaris poden fer servir tots els proxys federats amb IN, i els usuaris d'altres proxys federats OUT poden fer-lo servir. (exemple -&amp;gt; esperança, elserrat, puntas ...)&lt;br /&gt;
&lt;br /&gt;
Els proxies com altres serveis de la xarxa guifi.net es poden publicitar a la web de guifi.net. Per exemple, podeu accedir a la pàgina del node que conté el proxy de l'institut de l'Ebre:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si entreu a aquesta pàgina amb un usuari de guifi.net veureu que hi ha un enllaç/pestanya (usuaris), que és l'últim, a sota el nom del node (en aquest cas &amp;quot;TortosaINSEbre&amp;quot;). Les opcions són:&lt;br /&gt;
&lt;br /&gt;
 dades trastos distàncies gràfiques enllaços mapa de perfils serveis '''usuaris'''&lt;br /&gt;
&lt;br /&gt;
Escolliu l'última. Si feu clic a usuaris, us llistarà els usuaris. &lt;br /&gt;
&lt;br /&gt;
També teniu un boto que diu: &amp;quot;Afegir usuari&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{important|Si us dona l'error: &amp;quot;Pàgina no trobada!&amp;quot; és que potser esteu donant d'alta l'usuari des del servei i no pas des del node}}&lt;br /&gt;
&lt;br /&gt;
Al servidor on hi ha el proxy cal instal·lar (els passos són per a Debian o Ubuntu)&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[joe]] /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
I afegiu la línia:&lt;br /&gt;
&lt;br /&gt;
 deb http://tramuntana.evt.cat/mirror/debian/ ./&lt;br /&gt;
&lt;br /&gt;
Per aplicar els canvis&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
El paquet a instal·lar és&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[apt-get]] install guifi-proxy&lt;br /&gt;
&lt;br /&gt;
{{nota|Tingueu en compte que se suposa que el proxy [[Squid]] ja el teniu instal·lat i configurat!}}&lt;br /&gt;
&lt;br /&gt;
{{important| Si teniu el proxy amb Squid3, el paquet guifi-proxy uns instal·larà la versió 1 d'Squid i podeu tenir problemes si s'executen al mateix temps. Executeu:}}&lt;br /&gt;
&lt;br /&gt;
 sudo update-rc.d -f squid remove&lt;br /&gt;
&lt;br /&gt;
Els fitxers instal·lats són:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L guifi-proxy&lt;br /&gt;
 /.&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/cron.d&lt;br /&gt;
 /etc/cron.d/guifi-proxy&lt;br /&gt;
 /etc/guifi-proxy&lt;br /&gt;
 /etc/logrotate.d&lt;br /&gt;
 /etc/logrotate.d/guifi-proxy&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/share&lt;br /&gt;
 /usr/share/guifi-proxy&lt;br /&gt;
 /usr/share/guifi-proxy/guifi-proxy.sh&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/guifi-proxy&lt;br /&gt;
 /usr/share/doc/guifi-proxy/README.Debian&lt;br /&gt;
 /usr/share/doc/guifi-proxy/copyright&lt;br /&gt;
 /usr/share/doc/guifi-proxy/changelog.gz&lt;br /&gt;
 /usr/share/man&lt;br /&gt;
 /usr/share/man/man1&lt;br /&gt;
 /usr/share/man/man1/guifi-proxy.1.gz&lt;br /&gt;
 /var&lt;br /&gt;
 /var/log&lt;br /&gt;
 /var/log/guifi-proxy&lt;br /&gt;
&lt;br /&gt;
&amp;quot;L'executable&amp;quot; és:&lt;br /&gt;
&lt;br /&gt;
 /usr/share/guifi-proxy/guifi-proxy.sh&lt;br /&gt;
&lt;br /&gt;
Amb el següent contingut:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 #--- DEFAULT CONFIG ---&lt;br /&gt;
 node=2619; # overwrite by config file&lt;br /&gt;
 base_url='http://www.guifi.net'&lt;br /&gt;
 passwd_dir='/etc/guifi-proxy/'&lt;br /&gt;
 passwd=${passwd_dir}'passwd'&lt;br /&gt;
 passwd_md5=${passwd_dir}'passwd.md5'&lt;br /&gt;
 tmp='/tmp/passwd'&lt;br /&gt;
 tmp_md5='/tmp/passwd.md5'&lt;br /&gt;
 tmp_web_md5='/tmp/passwd_web_md5.txt'&lt;br /&gt;
 # Enable for Debian/Ubuntu &lt;br /&gt;
 reload='/etc/init.d/squid reload'&lt;br /&gt;
 # Enable for Fedora/RedHat&lt;br /&gt;
 #reload='service squid reload'&lt;br /&gt;
 #--- END DEFAULT CONFIG --- &lt;br /&gt;
 &lt;br /&gt;
 #--- LOAD CONFIG FILE ---&lt;br /&gt;
 config='/etc/guifi-proxy/config.sh' &lt;br /&gt;
 &lt;br /&gt;
 if [ -f $config ]&lt;br /&gt;
   then&lt;br /&gt;
   . $config&lt;br /&gt;
 fi&lt;br /&gt;
 #--- END LOAD CONFIG FILE --- &lt;br /&gt;
 &lt;br /&gt;
 #echo $node;&lt;br /&gt;
 #echo $base_url;&lt;br /&gt;
 #echo $passwd_dir;&lt;br /&gt;
 #echo $passwd;&lt;br /&gt;
 #echo $tmp;&lt;br /&gt;
 #echo $reload;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Check if download passwd file is needed&lt;br /&gt;
 # Download md5 checksum&lt;br /&gt;
 wget $base_url/guifi/export/$node/federated_md5 -O $tmp_web_md5&lt;br /&gt;
 # Calc md5sum of $passwd&lt;br /&gt;
 touch $passwd&lt;br /&gt;
 md5sum $passwd &amp;gt; $passwd_md5 &lt;br /&gt;
  &lt;br /&gt;
 # Compare checksums&lt;br /&gt;
 hash_web=`cut -d&amp;quot; &amp;quot; -f1 $tmp_web_md5`&lt;br /&gt;
 hash_passwd=`cut -d&amp;quot; &amp;quot; -f1 $passwd_md5`&lt;br /&gt;
 #echo &amp;quot;md5=$hash_web=&amp;quot;&lt;br /&gt;
 #echo &amp;quot;md5=$hash_passwd=&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ $hash_web != $hash_passwd ]; then&lt;br /&gt;
   echo &amp;quot;[`date -R`] - Different Hash, New Passwd File&amp;quot;;&lt;br /&gt;
   wget $base_url/guifi/export/$node/federated -O $tmp&lt;br /&gt;
   md5sum $tmp &amp;gt; $tmp_md5&lt;br /&gt;
   hash_tmp=`cut -d&amp;quot; &amp;quot; -f1 $tmp_md5`  &lt;br /&gt;
   if [ $hash_web = $hash_tmp ]; then&lt;br /&gt;
     echo &amp;quot;[`date -R`] - Download OK, copying Passwd file to $passwd&amp;quot;;&lt;br /&gt;
     cp $tmp $passwd&lt;br /&gt;
     rm $tmp&lt;br /&gt;
     rm $tmp_md5&lt;br /&gt;
     rm $tmp_web_md5&lt;br /&gt;
     $reload&lt;br /&gt;
   fi;  &lt;br /&gt;
 fi;&lt;br /&gt;
 &lt;br /&gt;
 exit 0;&lt;br /&gt;
&lt;br /&gt;
{{important|Noteu la línia '''&amp;lt;nowiki&amp;gt;reload='/etc/init.d/squid reload'&amp;lt;/nowiki&amp;gt;'''. Si teniu squid3 la heu de canviar per '''&amp;lt;nowiki&amp;gt;reload='/etc/init.d/squid3 reload'&amp;lt;/nowiki&amp;gt;''' o modificar el fitxer '''/usr/share/guifi-proxy''' afegint la línia:}}&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/guifi-proxy/config.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # Script at /usr/share/guifi-proxy&lt;br /&gt;
 #&lt;br /&gt;
 # Server base url ex: http://www.guifi.net&lt;br /&gt;
 base_url='http://www.guifi.net';&lt;br /&gt;
 # Node ID&lt;br /&gt;
 node=50;&lt;br /&gt;
 reload='/etc/init.d/squid3 reload';&lt;br /&gt;
&lt;br /&gt;
L'script el que fa es baixar-se la URL:&lt;br /&gt;
&lt;br /&gt;
 http://guifi.net/guifi/export/numero_servei_proxy/federated&lt;br /&gt;
&lt;br /&gt;
Per exemple a:&lt;br /&gt;
&lt;br /&gt;
 http://guifi.net/guifi/export/2619/federated&lt;br /&gt;
&lt;br /&gt;
La baixada es comprova que sigui correcte ja que hi ha un MD5 per a cada fitxer. Per exemple:&lt;br /&gt;
&lt;br /&gt;
 http://guifi.net/guifi/export/2619/federated_md5&lt;br /&gt;
&lt;br /&gt;
Es configura [[cron]] per que a cada minut 55 es sincronitzi:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/cron.d/guifi-proxy&lt;br /&gt;
 #&lt;br /&gt;
 # Regular cron jobs for the guifi-proxy package&lt;br /&gt;
 #&lt;br /&gt;
 55 *	* * *	root	/usr/share/guifi-proxy/guifi-proxy.sh &amp;gt;&amp;gt; /var/log/guifi-proxy/guifi-proxy.log 2&amp;gt;&amp;amp;1;&lt;br /&gt;
&lt;br /&gt;
Vegeu que es guarda al fitxer de log (a més es configura [[logrotate]]) el resultat de les sincronitzacions:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tail -f /var/log/guifi-proxy&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
:*https://llistes.projectes.lafarga.org/pipermail/guifi-rdes/2007-November/003850.html&lt;br /&gt;
:*https://svn.projectes.lafarga.cat/svn/guifi/tools/packaging/debian/guifi-proxy/&lt;br /&gt;
:*http://guifi.net/ca/node/4427&lt;br /&gt;
&lt;br /&gt;
= Load Balancing i tcp_outgoing_address =&lt;br /&gt;
&lt;br /&gt;
Amb la directiva [[tcp_outgoing_address]], podem canviar la IP d'origen del paquet que surt de l'Squid a l'hora de buscar una pàgina d'Internet. Combinant-ho amb [[Policy Routing]] (Source Policy Rounting), podem encaminar per diferents gateways diferents peticions a un servidor Squid.&lt;br /&gt;
&lt;br /&gt;
:*[[Load_Balancing#Squid_i_tcp_outgoing_address]]&lt;br /&gt;
&lt;br /&gt;
=TroubleShooting. Resolució de problemes=&lt;br /&gt;
&lt;br /&gt;
== No es permet la connexió segura https (CONNECT) a un port no estàndard ==&lt;br /&gt;
&lt;br /&gt;
La configuració estàndard d'Squid només permet utilitzar el port estàndard de [[HTTP]]s. Les connexions HTTPS es fan amb el mètode CONNECT:&lt;br /&gt;
&lt;br /&gt;
 $ sudo joe /etc/squid3/squid.conf&lt;br /&gt;
 ...&lt;br /&gt;
 acl SSL_ports port 443&lt;br /&gt;
 ...&lt;br /&gt;
 http_access deny CONNECT !SSL_ports&lt;br /&gt;
&lt;br /&gt;
Per exemple no permet l'accés a QBID:&lt;br /&gt;
&lt;br /&gt;
 https://apps.cambrescat.es:8003/qBid/&lt;br /&gt;
&lt;br /&gt;
Cal afegir ports per a HTTPS  afegint la línia &lt;br /&gt;
&lt;br /&gt;
 acl SSL_ports port 8003&lt;br /&gt;
&lt;br /&gt;
després de:&lt;br /&gt;
&lt;br /&gt;
  acl SSL_ports port 443&lt;br /&gt;
&lt;br /&gt;
{{important|D'aquesta manera s'està obrint un possible forat de sortida ja que s'estan permeten connexions directes amb CONNECT al port 8003 (es pot utilitzar per accedir a un proxy extern que escolti peticions al port que obriu)}}&lt;br /&gt;
&lt;br /&gt;
==Problemes amb clients FTP==&lt;br /&gt;
&lt;br /&gt;
S'ha de carregar un mòdul del kernel específic per fer el connection tracking de FTP:&lt;br /&gt;
&lt;br /&gt;
 # modprobe ip_nat_ftp&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html&lt;br /&gt;
&lt;br /&gt;
==Error Iniciant Squid versió 1.0==&lt;br /&gt;
&lt;br /&gt;
Si us dona el següent error:&lt;br /&gt;
&lt;br /&gt;
 * Starting Squid HTTP proxy squid                                                                                                                              &lt;br /&gt;
 * Creating squid spool directory structure&lt;br /&gt;
 FATAL: Could not determine fully qualified hostname.  Please set 'visible_hostname'&lt;br /&gt;
 &lt;br /&gt;
 Squid Cache (Version 2.6.STABLE14): Terminated abnormally.&lt;br /&gt;
 CPU Usage: 0.004 seconds = 0.004 user + 0.000 sys&lt;br /&gt;
 Maximum Resident Size: 0 KB&lt;br /&gt;
 Page faults with physical i/o: 0&lt;br /&gt;
 Aborted (core dumped)&lt;br /&gt;
 FATAL: Could not determine fully qualified hostname.  Please set 'visible_hostname' &lt;br /&gt;
 &lt;br /&gt;
 Squid Cache (Version 2.6.STABLE14): Terminated abnormally.&lt;br /&gt;
 CPU Usage: 0.012 seconds = 0.012 user + 0.000 sys&lt;br /&gt;
 Maximum Resident Size: 0 KB&lt;br /&gt;
 Page faults with physical i/o: 0&lt;br /&gt;
 Aborted (core dumped)&lt;br /&gt;
&lt;br /&gt;
Potser heu instal·lat el paquet '''squid''' en comptes del paquet '''squid3'''?&lt;br /&gt;
&lt;br /&gt;
==Squid Rebutja Connexions==&lt;br /&gt;
&lt;br /&gt;
Si tenim el següent error la navegar a través d'un proxy:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:SquidRebutjaConnexions.png]]&lt;br /&gt;
&lt;br /&gt;
Això vol dir que no tenim accés al proxy. Potser la IP o el port són incorrectes o s'ha perdut la connexió amb el proxy?&lt;br /&gt;
&lt;br /&gt;
==Consider increasing the number of url_rewriter processes..==&lt;br /&gt;
&lt;br /&gt;
 $ sudo tail -f /var/log/squid/cache.log&lt;br /&gt;
 ...&lt;br /&gt;
 WARNING: up to 13 pending requests queued&lt;br /&gt;
 2009/01/29 13:43:49| Consider increasing the number of url_rewriter processes to at least 18 in your config file.&lt;br /&gt;
&lt;br /&gt;
Cal modificar la variable [http://www.visolve.com/squid/squid26/externalsupport.php#url_rewrite_children url_rewrite_children]. Com a valor per defecte és 5 que pot ser molt poc. Si disposem de RAM cal augmentar aquest valor.&lt;br /&gt;
&lt;br /&gt;
Aquesta variable es troba al fitxer '''squid.conf'''. Un exemple en una màquina amb [[IPCOP]]:&lt;br /&gt;
&lt;br /&gt;
 # cat /var/ipcop/proxy/squid.conf&lt;br /&gt;
 ...&lt;br /&gt;
 url_rewrite_children 5&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': a IPCOP no es pot canviar aquest valor (ni cap altre) directament al fitxer. Cal fer-ho des de la interfície web&lt;br /&gt;
&lt;br /&gt;
Per fer-ho amb IPCOP consulteu:&lt;br /&gt;
&lt;br /&gt;
 [[IPCOP#Augmentar_el_nombre_de_processos_de_URL_filter]]&lt;br /&gt;
&lt;br /&gt;
==WARNING! Your cache is running out of filedescriptors==&lt;br /&gt;
&lt;br /&gt;
 $ sudo tail -f /var/log/squid/cache.log&lt;br /&gt;
 ...&lt;br /&gt;
 2010/03/15 10:48:43| comm_open: socket failure: (24) Too many open files&lt;br /&gt;
 ...&lt;br /&gt;
 2010/04/21 09:49:09| WARNING! Your cache is running out of filedescriptors&lt;br /&gt;
 2010/04/21 09:49:20| WARNING: All url_rewriter processes are busy.&lt;br /&gt;
 2010/04/21 09:49:20| WARNING: up to 25 pending requests queued&lt;br /&gt;
&lt;br /&gt;
Sembla que una solució és augmentar el nombre de descriptors de fitxers amb &lt;br /&gt;
 vi /etc/security/limits.conf&lt;br /&gt;
&lt;br /&gt;
I afegir al final la línia :&lt;br /&gt;
&lt;br /&gt;
 * - nofile 4096&lt;br /&gt;
&lt;br /&gt;
Guardar i sortir. Podem veure el nombre de descriptors que es permeten obrir fent&lt;br /&gt;
&lt;br /&gt;
 ulimit -a &lt;br /&gt;
&lt;br /&gt;
Però a la meva xarxa, encara que millorava, continuaven produïnt-se errors. Una solució pot ser modificar les directives quick_abort, que de fet a mi em solucionàven el problema. Entenc que els usuaris impacients (tots de fet) quan la línia ADSL funciona lenta, fan una ràpida successió de &amp;quot;Reloads&amp;quot; picant el botó de refresc del navegador i això fa que Squid es quedi sense descriptors de fitxers (en aquest cas sockets) amb les connexions que resten baixant quan es fa un abort de la pàgina que s'havia demanat.&lt;br /&gt;
&lt;br /&gt;
 #  TAG: quick_abort_min (KB)&lt;br /&gt;
 #  TAG: quick_abort_max (KB)&lt;br /&gt;
 #  TAG: quick_abort_pct (percent)&lt;br /&gt;
 #       The cache by default continues downloading aborted requests&lt;br /&gt;
 #       which are almost completed (less than 16 KB remaining). This&lt;br /&gt;
 #       may be undesirable on slow (e.g. SLIP) links and/or very busy&lt;br /&gt;
 #       caches.  Impatient users may tie up file descriptors and&lt;br /&gt;
 #       bandwidth by repeatedly requesting and immediately aborting&lt;br /&gt;
 #       downloads.&lt;br /&gt;
 #&lt;br /&gt;
 #       When the user aborts a request, Squid will check the&lt;br /&gt;
 #       quick_abort values to the amount of data transfered until&lt;br /&gt;
 #       then.&lt;br /&gt;
 #&lt;br /&gt;
 #       If the transfer has less than 'quick_abort_min' KB remaining,&lt;br /&gt;
 #       it will finish the retrieval.&lt;br /&gt;
 #&lt;br /&gt;
 #       If the transfer has more than 'quick_abort_max' KB remaining,&lt;br /&gt;
 #       it will abort the retrieval.&lt;br /&gt;
 #&lt;br /&gt;
 #       If more than 'quick_abort_pct' of the transfer has completed,&lt;br /&gt;
 #       it will finish the retrieval.&lt;br /&gt;
 #&lt;br /&gt;
 #       If you do not want any retrieval to continue after the client&lt;br /&gt;
 #       has aborted, set both 'quick_abort_min' and 'quick_abort_max'&lt;br /&gt;
 #       to '0 KB'.&lt;br /&gt;
 #&lt;br /&gt;
 #       If you want retrievals to always continue if they are being&lt;br /&gt;
 #       cached set 'quick_abort_min' to '-1 KB'.&lt;br /&gt;
 #&lt;br /&gt;
 #Default:&lt;br /&gt;
 # quick_abort_min 16 KB&lt;br /&gt;
 # quick_abort_max 16 KB&lt;br /&gt;
 # quick_abort_pct 95&lt;br /&gt;
 # pau&lt;br /&gt;
 quick_abort_min 0 KB&lt;br /&gt;
 quick_abort_max 0 KB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Vegeu també=&lt;br /&gt;
&lt;br /&gt;
*[[Squidguard]]&lt;br /&gt;
*[[DansGuardian]]&lt;br /&gt;
*[[Configuració de clients proxy]]&lt;br /&gt;
*[[IPCOP]]&lt;br /&gt;
**[[IPCOP#Calamaris_addon]]&lt;br /&gt;
*[[MRTG]] i [[Nagios]] es poden utilitzar per monitoritzar un servidor Squid.&lt;br /&gt;
*[[tinyproxy]]&lt;br /&gt;
&lt;br /&gt;
=Enllaços externs=&lt;br /&gt;
&lt;br /&gt;
* http://weblog.patrice.ch/xml/atom/article/325/feed.xml&lt;br /&gt;
* http://oreilly.com/catalog/9780596001629/preview#preview&lt;br /&gt;
&lt;br /&gt;
[[Category:DissenyXarxesLinux]] [[Category:LinuxAdministracioAvancada]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Clamav</id>
		<title>Clamav</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Clamav"/>
				<updated>2010-10-18T05:11:46Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Actualització de la base de dades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
== Instal·lació ==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install clamav&lt;br /&gt;
&lt;br /&gt;
=== Fitxers instal·lats ===&lt;br /&gt;
&lt;br /&gt;
Els paquets instal·lats són:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -l | grep clam&lt;br /&gt;
 ii  clamav                              0.96.1+dfsg-0ubuntu0.10.04.2      anti-virus utility for Unix - command-line i&lt;br /&gt;
 ii  clamav-base                         0.96.1+dfsg-0ubuntu0.10.04.2      anti-virus utility for Unix - base package&lt;br /&gt;
 ii  clamav-freshclam                    0.96.1+dfsg-0ubuntu0.10.04.2      anti-virus utility for Unix - virus database&lt;br /&gt;
 ii  libclamav6                          0.96.1+dfsg-0ubuntu0.10.04.2      anti-virus utility for Unix - library&lt;br /&gt;
&lt;br /&gt;
Els binaris:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L clamav | grep bin&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/[[clamscan]]&lt;br /&gt;
 /usr/bin/[[sigtool]]&lt;br /&gt;
 /usr/bin/[[clambc]]&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L [[clamav-freshclam]] | grep bin&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/freshclam&lt;br /&gt;
 /etc/apparmor.d/usr.bin.freshclam&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detecció de virus ==&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[clamscan]]&lt;br /&gt;
 /samba/departaments/Acta PRIMERA avaluació 09-10.doc: OK&lt;br /&gt;
 /samba/departaments/autorun.inf: Worm.Autorun-2191 FOUND&lt;br /&gt;
 &lt;br /&gt;
 ----------- SCAN SUMMARY -----------&lt;br /&gt;
 Known viruses: 843789&lt;br /&gt;
 Engine version: 0.96.1&lt;br /&gt;
 Scanned directories: 1&lt;br /&gt;
 Scanned files: 2&lt;br /&gt;
 Infected files: 1&lt;br /&gt;
 Data scanned: 0.13 MB&lt;br /&gt;
 Data read: 0.11 MB (ratio 1.17:1)&lt;br /&gt;
 Time: 3.791 sec (0 m 3 s)&lt;br /&gt;
&lt;br /&gt;
La cerca es pot fer recursiva amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo clamscan -r &lt;br /&gt;
&lt;br /&gt;
Podem fer que només ens mostri els fitxers infectats:&lt;br /&gt;
&lt;br /&gt;
 $ sudo clamscan -r -i&lt;br /&gt;
&lt;br /&gt;
I podem indicar que els esborri (compte!)&lt;br /&gt;
&lt;br /&gt;
 $ sudo clamscan -r -i --remove&lt;br /&gt;
&lt;br /&gt;
És millor posar els fitxers a una carpeta especifica:&lt;br /&gt;
&lt;br /&gt;
 $ sudo clamscan -r -i --move=/virus&lt;br /&gt;
&lt;br /&gt;
== Actualització de la base de dades ==&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[freshclam]]&lt;br /&gt;
 ClamAV update process started at Mon Oct 18 06:43:02 2010&lt;br /&gt;
 WARNING: Your ClamAV installation is OUTDATED!&lt;br /&gt;
 WARNING: Local version: 0.96.1 Recommended version: 0.96.3&lt;br /&gt;
 DON'T PANIC! Read http://www.clamav.net/support/faq&lt;br /&gt;
 main.cvd is up to date (version: 52, sigs: 704727, f-level: 44, builder: sven)&lt;br /&gt;
 daily.cvd is up to date (version: 12148, sigs: 140258, f-level: 53, builder: guitar)&lt;br /&gt;
 bytecode.cvd is up to date (version: 80, sigs: 10, f-level: 53, builder: edwin)&lt;br /&gt;
&lt;br /&gt;
== Configuració ==&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[dpkg-reconfigure]] clamav-base&lt;br /&gt;
&lt;br /&gt;
== Servidor clamd ==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install clamav-daemon&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L clamav-daemon  | grep bin&lt;br /&gt;
 /etc/apparmor.d/usr.sbin.clamd&lt;br /&gt;
 /usr/sbin&lt;br /&gt;
 /usr/sbin/clamd&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/clamdscan&lt;br /&gt;
 /usr/bin/clamdtop&lt;br /&gt;
 /usr/bin/clamconf&lt;br /&gt;
&lt;br /&gt;
== Documentació ==&lt;br /&gt;
&lt;br /&gt;
La podeu trobar al paquet:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install clamav-docs&lt;br /&gt;
&lt;br /&gt;
== Vegeu també ==&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
&lt;br /&gt;
:*https://help.ubuntu.com/community/ClamAV&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/FTP</id>
		<title>FTP</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/FTP"/>
				<updated>2010-10-12T16:27:39Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Script de còpies de seguretat automàtiques amb FTP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlantillaCurs&lt;br /&gt;
| curs                   = [[Serveis_de_xarxa_LOE]],[[LinuxAdministracioAvancada]], [[DissenyXarxesLinux]]&lt;br /&gt;
| fitxers                = {{FitxerIOriginalODT|url=https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/ServeisXarxa/|nom=gestioRemota}}&lt;br /&gt;
| repositori             = https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/ServeisXarxa/&lt;br /&gt;
| autors                 = [[Josep Vilaplana]], [[Sergi Tur Badenas]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==El protocol FTP==&lt;br /&gt;
&lt;br /&gt;
Algunes de les característiques principals del protocol [[FTP]] [[File Transfer Protocol]] són: &lt;br /&gt;
&lt;br /&gt;
:*Dissenyat per que els usuaris puguin copiar fitxers entre dos computadors via internet. Té en compte que cada computador:&lt;br /&gt;
:http://localhost/mediawiki/index.php?title=FTP&amp;amp;action=edit:*Pot tenir un sistema operatiu propi: No tenen per que ser iguals.&lt;br /&gt;
::*Els fitxers poden estar en sistemes d’emmagatzemament diferents.&lt;br /&gt;
::*Utilitza diferents codis de caràcters.&lt;br /&gt;
:*Probablement un dels protocols més antics d’Internet per transferir fitxers. Primera descripció en el RFC 114 (1971). Inicialment usat dins del M.I.T. Després adaptat a [[Arpanet]] i finalment en 1980 (RFC 765) es defineix sobre [[TCP/IP]].&lt;br /&gt;
&lt;br /&gt;
==Ports i tipus de connexions==&lt;br /&gt;
&lt;br /&gt;
Tal com podeu observar si executeu:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/services | grep ftp&lt;br /&gt;
 ftp-data	20/tcp&lt;br /&gt;
 ftp		21/tcp&lt;br /&gt;
&lt;br /&gt;
El protocol FTP utilitza dos ports (al costat del servidor). Cada port s'utilitza per un tipus de connexió. FTP estableix dos connexions:&lt;br /&gt;
&lt;br /&gt;
:*'''Connexió de control a través del port 21''': S'utilitza per controlar el protocol, per exemple iniciar sessió, executar ordres de control, etc. Aquesta connexió l'estableix sempre el client&lt;br /&gt;
:*'''Connexió de dades a través del port 20''': Quan s'executa (a través de la connexió de control) una ordre de transferència de dades, les dades s'envien al servidor FTP pel port 20. Aquesta connexió la pot iniciar el client ([[FTP passiu]]) o el servidor ([[FTP actiu]]).&lt;br /&gt;
&lt;br /&gt;
==FTP actiu vs FTP passiu==&lt;br /&gt;
&lt;br /&gt;
:*FTP Actiu&lt;br /&gt;
::* Connexió de control client servidor al Port 21 servidor&lt;br /&gt;
::* Connexió de dades iniciada des del servidor via port 21 a port sense privilegis (&amp;gt;1024) client&lt;br /&gt;
::* El FTP Actiu pot fallar en casos on el client està protegit d’Internet mitjançant un tallafocs. La majoria de encaminadors, com per exemple els encaminadors ADSL, utilitzen [[NAT]] ([[masquerade]]). El NAT no deixa iniciar connexions cap a l'interior de la xarxa del client.&lt;br /&gt;
&lt;br /&gt;
{{nota|Tingueu en compte que a més tampoc pot servir de gaire obrir ports ([[DNAT]]) ja que a priori no sabeu quin és el port que utilitzarà el client}}.&lt;br /&gt;
&lt;br /&gt;
:*FTP Passiu&lt;br /&gt;
::* Connexió de control client servidor Port 21 servidor&lt;br /&gt;
::* Connexió de dades iniciada des del client mitjançant un port superior a 1024. &lt;br /&gt;
::* Com qui és el client qui inicia la connexió, funciona correctament amb xarxes amb NAT.&lt;br /&gt;
&lt;br /&gt;
{{nota|Per defecte Linux (ordre ftp) treballa en mode passiu, en canvi Windows treballa en mode actiu}}&lt;br /&gt;
&lt;br /&gt;
==Protocol d'inici de sessió FTP==&lt;br /&gt;
&lt;br /&gt;
:* Servidor FTP obra port 21 esperant connexió client FTP.&lt;br /&gt;
:* Client FTP obra connexió des d’un port efímer (&amp;gt;1024) a port 21 del servidor.&lt;br /&gt;
:* Un cop s’ha establert la connexió, aquesta es manté durant tota la sessió FTP.&lt;br /&gt;
:* Client envia “USER” amb un nom d’usuari per poder entrar (log in)&lt;br /&gt;
:* Servidor envia codi 331 (=estic esperant contrasenya).&lt;br /&gt;
:* Client envia “PASS” amb la contrasenya corresponent.&lt;br /&gt;
:* S’inicia la sessió en el cas que l’usuari i contrasenya siguin correctes.&lt;br /&gt;
&lt;br /&gt;
==Protocol d'inici de sessió anònima FTP==&lt;br /&gt;
&lt;br /&gt;
:* Servidor FTP obra port 21 esperant connexió client FTP.&lt;br /&gt;
:* Client FTP obra connexió des d’un port efímer (&amp;gt;1024) a port 21 del servidor.&lt;br /&gt;
:* Client envia “USER” amb un nom d’usuari per poder entrar (log in)&lt;br /&gt;
:* Servidor envia codi 330 (=estic esperant contrasenya).&lt;br /&gt;
:* Client envia “PASS” amb el correu electrònic.&lt;br /&gt;
:* Freqüentment el servidor fa una cerca inversa de DNS per registrar la IP del client que es connecta. Si no es troba el nom de l’IP del client, el servidor pot prohibir l’accés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ordres===&lt;br /&gt;
&lt;br /&gt;
====Ordres d'autenticació====&lt;br /&gt;
&lt;br /&gt;
:*'''open host &amp;lt;port&amp;gt;''': Establim connexió amb el servidor localitzat a l’adreça d’internet host. Si hem especificat el paràmetre opcional port es connectarà al port esmentat del servidor. Automàticament inicia l’etapa d’usuari/contrasenya&lt;br /&gt;
:*'''user nom-usuari &amp;lt;contrasenya&amp;gt; &amp;lt;compte&amp;gt;''': Després d’una connexió oberta ens identifiquem al servidor FTP. Si no posem la contrasenya ens la demanarà. Si el servidor ens demana un compte, s’ens demanarà també el compte amb la contrasenya.&lt;br /&gt;
:*'''account &amp;lt;contrasenya&amp;gt;''': Aporta una altre contrasenya un cop hem fet login per accedir als recursos del servidor FTP. Si no podem la contrasenya ens la demanarà.&lt;br /&gt;
:*'''close o disconnect''': Tanquem la connexió establerta i per tant la sessió FTP. Si hi han macros  definides aquestes es perden.&lt;br /&gt;
&lt;br /&gt;
====Ordres de control====&lt;br /&gt;
&lt;br /&gt;
:* Llistar els continguts del servidor&lt;br /&gt;
:* Canviar el directori de treball del servidor&lt;br /&gt;
:* Obtenir fitxers del servidor.&lt;br /&gt;
:* Pujar fitxers del client al servidor.&lt;br /&gt;
:* Ordres Comandes locals com canviar el directori de treball del client (cd), etc.&lt;br /&gt;
:* Les comandes passen per la connexió de control (Port TCP 21)&lt;br /&gt;
:* Les comandes que demanen dades a retornar per part del servidor han d’establir una connexió de dades (Port TCP 20)&lt;br /&gt;
&lt;br /&gt;
'''Navegació''':&lt;br /&gt;
:*'''cd directori-remot''': Canvia el directori de treball de la màquina remota a directori-remot.&lt;br /&gt;
:*'''cdup''': Canvia el directori de treball de la màquina remota al directori pare.&lt;br /&gt;
:*'''lcd &amp;lt;directori-local&amp;gt;''': Canvia el directori de treball de la màquina local a directori-local si aquest argument és present. En cas contrari, es posa al directori de treball per omissió de l’usuari.&lt;br /&gt;
:*'''pwd''':  Mostra el nom del directori actual de la màquina remota.&lt;br /&gt;
:*'''ls o nlist &amp;lt;directori-remot&amp;gt; &amp;lt;fitxer-local&amp;gt;''': Mostra el contingut del directori de la màquina remota directori-remot. Si no&lt;br /&gt;
especifiquem directori-remot es mostra el contingut del directori de treball. Si &amp;lt;fitxer-local&amp;gt; és present s’enviarà la sortida de ls al fitxer especificat. Si aquest darrer argument és “-” ho enviarà a la pantalla. Si el darrer argument no està també s’enviarà a pantalla.&lt;br /&gt;
:*'''mdir o mls &amp;lt;fitxers-remots&amp;gt; &amp;lt;fitxer-local&amp;gt;''': Comportament idèntic a ’ls’ excepte que podem especificar múltiples fitxers remots.&lt;br /&gt;
&lt;br /&gt;
====Ordres de gestió i transferència de fitxers====&lt;br /&gt;
&lt;br /&gt;
'''Transmissió de fitxers''':&lt;br /&gt;
:*'''get o recv fitxer-remot fitxer-local''': Rep el fitxer fitxer-remot de la màquina remota i guarda’l en la màquina local amb el nom de &amp;lt;fitxer-local&amp;gt; si és present. En cas contrari mantindrà el seu nom original.&lt;br /&gt;
:*'''newer''': Rep el fitxer fitxer-remot de la màquina remota i guarda’l en la màquina local en el cas que la data de modificació de fitxer-remot sigui més recent que el fitxer de la màquina local. Si no existeix el fitxer en la màquina local es considerarà que és nou. Es guardarà amb el nom de &amp;lt;fitxer-local&amp;gt; si el paràmetre és present. En cas contrari mantindrà el seu nom original.&lt;br /&gt;
:*'''put o send fitxer-local &amp;lt;fitxer-remot&amp;gt;''': Guarda el fitxer fitxer-local a la màquina remota amb el nom de fitxer &amp;lt;fitxer-remot&amp;gt; si és present. En cas contrari mantindrà el seu nom original.&lt;br /&gt;
:*'''mget fitxers-remots''': Rep els fitxers resultants de l’expansió de fitxers-remots de la màquina remota i guarda’ls en la màquina local.&lt;br /&gt;
:*'''glob''': commuta a actiu (on) o no actiu (off) l expansió dels noms dels fitxers. És a dir, si els metacaràcters com “*” són interpretats i expandits o es prenen de forma literal com a part del nom de fitxer.&lt;br /&gt;
:*'''mput fitxers-locals''': Guarda el fitxers resultants de l’expansió de fitxers-locals a la màquina remota.&lt;br /&gt;
&lt;br /&gt;
===Transferències en mode text i transferències en mode binari===&lt;br /&gt;
&lt;br /&gt;
:*'''type tipus''': estableix el tipus de fitxer en la transferència. tipus serà ascii o binari (image) ebcdic o “local byte size” (per PDP’s).&lt;br /&gt;
::* ascii = type ascii&lt;br /&gt;
::* binary = type binary&lt;br /&gt;
:*'''mode mode''': Estableix el mode de transferència en la connexió (stream, block,compressed)&lt;br /&gt;
:*'''struct mode''': Estableix l’estructura del fitxer en la transferència (file (cap estructura), record, page)&lt;br /&gt;
:*'''form format''':&lt;br /&gt;
&lt;br /&gt;
==Servidor proftpd==&lt;br /&gt;
&lt;br /&gt;
===Instal·lació===&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[apt-get]] install proftpd&lt;br /&gt;
&lt;br /&gt;
==Servidor FTPD ==&lt;br /&gt;
&lt;br /&gt;
===Instal·lació===&lt;br /&gt;
&lt;br /&gt;
La configuració d'un servidor FTP en Linux és, de forma anàloga al cas de [[Telnet]], molt simple. Només cal instal·lar el paquet del dimoni ftp:&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install ftpd&lt;br /&gt;
&lt;br /&gt;
Els usuaris són els intrínsecs del sistema [[Unix]]. Per tant, per accedir al servidor FTP només cal entrar la següent url en un navegador (p.e. [[Firefox]] o [[Konqueror]]):&lt;br /&gt;
&lt;br /&gt;
 ftp://localhost &lt;br /&gt;
&lt;br /&gt;
o &lt;br /&gt;
 &lt;br /&gt;
 ftp://ip-servidor_ftp&lt;br /&gt;
&lt;br /&gt;
e introduir el nom d'un usuari del sistema i la clau i accedirem al home d'aquest usuari.&lt;br /&gt;
&lt;br /&gt;
El gran inconvenient d'FTP és la seguretat, ja que les comunicacions entre client i servidor no són xifrades. Per aquesta raó, es va crear el protocol [[SFTP]]  (secure-ftp) que utilitza xifratge en les comunicacions. A l'article [[Gestió remota]] parlarem de les diferents opcions d'accés remot de forma segura a servidors (incloent sftp).&lt;br /&gt;
&lt;br /&gt;
===Gestió d'usuaris i grups===&lt;br /&gt;
&lt;br /&gt;
Els usuaris del servidot FTP són els usuaris del sistema Linux on està instal·lat el sistema. Consulteu les [[ordres de gestió d'usuaris]] per tenir més informació sobre com gestionar [[comptes d'usuari Linux]]:&lt;br /&gt;
&lt;br /&gt;
:*[[useradd]]&lt;br /&gt;
:*[[userdel]]&lt;br /&gt;
:*[[usermod]]&lt;br /&gt;
&lt;br /&gt;
A sistemes [[Debian]] com Ubuntu a més podeu utilitzar:&lt;br /&gt;
&lt;br /&gt;
:*[[adduser]]&lt;br /&gt;
&lt;br /&gt;
====Gàbies (jails)====&lt;br /&gt;
&lt;br /&gt;
Per qüestions de seguretat sovint s'utilitzen [[jail|jails]] (gàbies) per tal de controlar l'accés dels usuaris al sistema. Cal tenir en compte que un compte d'usuari de Linux amb la configuració per defecte pot navegar per gran part del sistema. Consulteu l'ordre [[chroot]].&lt;br /&gt;
&lt;br /&gt;
Amb el servidor vsftpd és molt senzill configurar una gàbia:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[joe]] /etc/vsftpd/vsftpd.conf&lt;br /&gt;
&lt;br /&gt;
Descomenteu la línia:&lt;br /&gt;
&lt;br /&gt;
 chroot_local_user=YES&lt;br /&gt;
&lt;br /&gt;
Apliqueu els canvis:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/vsftpd restart&lt;br /&gt;
&lt;br /&gt;
*http://www.cyberciti.biz/tips/vsftp-chroot-users-limit-to-only-their-home-directory.html&lt;br /&gt;
&lt;br /&gt;
====Permisos i quotes====&lt;br /&gt;
&lt;br /&gt;
Com ja hem comentat, els usuaris d'un servei FTP són usuaris intrínsecs del sistema Linux on s'instal·len i per tant la gestió dels permisos del usuaris d'FTP és la habitual [[gestió de permisos Linux]]. Consulteu les ordres:&lt;br /&gt;
&lt;br /&gt;
:*[[chown]]&lt;br /&gt;
:*[[chmod]]&lt;br /&gt;
&lt;br /&gt;
Pel que fa a les quotes podeu utilitzar el sistema de [[quotes de Linux]]&lt;br /&gt;
&lt;br /&gt;
====Gestionar l'ample de banda====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Configuració servidor FTP Anònim===&lt;br /&gt;
&lt;br /&gt;
Un cop instal·lat el dimoni FTP, per configurar un accés anònim s'ha de crear una compte d'usuari anomenada ftp. La home d'aquest usuari serà el directori base del repositori FTP i finalment s'ha de configurar el repositori ftp per tal de controlar la seguretat del servidor. Aquest link és indica les passes a seguir.&lt;br /&gt;
&lt;br /&gt;
'''Enllaços''':&lt;br /&gt;
&lt;br /&gt;
* [http://es.tldp.org/COMO-INSFLUG/COMOs/Ftp-Anonimo-Como/Ftp-Anonimo-Como-1.html FTP-Anonimo-COMO]&lt;br /&gt;
* [http://www.faqs.org/docs/securing/chap29sec296.html Chroot en FTP]&lt;br /&gt;
* [http://www.rediris.es/cert/doc/docu_rediris/ftpconfig.es.html Configuración de un FTP Anónimo. Rediris]&lt;br /&gt;
&lt;br /&gt;
== Client FTP ==&lt;br /&gt;
&lt;br /&gt;
=== Trivial FTP. tftp ===&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[apt-get]] install tftp&lt;br /&gt;
&lt;br /&gt;
Podeu consultar un exemple d'ús a:&lt;br /&gt;
 &lt;br /&gt;
 [[Nanostation#Firmware_recovery]]&lt;br /&gt;
&lt;br /&gt;
{{nota| També podeu instal·lar el paquet [[tftp-hpa]]}}&lt;br /&gt;
&lt;br /&gt;
==Script de còpies de seguretat automàtiques amb FTP==&lt;br /&gt;
&lt;br /&gt;
 $ sudo joe /path/to/ftp.backup.script.sh&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 USERNAME=&amp;quot;your-ftp-user-name&amp;quot;&lt;br /&gt;
 PASSWORD=&amp;quot;your-ftp-password&amp;quot;&lt;br /&gt;
 SERVER=&amp;quot;your-ftp.server.com&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
 # local directory to pickup *.tar.gz file&lt;br /&gt;
 FILE=&amp;quot;/tmp/backup&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
 # remote server directory to upload backup&lt;br /&gt;
 BACKUPDIR=&amp;quot;/pro/backup/sql&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
 # login to remote server&lt;br /&gt;
 ftp -n -i $SERVER &amp;lt;&amp;lt;EOF&lt;br /&gt;
 user $USERNAME $PASSWORD&lt;br /&gt;
  cd $BACKUPDIR&lt;br /&gt;
 mput $FILE/*.tar.gz&lt;br /&gt;
 quit&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
 $ [[chmod]] +x /path/to/ftp.backup.script.sh&lt;br /&gt;
&lt;br /&gt;
Còpia tots els fitxers *.tar.gz d'una carpeta local a un servidor FTP. Configureu [[cron]]&lt;br /&gt;
&lt;br /&gt;
 15 30 * * * /path/to/ftp.backup.script.sh&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
*[[filezilla]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/CUPS_i_Samba</id>
		<title>CUPS i Samba</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/CUPS_i_Samba"/>
				<updated>2010-10-03T08:03:32Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Redirecció a Samba i CUPS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Samba i CUPS]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/BusyBox</id>
		<title>BusyBox</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/BusyBox"/>
				<updated>2010-08-30T09:59:02Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Es crea la pàgina amb «És una terminal bàsica.  La podeu trobar per exemple, durant la instal·lació d'Ubuntu a les consoles virtuals Ctrl+Alt+F2 i Ctrl+Alt+F3  == Instal·lació Ubuntu ==  …».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;És una terminal bàsica.&lt;br /&gt;
&lt;br /&gt;
La podeu trobar per exemple, durant la instal·lació d'Ubuntu a les consoles virtuals Ctrl+Alt+F2 i Ctrl+Alt+F3&lt;br /&gt;
&lt;br /&gt;
== Instal·lació Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
=== Configuració de la xarxa ===&lt;br /&gt;
&lt;br /&gt;
L'ordre [[ifconfig]] no està disponible. Cal utilitzar [[ip]]:&lt;br /&gt;
&lt;br /&gt;
 # ip address add 192.168.0.4 dev eth0&lt;br /&gt;
&lt;br /&gt;
A diferencia de ifconfig no configura la ruta per a la xarxa local. L'ordre route si la teniu:&lt;br /&gt;
&lt;br /&gt;
 $ sudo route -n&lt;br /&gt;
&lt;br /&gt;
Per afegir la ruta local:&lt;br /&gt;
&lt;br /&gt;
 $ ip route add 192.168.0.0/24 dev eth0&lt;br /&gt;
&lt;br /&gt;
Ara només cal afegir el default gw:&lt;br /&gt;
&lt;br /&gt;
 $ sudo route add default gw 192.168.0.1&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/DHCP</id>
		<title>DHCP</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/DHCP"/>
				<updated>2010-07-14T09:58:06Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Configuració Servidor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlantillaCurs&lt;br /&gt;
| curs                   = [[DissenyXarxesLinux]], [[LinuxAdministracioAvancada]]&lt;br /&gt;
| fitxers                = {{FitxerIOriginalODT|url=https://anonymus@svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada/moodle/sessio6/transparencies|nom=ServidorsDHCPiDNS}}&lt;br /&gt;
| repositori             = https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/LinuxAdministracioAvan%c3%a7ada&lt;br /&gt;
| autors                 = [[Sergi Tur Badenas]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Introducció=&lt;br /&gt;
&lt;br /&gt;
Una de les feines més pesades del administrador de xarxes, es haver d'anar a equip a equip per tal de realitzar la configuració IP de les màquines d'una xarxa. Ja sigui per què s'ha d'incorporar un nou equip a la xarxa o per canvi d'estructura de la xarxa, si la xarxa creix es fa més complicat mantenir-la. Es pot posar fi a les molésties que tot això implica, configurant en pocs minuts la xarxa amb DHCP. &lt;br /&gt;
&lt;br /&gt;
El grup de treball de la Internet Engineering Task Force, va decidir resoldre el problema desenvolupant un Protocol per Configuració Dinàmica de Terminals de xarxa anomenat [http://es.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP]. Aquest protocol esta basat en un altre d'anterior ([http://en.wikipedia.org/wiki/BOOTP BOOTP] Boostrap Protocol) però amb unes característiques millors. El protocol està descrit en el [http://tools.ietf.org/html/rfc2131 RFC 2131].&lt;br /&gt;
&lt;br /&gt;
El servidor DHCP proporciona les dades TCP/IP que ordinadors clients necessiten per connectar-se a la xarxes ([[adreça IP]], [[màscara de xarxa]], [[gateway]], servidors [[DNS]], etc.) facilitant el manteniment del ordinadors clients i si hi hagués algun canvi de configuració no caldria anar a cada equip modificant les dades [[TCP/IP]].&lt;br /&gt;
&lt;br /&gt;
=Altes protocols similars=&lt;br /&gt;
&lt;br /&gt;
Actualment DHCP és el protocol més utilitzat per configurar nodes de xarxa però històricament s'han utilitzat altres sistemes/protocols com:&lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Bootp Bootp]: És un altre sistema per obtenir una IP de forma automàtica.&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Reverse_Address_Resolution_Protocol RARP]: Reverse ARP és el protocol invers a ARP i permet obtenir una adreça IP a partir d'una adreça MAC. És un sistema &amp;quot;similar&amp;quot; a utilitzar DHCP amb assignació fixa d'adreces IP segons la MAC dels clients.&lt;br /&gt;
&lt;br /&gt;
Altres protocols relacionats són:&lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Preboot_Execution_Environment Preboot Execution Environment (PXE)]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Zeroconf Zero Configuration Networking (http://en.wikipedia.org/wiki/Preboot_Execution_Environment)]&lt;br /&gt;
&lt;br /&gt;
Per a més informació consulteu la secció [http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#See_also See Also] de l'article sobre DHCP de la wikipedia.&lt;br /&gt;
&lt;br /&gt;
=Què és?=&lt;br /&gt;
'''DHCP''' és un servei que es fa servir per:&lt;br /&gt;
*entregar IPs als clients de la xarxa&lt;br /&gt;
*compatibilizar amb BOOTP per el booteix de màquines Diskless&lt;br /&gt;
'''DHCP''' té dos components principals:&lt;br /&gt;
*&amp;quot;protocol&amp;quot; que serveix per entregar configuracions específiques per cada host desde un servidor DHCP.&lt;br /&gt;
*&amp;quot;mecanisme&amp;quot; que serveix per la localització de direccions de xarxa a hosts.&lt;br /&gt;
&lt;br /&gt;
Però sobre tot, DHCPP és un model de client-servidor.&lt;br /&gt;
&lt;br /&gt;
=Com funciona?=&lt;br /&gt;
&lt;br /&gt;
*L'interacció entre client-servidor molt resumida del seu funcionament és la següent (més informació, RFC1531 - RFC2131):&lt;br /&gt;
&lt;br /&gt;
#El client envia un paquet de broadcast a tota la xarxa amb destinació el port 67. Aquest missatge s'anomena DHCPDISCOVER i s'utilitza per localitzar el servidor de DHCP de la xarxa.&lt;br /&gt;
#El servidor DHCP que està escoltant pel port 67 contesta amb el paquet '''DHCPOFFER''' que conté les dades TCP/IP que el client necessita, aquest paquet també s'envia a tota la xarxa (cal tenir en compte que el node client encara no esta configurat. El port de destinació és el 68.&lt;br /&gt;
#El client, que està escoltant per el port 68, rep les dades i envía un missatge DHCPREQUEST per comunicar-li al servidor que acepta les dades.&lt;br /&gt;
#El servidor envía el paquet DHCPAK per dir-li que està conforme.&lt;br /&gt;
&lt;br /&gt;
[[Imatge:DHCPProtocol.png]]&lt;br /&gt;
&lt;br /&gt;
Consulteu l'apartat [http://en.wikipedia.org/wiki/DHCP#Technical_details Technical Details] de l'article sobre DHCP a la wikipedia.&lt;br /&gt;
&lt;br /&gt;
==Paquets DHCPINFORM==&lt;br /&gt;
&lt;br /&gt;
Utilitzar per clients Windows per obtenir informació sobre paràmetres de xarxa DHCP, tot i no estar configurats per DHCP.&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.tcpipguide.com/free/t_DHCPParameterConfigurationProcessForClientsWithNon-2.htm&lt;br /&gt;
&lt;br /&gt;
==Ports i Protocol==&lt;br /&gt;
&lt;br /&gt;
DHCP utilitza el protocol [http://es.wikipedia.org/wiki/User_Datagram_Protocol UDP]. &lt;br /&gt;
&lt;br /&gt;
El port que utilitza el servidor de DHCP és el '''67'''.&lt;br /&gt;
&lt;br /&gt;
Al fitxer '''/etc/services''' el port apareix amb el nom del protocol [http://en.wikipedia.org/wiki/Bootp bootp].&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/services | grep bootp&lt;br /&gt;
 bootps          67/tcp                          # BOOTP server&lt;br /&gt;
 bootps          67/udp&lt;br /&gt;
 bootpc          68/tcp                          # BOOTP client&lt;br /&gt;
 bootpc          68/udp&lt;br /&gt;
&lt;br /&gt;
Com podeu veure el client també utilitza un port concret: el port '''68'''.&lt;br /&gt;
&lt;br /&gt;
Per comprovar si un servidor de DHCP funciona podeu utilitzar la comanda NMAP:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nmap -sU 192.168.1.1 -p 67&lt;br /&gt;
 Starting Nmap 4.20 ( http://insecure.org ) at 2008-01-24 12:56 CET&lt;br /&gt;
 Interesting ports on mygateway1.ar7 (192.168.1.1):&lt;br /&gt;
 PORT   STATE         SERVICE&lt;br /&gt;
 67/udp open|filtered dhcps&lt;br /&gt;
 MAC Address: 00:15:E9:CA:34:A5 (D-Link) &lt;br /&gt;
 &lt;br /&gt;
 Nmap finished: 1 IP address (1 host up) scanned in 0.650 seconds&lt;br /&gt;
&lt;br /&gt;
==Servidors DHCP Autoritaris==&lt;br /&gt;
&lt;br /&gt;
 '''authoritative''': adjetivo. 1   (de confianza, oficial) autorizado,-a. 2   Pol, etc, autoritario,-a&lt;br /&gt;
&lt;br /&gt;
Un servidor DHCP és autoritari si un client demana una IP desconeguda o incorrecta al servidor per a un  determinat segment de xarxa i el servidor envia un '''DHCPNAK''' indicant al client que deixi d'utilitzar aquesta IP.&lt;br /&gt;
&lt;br /&gt;
Per tal que el servidor tingui aquest comportament cal utilitzar la directiva:&lt;br /&gt;
&lt;br /&gt;
 authoritative;&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': El servidor DHCP d'ISC ens avisa durant la instal·lació que el seu servidor a la versió 3 és per defecte no autoritari.&lt;br /&gt;
&lt;br /&gt;
 '''IMPORTANT''': Si no hi han més servidors de DHCP a la xarxa cal posar authoritative en la configuració de DHCP.&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://oldwww.isc.org/index.pl?/sw/dhcp/authoritative.php&lt;br /&gt;
&lt;br /&gt;
=Característiques=&lt;br /&gt;
&lt;br /&gt;
:*DHCP són les sigles de l'anglès [[Protocol de Configuració Dinàmica de Màquines]] ( Dynamic Host Configuration&lt;br /&gt;
Protocol).&lt;br /&gt;
:*És un protocol de xarxa, on un servidor proveeix dels paràmetres necessaris de configuració i assignació&lt;br /&gt;
d'adreces IP a les màquines d'una xarxa.&lt;br /&gt;
:*És un estàndard en xarxes que també podem trobar a tots els sistemes operatius&lt;br /&gt;
&lt;br /&gt;
=Avantatges i inconvenients=&lt;br /&gt;
&lt;br /&gt;
*'''Avantatges'''&lt;br /&gt;
Al instal·lar un sistema DHCP en la xarxa, treu treball de configuració per la xarxa, només es configura un servidor  per entregar els números IP per els clients de xarxa. Totes les màquines demanen informació de la xarxa i es configuren automàticament, s'entregan tots els paràmetres bàsics de TCP/IP. És vell però molt recomanable per a una administració fàcil.&lt;br /&gt;
&lt;br /&gt;
*'''Desavantatges'''&lt;br /&gt;
Al entregar els números IP dins de la xarxa, havent un DNS, no hi ha un pont intermig entre DNS i DHCP directe. Es té que agregar les màquines &amp;quot;a mà&amp;quot; en el DNS.&lt;br /&gt;
&lt;br /&gt;
=Terminologia. Definició de conceptes=&lt;br /&gt;
&lt;br /&gt;
:*'''range (scope)''': conjunt d'adreces IP que gestiona un servidor DHCP.&lt;br /&gt;
:*'''lease o préstec''': és el període de temps que s'assigna una adreça IP a un client de la xarxa. Els clients poden ampliar els préstecs en peticions posteriors. També és possible que els clients informin al servidor quan l'adreça IP queda lliure. Els clients poden demanar un préstec &amp;quot;infinit&amp;quot; i depèn de la configuració del servidor que aquests préstecs siguin acceptats o no.&lt;br /&gt;
:*'''binding''': és una col·lecció de paràmetres de configuració que inclou com a mínim una adreça IP que s'associa (bound) a un client DHCP. Els bindings són gestionats pels servidors de DHCP.&lt;br /&gt;
:*'''exclusion''': és una adreça o rang d'adreces que no poden ser gestionades per un servidor DHCP. Per exemple si s'exclou el rang '''192.168.0.1-192.168.0.10''' l'única forma que un ordinador pot obtenir aquesta IP és assignant-se-la estàticament. Amb el servidor DHCP del ISC les exclusions no es defineixen implícitament, és a dir, totes les màquines que no estan als rangs definits no són gestionades pel servidor DHCP. &lt;br /&gt;
:*'''reservation''': és una IP que s'ha reservat a una adreça [[MAC]] concreta. Consulteu: [[DHCP#Adre.C3.A7a_IP_fixa_per_MAC]]&lt;br /&gt;
:*'''rogue DHCP servers''': http://en.wikipedia.org/wiki/Rogue_DHCP, http://freshmeat.net/projects/roguedetect/&lt;br /&gt;
&lt;br /&gt;
{{nota| La terminologia exclusions i reservation no s'indica en cap moment al RFC de DHCP. Són termes utilitzats per servidors DHCP privatius com els de Microsoft}}&lt;br /&gt;
&lt;br /&gt;
=Instal·lació=&lt;br /&gt;
&lt;br /&gt;
==Instal·lació del client==&lt;br /&gt;
&lt;br /&gt;
La majoria de distribucions Linux modernes ja porten instal·lat el client de DHCP. Cal tenir en compte que la majoria de xarxes LAN [[SoHo]] ([[Small Office Home Office]]) es configuren amb DHCP.&lt;br /&gt;
&lt;br /&gt;
En tot cas el paquet que proporciona el suport client per a DHCP, a sistemes  de la família [[Debian]] és [[dhcp3-client]]: &lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[apt-get]] install dhcp3-client&lt;br /&gt;
&lt;br /&gt;
Els fitxers proporcionats són:&lt;br /&gt;
&lt;br /&gt;
 $ [[dpkg -L]] dhcp3-client&lt;br /&gt;
 /.&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/dhcp3&lt;br /&gt;
 /etc/dhcp3/dhclient-enter-hooks.d&lt;br /&gt;
 /etc/dhcp3/dhclient-enter-hooks.d/debug&lt;br /&gt;
 /etc/dhcp3/dhclient-exit-hooks.d&lt;br /&gt;
 /etc/dhcp3/dhclient-exit-hooks.d/debug&lt;br /&gt;
 /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-routes&lt;br /&gt;
 /etc/dhcp3/dhclient.conf&lt;br /&gt;
 /etc/apparmor.d&lt;br /&gt;
 /etc/apparmor.d/force-complain&lt;br /&gt;
 /etc/apparmor.d/sbin.dhclient3&lt;br /&gt;
 /etc/network&lt;br /&gt;
 /etc/network/if-pre-up.d&lt;br /&gt;
 /var&lt;br /&gt;
 /var/run&lt;br /&gt;
 /var/lib&lt;br /&gt;
 /var/lib/dhcp3&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/share&lt;br /&gt;
 /usr/share/man&lt;br /&gt;
 /usr/share/man/man5&lt;br /&gt;
 /usr/share/man/man5/dhclient.conf.5.gz&lt;br /&gt;
 /usr/share/man/man5/dhclient.leases.5.gz&lt;br /&gt;
 /usr/share/man/man8&lt;br /&gt;
 /usr/share/man/man8/dhclient3.8.gz&lt;br /&gt;
 /usr/share/man/man8/dhclient-script.8.gz&lt;br /&gt;
 /usr/share/lintian&lt;br /&gt;
 /usr/share/lintian/overrides&lt;br /&gt;
 /usr/share/lintian/overrides/dhcp3-client&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/dhcp3-client&lt;br /&gt;
 /usr/share/doc/dhcp3-client/README.Debian&lt;br /&gt;
 /usr/share/doc/dhcp3-client/copyright&lt;br /&gt;
 /usr/share/doc/dhcp3-client/NEWS.Debian.gz&lt;br /&gt;
 /usr/share/doc/dhcp3-client/changelog.Debian.gz&lt;br /&gt;
 /sbin&lt;br /&gt;
 '''/sbin/dhclient3'''&lt;br /&gt;
 '''/sbin/dhclient-script'''&lt;br /&gt;
 /usr/share/man/man8/dhclient.8.gz&lt;br /&gt;
 '''/sbin/dhclient'''&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
==Instal·lació del servidor==&lt;br /&gt;
&lt;br /&gt;
A sistemes de la família [[Debian]] es pot instal·lar el servidor DHCP del [[ISC]] des dels [[repositoris]] utilitzant l'ordre [[apt-get]]:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install dhcp3-server&lt;br /&gt;
&lt;br /&gt;
=Configuració DHCP=&lt;br /&gt;
&lt;br /&gt;
==Configuració Client==&lt;br /&gt;
&lt;br /&gt;
La configuració del client és la més fàcil. Per configurar un equip GNU/Linu conectat a un servidor DHCP, només es necessari dir-li a la targeta de xarxa que treballarà amb DHCP.&lt;br /&gt;
*Configuració targeta de xarxa:&lt;br /&gt;
# Anar a ''Sistema - Administració - Xarxa''&lt;br /&gt;
#Seleccionar interfície Ethernet i fen clic a ''Propietats''.&lt;br /&gt;
#Es pot canviar la forma en que l'interfície es configura (DHCP o manualment).&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article:&lt;br /&gt;
*[[Tutorial_pas_a_pas_configuraci%C3%B3_xarxa_en_Ubuntu#Configurant_una_adre.C3.A7a_IP_amb_DHCP | Configurant una adreça IP amb DHCP]]&lt;br /&gt;
&lt;br /&gt;
===Exemple de fitxer interfaces===&lt;br /&gt;
&lt;br /&gt;
Un exemple de com configurar el [[Xarxes_Linux#.2Fetc.2Fnetwork.2Finterfaces| fitxer '''interfaces''']] per tal d'utilitzar dhcp:&lt;br /&gt;
&lt;br /&gt;
 $ cat '''/etc/network/interfaces'''&lt;br /&gt;
 auto lo&lt;br /&gt;
 iface lo inet loopback &lt;br /&gt;
 &lt;br /&gt;
 auto eth0&lt;br /&gt;
 '''iface eth0 inet dhcp'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===dhcp3-client===&lt;br /&gt;
&lt;br /&gt;
El paquet amb el client de dhcp és '''dhcp3-client'''. Normalment ja esta instal·lat. Si executem&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L dhcp3-client &lt;br /&gt;
 /.&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/dhcp3&lt;br /&gt;
 [[/etc/dhcp3/dhclient-enter-hooks.d]]&lt;br /&gt;
 [[/etc/dhcp3/dhclient-enter-hooks.d/debug]]&lt;br /&gt;
 /etc/dhcp3/dhclient-exit-hooks.d&lt;br /&gt;
 [[/etc/dhcp3/dhclient-exit-hooks.d/debug]]&lt;br /&gt;
 [[/etc/dhcp3/dhclient.conf]]&lt;br /&gt;
 /var&lt;br /&gt;
 /var/run&lt;br /&gt;
 /var/lib&lt;br /&gt;
 /var/lib/dhcp3&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/share&lt;br /&gt;
 /usr/share/man&lt;br /&gt;
 /usr/share/man/man5&lt;br /&gt;
 /usr/share/man/man5/dhclient.conf.5.gz&lt;br /&gt;
 /usr/share/man/man5/dhclient.leases.5.gz&lt;br /&gt;
 /usr/share/man/man8&lt;br /&gt;
 /usr/share/man/man8/dhclient3.8.gz&lt;br /&gt;
 /usr/share/man/man8/dhclient-script.8.gz&lt;br /&gt;
 /usr/share/lintian&lt;br /&gt;
 /usr/share/lintian/overrides&lt;br /&gt;
 /usr/share/lintian/overrides/dhcp3-client&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/dhcp3-client&lt;br /&gt;
 /usr/share/doc/dhcp3-client/README.Debian&lt;br /&gt;
 /usr/share/doc/dhcp3-client/copyright&lt;br /&gt;
 /usr/share/doc/dhcp3-client/changelog.Debian.gz&lt;br /&gt;
 /sbin&lt;br /&gt;
 [[/sbin/dhclient3]]&lt;br /&gt;
 [[/sbin/dhclient-script]]&lt;br /&gt;
 /lib&lt;br /&gt;
 /lib/dhcp3-client&lt;br /&gt;
 [[/lib/dhcp3-client/call-dhclient-script]]&lt;br /&gt;
 /usr/share/man/man8/dhclient.8.gz&lt;br /&gt;
 [[/sbin/dhclient]]&lt;br /&gt;
&lt;br /&gt;
Podem veure els fitxers que formen part del paquet. &lt;br /&gt;
&lt;br /&gt;
'''Fitxers executables''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L dhcp3-client | grep bin&lt;br /&gt;
 /sbin&lt;br /&gt;
 /sbin/dhclient3&lt;br /&gt;
 /sbin/dhclient-script&lt;br /&gt;
 /sbin/dhclient&lt;br /&gt;
&lt;br /&gt;
'''Fitxers de configuració''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L dhcp3-client | grep etc&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/dhcp3&lt;br /&gt;
 /etc/dhcp3/dhclient-enter-hooks.d&lt;br /&gt;
 /etc/dhcp3/dhclient-enter-hooks.d/debug&lt;br /&gt;
 /etc/dhcp3/dhclient-exit-hooks.d&lt;br /&gt;
 /etc/dhcp3/dhclient-exit-hooks.d/debug&lt;br /&gt;
 /etc/dhcp3/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
===Comanda dhclient===&lt;br /&gt;
&lt;br /&gt;
La comanda [[dhclient]] és el client DHCP.&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*[http://linux.die.net/man/8/dhclient man dhclient]&lt;br /&gt;
&lt;br /&gt;
====dhclient3====&lt;br /&gt;
&lt;br /&gt;
Les comandes dhclient i dhclient3 són equivalents. De fet dhclient és un [[enllaç simbòlic]] a dhclient3:&lt;br /&gt;
&lt;br /&gt;
 $ ls -la /sbin/dhclient&lt;br /&gt;
 lrwxrwxrwx 1 root root 9 2008-11-18 08:54 /sbin/dhclient -&amp;gt; dhclient3 &lt;br /&gt;
&lt;br /&gt;
Per tant, de fet estem utilitzant la versió 3 de la comanda dclient.&lt;br /&gt;
&lt;br /&gt;
Tal i com ens confirma l'ordre [[file]]:&lt;br /&gt;
&lt;br /&gt;
 $ file /sbin/dhclient3&lt;br /&gt;
 /sbin/dhclient3: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped&lt;br /&gt;
&lt;br /&gt;
[[dhclient3]] és un executable binari.&lt;br /&gt;
&lt;br /&gt;
El client es configura al fitxer [[/etc/dhcp3/dhclient.conf]].&lt;br /&gt;
&lt;br /&gt;
L'ordre dhclient sense opcions intenta configurar totes les targetes de xarxa que suportin broadcast:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dhclient&lt;br /&gt;
&lt;br /&gt;
Podem indicar només una targeta de xarxa amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dhclient eth0&lt;br /&gt;
&lt;br /&gt;
Un cop s'ha aconsguit una configuració el client de dhcp passa a executar-se a segon terme, sent un domini que s'encarrega de la gestió del client DHCP (per exemple és l'encarregat de renovar el préstec si el temps de préstec caduca). Del manual:&lt;br /&gt;
&lt;br /&gt;
 The DHCP client will normally run in the foreground until it has configured an interface, and then will revert to running in the background.   To run force  dhclient&lt;br /&gt;
 to  always  run as a foreground process, the -d flag should be specified.  This is useful when running the client under a debugger, or when running it out of inittab&lt;br /&gt;
 on System V systems.&lt;br /&gt;
&lt;br /&gt;
Podeu veure el client en execució amb:&lt;br /&gt;
&lt;br /&gt;
 $ ps aux | grep dhclient&lt;br /&gt;
 root     13097  0.0  0.0   2144   312 ?        Ss   18:25   0:00 dhclient eth0&lt;br /&gt;
&lt;br /&gt;
Si l'heu executat manualment o:&lt;br /&gt;
&lt;br /&gt;
 $ ps aux | grep dhclient&lt;br /&gt;
 root      1398  0.0  0.0   2140   944 ?        S    11:31   0:00 /sbin/dhclient -d -sf /usr/lib/NetworkManager/nm-dhcp-client.action -pf /var/run &lt;br /&gt;
 /dhclient-eth0.pid -lf /var/lib/dhcp3/dhclient-b7d96c9c-0c95-49fd-9ea5-7f6a6563ed62-eth0.lease -cf /var/run/nm-dhclient-eth0.conf eth0&lt;br /&gt;
&lt;br /&gt;
si ho fa [[Network Manager]] o:&lt;br /&gt;
&lt;br /&gt;
 $ ps aux | grep dhclient&lt;br /&gt;
 root     13948  0.0  0.0   2144   308 ?        Ss   18:44   0:00 dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp3/dhclient.eth0.leases eth0&lt;br /&gt;
&lt;br /&gt;
{{nota| Tingueu en compte que podeu perfectament tenir dos clients en execució si combineu comandes amb sistemes com Network-manager o la configuració clàsica de xarxa a Linux. Heu de tenir en compte que això pot provocar que us caduqui un configuració manual per culpa de la configuració del sistema. Podeu matar els clients de sobres amb [[kill]]}}&lt;br /&gt;
&lt;br /&gt;
Els missatges de configuració inicials apareixen per la línia d'ordres però un cop passa a executar-se com dimoni els missatges s'envien a [[syslog]].&lt;br /&gt;
&lt;br /&gt;
El client dhcp utilitza els següents fitxers:&lt;br /&gt;
&lt;br /&gt;
:*'''Configuració''': [[/etc/dhcp3/dhclient.conf]]&lt;br /&gt;
:*'''Base de dades de préstecs''': [[/var/lib/dhcp3/dhclient.leases]]&lt;br /&gt;
:*'''Proces ID ([[PID]])''': /var/run/dhclient.pid&lt;br /&gt;
:*'''Configuració de les targetes de xarxa''': [[/sbin/dhclient-script]]&lt;br /&gt;
&lt;br /&gt;
Es poden canviar aquests fitxers per defecte amb els paràmetres '''-cf,  -lf,  -pf i -sf'''.&lt;br /&gt;
&lt;br /&gt;
La configuració de les interfícies de xarxa les fa el fitxer [[/sbin/dhclient-script]]. POdeu obtenir més informació sobre el fitxer al manual:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] dhclient-script&lt;br /&gt;
 &lt;br /&gt;
Aquest fitxer no està pensat per ser modificat. Si cal fer algun canvi s'han de modificar els [[DHCP Hooks]]:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si es vol modificar el comportament de la configuració de xarxa&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segons el manual:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] dhclient:&lt;br /&gt;
&lt;br /&gt;
  If the client is killed by a signal (for example at shutdown or reboot) it won't execute the dhclient-script (8) at exit. However if you shut the client down  grace‐&lt;br /&gt;
       fully with -r or -x it will execute dhclient-script (8) at shutdown with the specific reason for calling the script set.&lt;br /&gt;
&lt;br /&gt;
===Comanda dhclient-script===&lt;br /&gt;
&lt;br /&gt;
 $ cat /sbin/dhclient-script&lt;br /&gt;
 [[Contingut de /sbin/dhclient-script]]&lt;br /&gt;
&lt;br /&gt;
Consulteu [[DHCP#DHCP_hooks|DHCP hooks]]&lt;br /&gt;
&lt;br /&gt;
===Comanda dhcping===&lt;br /&gt;
&lt;br /&gt;
Instal·lació:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install dhcping&lt;br /&gt;
&lt;br /&gt;
Segons el manual:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] dhcping&lt;br /&gt;
 ...&lt;br /&gt;
 dhcping - send a DHCP request to DHCP server to see if it's up and running&lt;br /&gt;
&lt;br /&gt;
És una ordre més un manual:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L dhcping&lt;br /&gt;
 /.&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/share&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/dhcping&lt;br /&gt;
 /usr/share/doc/dhcping/copyright&lt;br /&gt;
 /usr/share/doc/dhcping/changelog.Debian.gz&lt;br /&gt;
 /usr/share/man&lt;br /&gt;
 /usr/share/man/man8&lt;br /&gt;
 /usr/share/man/man8/dhcping.8.gz&lt;br /&gt;
 /usr/sbin&lt;br /&gt;
 /usr/sbin/dhcping&lt;br /&gt;
&lt;br /&gt;
Per exemple:&lt;br /&gt;
&lt;br /&gt;
 $ dhcping -h 01:02:03:04 -s 192.168.1.30&lt;br /&gt;
&lt;br /&gt;
 This program should be installed setuid root or ran by root only.  See SECURITY for more information.&lt;br /&gt;
 &lt;br /&gt;
       On your DHCP server, add these lines to the dhcpd.conf:&lt;br /&gt;
 &lt;br /&gt;
         host &amp;lt;your monitoring host FQDN&amp;gt; {&lt;br /&gt;
            hardware ethernet &amp;lt;your monitor host mac address&amp;gt;;&lt;br /&gt;
            fixed-address     &amp;lt;your monitoring host IP address&amp;gt;;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
       Then try it:&lt;br /&gt;
 &lt;br /&gt;
       $ dhcping -c your monitoring host IP address \&lt;br /&gt;
                 -s your DHCP server IP address \&lt;br /&gt;
                 -h your monitor host mac address&lt;br /&gt;
 &lt;br /&gt;
       It will either respond with &amp;quot;no answer&amp;quot; or &amp;quot;Got answer from: your DHCP server IP address&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
       The DHCP server logfile will give:&lt;br /&gt;
        DHCPREQUEST for 192.168.1.1 from 00:20:18:56:29:8f via ed0&lt;br /&gt;
        DHCPACK on 192.168.1.1 to 00:20:18:56:29:8f via ed0&lt;br /&gt;
        DHCPRELEASE of 192.168.1.1 from 00:20:18:56:29:8f via ed0 (found)&lt;br /&gt;
 &lt;br /&gt;
       Running in DHCPINFORM mode with -i:&lt;br /&gt;
 &lt;br /&gt;
       If you see &amp;quot;DHCPINFORM from 192.168.1.1 via xl0: not authoritative for subnet 192.168.1.0&amp;quot;, you should add the authoritative statement to the subnet, See&lt;br /&gt;
       dhcpd.conf(5) for details.&lt;br /&gt;
 &lt;br /&gt;
       When running in very verbose mode, dhcping tries to dump all data of the send and received DHCP packets. It will first dump the packet in hex-format, then decodes&lt;br /&gt;
       the header and finally the options.&lt;br /&gt;
&lt;br /&gt;
===Estats del client===&lt;br /&gt;
&lt;br /&gt;
'''Procés complet. Amb inicialització''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo dhclient eth0&lt;br /&gt;
 Internet Systems Consortium DHCP Client V3.0.5&lt;br /&gt;
 Copyright 2004-2006 Internet Systems Consortium.&lt;br /&gt;
 All rights reserved.&lt;br /&gt;
 For info, please visit http://www.isc.org/sw/dhcp/ &lt;br /&gt;
 &lt;br /&gt;
 Listening on LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   Socket/fallback&lt;br /&gt;
 DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6&lt;br /&gt;
 DHCPOFFER from 192.168.1.1&lt;br /&gt;
 DHCPREQUEST on eth0 to 255.255.255.255 port 67&lt;br /&gt;
 DHCPACK from 192.168.1.1&lt;br /&gt;
 bound to 192.168.1.4 -- renewal in 1540 seconds. &lt;br /&gt;
&lt;br /&gt;
'''Procés de rebinding''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo dhclient eth0&lt;br /&gt;
 '''There is already a pid file /var/run/dhclient.pid with pid 22064'''&lt;br /&gt;
 '''killed old client process, removed PID file'''&lt;br /&gt;
 Internet Systems Consortium DHCP Client V3.0.5&lt;br /&gt;
 Copyright 2004-2006 Internet Systems Consortium.&lt;br /&gt;
 All rights reserved.&lt;br /&gt;
 For info, please visit http://www.isc.org/sw/dhcp/&lt;br /&gt;
 &lt;br /&gt;
 Listening on LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   Socket/fallback&lt;br /&gt;
 DHCPREQUEST on eth0 to 255.255.255.255 port 67&lt;br /&gt;
 DHCPACK from 192.168.1.1&lt;br /&gt;
 bound to 192.168.1.4 -- renewal in 1639 seconds.&lt;br /&gt;
 &lt;br /&gt;
El client DHCP és un procés que és manté en execució pendent de controlar el client DHCP (renovar el préstec). Podeu veure el procés executant:&lt;br /&gt;
&lt;br /&gt;
 $ ps aux | grep dhcp&lt;br /&gt;
 dhcp     '''22147'''  0.0  0.0   2420   556 ?        Ss   11:09   0:00 dhclient eth0&lt;br /&gt;
 sergi    22172  0.0  0.0   2988   764 pts/1    R+   11:10   0:00 grep dhcp&lt;br /&gt;
 &lt;br /&gt;
Si matem el procés:&lt;br /&gt;
&lt;br /&gt;
 $ sudo kill 2214 &lt;br /&gt;
&lt;br /&gt;
I executem:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dhclient eth0&lt;br /&gt;
 There is already a pid file /var/run/dhclient.pid with pid 22147&lt;br /&gt;
 '''removed stale PID file'''&lt;br /&gt;
 Internet Systems Consortium DHCP Client V3.0.5&lt;br /&gt;
 Copyright 2004-2006 Internet Systems Consortium.&lt;br /&gt;
 All rights reserved.&lt;br /&gt;
 For info, please visit http://www.isc.org/sw/dhcp/&lt;br /&gt;
 &lt;br /&gt;
 Listening on LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   Socket/fallback&lt;br /&gt;
 DHCPREQUEST on eth0 to 255.255.255.255 port 67&lt;br /&gt;
 DHCPACK from 192.168.1.1&lt;br /&gt;
 bound to 192.168.1.4 -- renewal in 1535 seconds.&lt;br /&gt;
&lt;br /&gt;
No és suficient amb matar el procés i esborrar el fitxer PID: '''/var/run/dhclient.pid'''. Recordeu que el client guarda els seus préstecs al fitxer: &lt;br /&gt;
&lt;br /&gt;
 $ cat /var/lib/dhcp3/dhclient.leases&lt;br /&gt;
 lease {&lt;br /&gt;
   interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
   fixed-address 192.168.1.4;&lt;br /&gt;
   option subnet-mask 255.255.255.0;&lt;br /&gt;
   option dhcp-lease-time 3600;&lt;br /&gt;
   option routers 192.168.1.1;&lt;br /&gt;
   option dhcp-message-type 5;&lt;br /&gt;
   option dhcp-server-identifier 192.168.1.1;&lt;br /&gt;
   option domain-name-servers 192.168.1.3,192.168.1.1;&lt;br /&gt;
   option host-name &amp;quot;ubuntu-sala&amp;quot;;&lt;br /&gt;
   renew 4 2008/1/24 10:36:39;&lt;br /&gt;
   rebind 4 2008/1/24 11:03:34;&lt;br /&gt;
   expire 4 2008/1/24 11:11:04;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Podeu forçar tornar a inicialitzar executant:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dhclient -r eth0&lt;br /&gt;
 There is already a pid file /var/run/dhclient.pid with pid 134519120&lt;br /&gt;
 Internet Systems Consortium DHCP Client V3.0.5&lt;br /&gt;
 Copyright 2004-2006 Internet Systems Consortium.&lt;br /&gt;
 All rights reserved.&lt;br /&gt;
 For info, please visit http://www.isc.org/sw/dhcp/ &lt;br /&gt;
 &lt;br /&gt;
 Listening on LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   Socket/fallback&lt;br /&gt;
 DHCPRELEASE on eth0 to 192.168.1.1 port 67&lt;br /&gt;
&lt;br /&gt;
Aquesta comanda envia un RELEASE al servidor. Ara el client començara des de l'estat d'inicialització:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dhclient eth0&lt;br /&gt;
 There is already a pid file /var/run/dhclient.pid with pid 134519120&lt;br /&gt;
 Internet Systems Consortium DHCP Client V3.0.5&lt;br /&gt;
 Copyright 2004-2006 Internet Systems Consortium.&lt;br /&gt;
 All rights reserved.&lt;br /&gt;
 For info, please visit http://www.isc.org/sw/dhcp/  &lt;br /&gt;
 &lt;br /&gt;
 Listening on LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   Socket/fallback&lt;br /&gt;
 DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4&lt;br /&gt;
 DHCPOFFER from 192.168.1.1&lt;br /&gt;
 DHCPREQUEST on eth0 to 255.255.255.255 port 67&lt;br /&gt;
 DHCPACK from 192.168.1.1&lt;br /&gt;
 bound to 192.168.1.4 -- renewal in 1456 seconds. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.tcpipguide.com/free/diagrams/dhcpfsm.png&lt;br /&gt;
&lt;br /&gt;
===Proves amb DHCP===&lt;br /&gt;
&lt;br /&gt;
Per tal de fer proves pot ser interessant enviar peticions DHCP a màquines concretes en comptes de enviar missatges de difusió. Podem utilitzar el paràmetre -s&lt;br /&gt;
&lt;br /&gt;
 {{nota|Habitualment aquesta opció no funciona. Consulteu [[DHCP#Com_comprovar_un_servidor_DHCP_en_un_entorn_amb_m.C3.BAltiples_servidors]] }}&lt;br /&gt;
&lt;br /&gt;
 $ sudo dhclient -s 192.168.1.1 eth0&lt;br /&gt;
 There is already a pid file /var/run/dhclient.pid with pid 134519120&lt;br /&gt;
 Internet Systems Consortium DHCP Client V3.0.5&lt;br /&gt;
 Copyright 2004-2006 Internet Systems Consortium.&lt;br /&gt;
 All rights reserved.&lt;br /&gt;
 For info, please visit http://www.isc.org/sw/dhcp/  &lt;br /&gt;
 &lt;br /&gt;
 Listening on LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   LPF/eth0/00:30:1b:b7:cd:b6&lt;br /&gt;
 Sending on   Socket/fallback&lt;br /&gt;
 '''DHCPREQUEST on eth0 to 192.168.1.1 port 67'''&lt;br /&gt;
 DHCPACK from 192.168.1.1&lt;br /&gt;
 bound to 192.168.1.4 -- renewal in 1619 seconds.&lt;br /&gt;
&lt;br /&gt;
==== Com comprovar un servidor DHCP en un entorn amb múltiples servidors ====&lt;br /&gt;
&lt;br /&gt;
Si tenim múltiples servidors de DHCP en un mateix [[segment de xarxa]] és difícil fer pràctiques ja que a priori no és possible determinar quin serà el servidor que es configurarà primer.&lt;br /&gt;
&lt;br /&gt;
Podem però facilitar la feina configurant el client. Curiosament no existeix (AFAIK) un paràmetre per indicar al client quin servidor de DHCP ha d'utilitzar, però si que podem indicar quins servidors de DHCP '''NO''' volem utilitzar. Això es fa amb la directiva '''reject''' del fitxer [[/etc/dhcp3/dhclient.conf]]:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/dhcp3/dhclient.conf&lt;br /&gt;
 .....&lt;br /&gt;
 reject 192.168.1.1;&lt;br /&gt;
&lt;br /&gt;
On 192.168.1.1 és un servidor de DHCP que no volem utilitzar. Vegem un exemple del que succeix amb una configuració com l'anterior:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dhclient br0&lt;br /&gt;
 killed old client process, removed PID file&lt;br /&gt;
 There is already a pid file /var/run/dhclient.pid with pid 13584&lt;br /&gt;
 .............&lt;br /&gt;
 DHCPREQUEST on br0 to 255.255.255.255 port 67&lt;br /&gt;
 '''DHCPACK from 192.168.1.1 rejected.'''&lt;br /&gt;
 ...&lt;br /&gt;
 DHCPDISCOVER on br0 to 255.255.255.255 port 67 interval 8&lt;br /&gt;
 DHCPOFFER from 192.168.1.6&lt;br /&gt;
 DHCPREQUEST on br0 to 255.255.255.255 port 67&lt;br /&gt;
 DHCPOFFER from 192.168.1.1 rejected.&lt;br /&gt;
 DHCPACK from 192.168.1.6&lt;br /&gt;
 bound to 192.168.1.199 -- renewal in 32725 seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Préstecs===&lt;br /&gt;
&lt;br /&gt;
A la carpeta:&lt;br /&gt;
&lt;br /&gt;
 '''/var/lib/dhcp3'''&lt;br /&gt;
&lt;br /&gt;
Es guarden els préstecs del client.Per exemple, una màquina en un disc dur extraible que es connecta a varies xarxes diferents:&lt;br /&gt;
&lt;br /&gt;
 $ cat  /var/lib/dhcp3/dhclient.leases&lt;br /&gt;
 lease {&lt;br /&gt;
   interface &amp;quot;eth1&amp;quot;;&lt;br /&gt;
   fixed-address 192.168.204.2;&lt;br /&gt;
   option subnet-mask 255.255.255.0;&lt;br /&gt;
   option dhcp-lease-time 3600;&lt;br /&gt;
   option routers 192.168.204.1;&lt;br /&gt;
   option dhcp-message-type 5;&lt;br /&gt;
   option dhcp-server-identifier 192.168.204.1;&lt;br /&gt;
   option domain-name-servers 192.168.204.1,213.4.132.1;&lt;br /&gt;
   option host-name &amp;quot;profaula4&amp;quot;;&lt;br /&gt;
   option domain-name &amp;quot;aula4.iescopernic.com&amp;quot;;&lt;br /&gt;
   renew 2 2008/1/15 18:01:47;&lt;br /&gt;
   rebind 2 2008/1/15 18:29:11;&lt;br /&gt;
   expire 2 2008/1/15 18:36:41;&lt;br /&gt;
 }&lt;br /&gt;
  lease { &lt;br /&gt;
   interface &amp;quot;eth2&amp;quot;;&lt;br /&gt;
   fixed-address 192.168.12.20;&lt;br /&gt;
   option subnet-mask 255.255.255.0;&lt;br /&gt;
   option routers 192.168.12.1;&lt;br /&gt;
   option dhcp-lease-time 86400;&lt;br /&gt;
   option dhcp-message-type 5;&lt;br /&gt;
   option domain-name-servers 192.168.0.7,195.235.113.3,195.235.96.90;&lt;br /&gt;
   option dhcp-server-identifier 192.168.12.1;&lt;br /&gt;
   option broadcast-address 192.168.12.255;&lt;br /&gt;
   option domain-name &amp;quot;iescopernic.com&amp;quot;;&lt;br /&gt;
   renew 6 2007/12/15 03:15:18;&lt;br /&gt;
   rebind 6 2007/12/15 13:48:02;&lt;br /&gt;
   expire 6 2007/12/15 16:48:02;&lt;br /&gt;
 }&lt;br /&gt;
 lease {&lt;br /&gt;
   interface &amp;quot;eth3&amp;quot;;&lt;br /&gt;
   fixed-address 192.168.201.2;&lt;br /&gt;
   option subnet-mask 255.255.255.0;&lt;br /&gt;
   option routers 192.168.201.1;&lt;br /&gt;
   option dhcp-lease-time 3600;&lt;br /&gt;
   option dhcp-message-type 5;&lt;br /&gt;
   option domain-name-servers 192.168.201.1,195.235.113.3;&lt;br /&gt;
   option dhcp-server-identifier 192.168.201.1;&lt;br /&gt;
   option host-name &amp;quot;profaula1&amp;quot;;&lt;br /&gt;
   option domain-name &amp;quot;aula1&amp;quot;;&lt;br /&gt;
   renew 1 2007/12/10 21:18:04;&lt;br /&gt;
   rebind 1 2007/12/10 21:41:33;&lt;br /&gt;
   expire 1 2007/12/10 21:49:03;&lt;br /&gt;
 }&lt;br /&gt;
 lease {&lt;br /&gt;
   interface &amp;quot;eth6&amp;quot;;&lt;br /&gt;
   fixed-address 192.168.206.2;&lt;br /&gt;
   option subnet-mask 255.255.255.0;&lt;br /&gt;
   option dhcp-lease-time 3600;&lt;br /&gt;
   option routers 192.168.206.1;&lt;br /&gt;
   option dhcp-message-type 5;&lt;br /&gt;
   option dhcp-server-identifier 192.168.206.1;&lt;br /&gt;
   option domain-name-servers 192.168.206.1,195.235.113.3;&lt;br /&gt;
   option host-name &amp;quot;profaula6&amp;quot;; &lt;br /&gt;
   option domain-name &amp;quot;aula6&amp;quot;;&lt;br /&gt;
   renew 5 2007/11/30 16:52:55;&lt;br /&gt;
   rebind 5 2007/11/30 17:20:37;&lt;br /&gt;
   expire 5 2007/11/30 17:28:07;&lt;br /&gt;
 }&lt;br /&gt;
 lease {&lt;br /&gt;
   interface &amp;quot;eth4&amp;quot;;&lt;br /&gt;
   fixed-address 192.168.202.2;&lt;br /&gt;
   option subnet-mask 255.255.255.0;&lt;br /&gt;
   option dhcp-lease-time 3600;&lt;br /&gt;
   option routers 192.168.202.1;&lt;br /&gt;
   option dhcp-message-type 5;&lt;br /&gt;
   option dhcp-server-identifier 192.168.202.1;&lt;br /&gt;
   option domain-name-servers 192.168.202.1,213.4.132.1;&lt;br /&gt;
   option host-name &amp;quot;profaula2&amp;quot;;&lt;br /&gt;
   option domain-name &amp;quot;aula2.iescopernic.com&amp;quot;;&lt;br /&gt;
   renew 5 2007/11/30 16:07:24;&lt;br /&gt;
   rebind 5 2007/11/30 16:31:05;&lt;br /&gt;
   expire 5 2007/11/30 16:38:35; &lt;br /&gt;
 }&lt;br /&gt;
 lease {&lt;br /&gt;
   interface &amp;quot;eth5&amp;quot;;&lt;br /&gt;
   fixed-address 192.168.207.2;&lt;br /&gt;
   option subnet-mask 255.255.255.0;&lt;br /&gt;
   option routers 192.168.207.1;&lt;br /&gt;
   option dhcp-lease-time 3600;&lt;br /&gt;
   option dhcp-message-type 5;&lt;br /&gt;
   option domain-name-servers 192.168.207.1,195.235.113.3;&lt;br /&gt;
   option dhcp-server-identifier 192.168.207.1;&lt;br /&gt;
   option host-name &amp;quot;profaula&amp;quot;;&lt;br /&gt;
   option domain-name &amp;quot;aula7.iescopernic.com&amp;quot;;&lt;br /&gt;
   renew 5 2007/11/30 16:28:42;&lt;br /&gt;
   rebind 5 2007/11/30 16:53:49;&lt;br /&gt;
   expire 5 2007/11/30 17:01:19;&lt;br /&gt;
 }&lt;br /&gt;
 lease {&lt;br /&gt;
   interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
   fixed-address 192.168.208.2;&lt;br /&gt;
   option subnet-mask 255.255.255.0;&lt;br /&gt;
   option routers 192.168.208.1;&lt;br /&gt;
   option dhcp-lease-time 3600;&lt;br /&gt;
   option dhcp-message-type 5;&lt;br /&gt;
   option domain-name-servers 192.168.208.1,213.4.132.1;&lt;br /&gt;
   option dhcp-server-identifier 192.168.208.1;&lt;br /&gt;
   option host-name &amp;quot;profaula8&amp;quot;;&lt;br /&gt;
   option domain-name &amp;quot;aula8.iescopernic.com&amp;quot;;&lt;br /&gt;
   renew 5 2007/11/30 17:14:46;&lt;br /&gt;
   rebind 5 2007/11/30 17:37:43;&lt;br /&gt;
   expire 5 2007/11/30 17:45:13;&lt;br /&gt;
 }&lt;br /&gt;
 lease {&lt;br /&gt;
   interface &amp;quot;eth1&amp;quot;;&lt;br /&gt;
   fixed-address 192.168.204.2;&lt;br /&gt;
   option subnet-mask 255.255.255.0;&lt;br /&gt;
   option routers 192.168.204.1;&lt;br /&gt;
   option dhcp-lease-time 3600;&lt;br /&gt;
   option dhcp-message-type 5;&lt;br /&gt;
   option domain-name-servers 192.168.204.1,213.4.132.1;&lt;br /&gt;
   option dhcp-server-identifier 192.168.204.1;&lt;br /&gt;
   option host-name &amp;quot;profaula4&amp;quot;;&lt;br /&gt;
   option domain-name &amp;quot;aula4.iescopernic.com&amp;quot;;&lt;br /&gt;
   renew 2 2008/1/15 18:04:17;&lt;br /&gt;
   rebind 2 2008/1/15 18:29:24;&lt;br /&gt;
   expire 2 2008/1/15 18:36:54;&lt;br /&gt;
 }  &lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 $ man dhclient.leases&lt;br /&gt;
&lt;br /&gt;
Per obtenir més informació&lt;br /&gt;
&lt;br /&gt;
===Documentació===&lt;br /&gt;
&lt;br /&gt;
*[http://linux.die.net/man/8/dhclient man dhclient]&lt;br /&gt;
*[http://linux.die.net/man/5/dhclient.conf man dhclient.conf]&lt;br /&gt;
*[http://linux.die.net/man/5/dhclient.leases man dhclient.leases]&lt;br /&gt;
*[http://linux.die.net/man/8/dhclient-script man dhclient-script]&lt;br /&gt;
&lt;br /&gt;
=== Client Windows ===&lt;br /&gt;
&lt;br /&gt;
Amb l'ordre ipconfig es pot alliberar i tornar a demanar una connexió. Per alliberar:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; ipconfig /release&lt;br /&gt;
&lt;br /&gt;
Per tornar a demanar configuració IP:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; ipconfig /renew&lt;br /&gt;
&lt;br /&gt;
==Configuració Servidor==&lt;br /&gt;
&lt;br /&gt;
Descarregar el servidor DHCP de l'[http://www.isc.org/ ISC]:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install dhcpd&lt;br /&gt;
&lt;br /&gt;
Instal·lat el programari del servidor, s'haurà de configurar dos arxius importants: '''/etc/dhcpd.conf''', i el '''/var/state/dhcp/dhcp.leases'''. El primer serveix per configurar el servidor com es vulgui, mentre que el segon es una base de dades creada per el servidor, amb les assignacions de IP que es van realitzant. Ens permet verificar la activitat del servidor i permet portar la conta de les IPs que va donant als diferents clients, per conservar-les en cas de caiguda.&lt;br /&gt;
&lt;br /&gt;
Verificar que existeix l'archiu /var/lib/dhcp/dhcpd.leases (en versions anteriors de dhcp per RedHat aquest arxiu es tenia que crear-lo a mà. I era una de les raons perquè dhcpd no iniciava).&lt;br /&gt;
&lt;br /&gt;
'''DHCPD.CONF'''&lt;br /&gt;
&lt;br /&gt;
*Abans de modificar /etc/dhcpd.conf s'ha d'entendre una mica els paràmetres de configuració més comuns:&lt;br /&gt;
 #subnet 192.5.5.0 netmask 255.255.255.224 {&lt;br /&gt;
 #  range 192.5.5.26 192.5.5.30;&lt;br /&gt;
 #  option domain-name-servers bb.home.vix.com, gw.home.vix.com;&lt;br /&gt;
 #  option domain-name &amp;quot;vix.com&amp;quot;;&lt;br /&gt;
 #  option routers 192.5.5.1;&lt;br /&gt;
 #  option subnet-mask 255.255.255.224;&lt;br /&gt;
 #  option broadcast-address 192.5.5.31;&lt;br /&gt;
 #  default-lease-time 600;&lt;br /&gt;
 #  max-lease-time 7200;&lt;br /&gt;
 #}&lt;br /&gt;
#Descriu la xarxa i es posible definir més d'una subxarxa, en el cas que comparteixin la mateixa infraestructura física.&lt;br /&gt;
#El server dhcpd proporcionarà la primera IP que estigui lliure entre el rang especificant, s'anomena asignació dinàmica de IPs.&lt;br /&gt;
#Indica el domini dels servidors DNS que es faran servir en els clients DHCP.&lt;br /&gt;
#Indica el nom de domini que es fara servir en la DNS.&lt;br /&gt;
#Port de sortida (indica els routers de la xarxa) &lt;br /&gt;
#Indica la màscara de xarxa.&lt;br /&gt;
#Indica la direcció de broadcast.&lt;br /&gt;
#La IP estara per un temps determinat cuan el temps s'acabi el client tindra que solicitar una altre IP.&lt;br /&gt;
*Una llista del valors (de segons a minuts):&lt;br /&gt;
:600 - 10 minuts&lt;br /&gt;
:7200 - 2 hores&lt;br /&gt;
:86400 - 1 dia&lt;br /&gt;
:604800 - 1 setmana&lt;br /&gt;
:2592000 - 1 mes&lt;br /&gt;
:31104000 - 1 any&lt;br /&gt;
:62208000 - 2 anys&lt;br /&gt;
&lt;br /&gt;
'''DHCP.LEASES'''&lt;br /&gt;
*El fitxer dhcp.leases es registran les IPs que es van asignant als ordinadors clients, cuant  aquest es masa gran crea una copia en un fitxer ''dhcpd.leases~'', aquests fitxers estan normalment en /etc o /var.&lt;br /&gt;
&lt;br /&gt;
===Paràmetres d'execució===&lt;br /&gt;
&lt;br /&gt;
En sistemes d'inicialització basats en System V, es poden especificar paràmetres extres d'execució del servidor als fitxes de la carpeta '''/etc/default''':&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/default/dhcp3-server &lt;br /&gt;
 # Defaults for dhcp initscript&lt;br /&gt;
 # sourced by /etc/init.d/dhcp&lt;br /&gt;
 # installed at /etc/default/dhcp3-server by the maintainer scripts  &lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # This is a POSIX shell fragment&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # On what interfaces should the DHCP server (dhcpd) serve DHCP requests?&lt;br /&gt;
 #	Separate multiple interfaces with spaces, e.g. &amp;quot;eth0 eth1&amp;quot;.&lt;br /&gt;
 INTERFACES=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
En el nostre cas li estem indicant que escolti peticions provinents de totes les interfícies de xarxa.&lt;br /&gt;
&lt;br /&gt;
Dubte: que passa amb les interfícies virtuals fetes amb [[IP aliasing]], cal posar-les?&lt;br /&gt;
&lt;br /&gt;
===Consultar l'estat d'execució del servidor DHCP===&lt;br /&gt;
&lt;br /&gt;
 $ ps aux | grep dhcpd&lt;br /&gt;
 dhcpd     5869  0.0  0.1   2988  1548 ?        Ss   Feb05   0:00 /usr/sbin/dhcpd3 -q -pf /var/run/dhcp3-server/dhcpd.pid -cf  /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*[http://linux.die.net/man/8/dhcpd man dhcpd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Adreça IP fixa per MAC===&lt;br /&gt;
&lt;br /&gt;
Per assignar una IP fixa segons l'adreça MAC (exemple extret del fitxer d'exemple de Debian):&lt;br /&gt;
&lt;br /&gt;
 host fantasia {&lt;br /&gt;
   hardware ethernet 08:00:07:26:c0:a5;&lt;br /&gt;
   fixed-address 192.168.0.5;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Es poden tenir diverses IP, aleshores només s'assignarà la IP del rang que correspon (la petició haurà arribat per una targeta de xarxa que pertany a certa subxarxa). També es pot assignar un nom de màquina DNS que resolgui a una iP concreta.&lt;br /&gt;
&lt;br /&gt;
Consulteu el manual:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] dhcpd.conf&lt;br /&gt;
 &lt;br /&gt;
           fixed-address address [, address ... ];&lt;br /&gt;
 &lt;br /&gt;
          The fixed-address declaration is used to assign one or more fixed IP addresses to a client.  It should only appear in  a  host  declaration.   If  more  than  one&lt;br /&gt;
          address is supplied, then when the client boots, it will be assigned the address that corresponds to the network on which it is booting.  If none of the addresses&lt;br /&gt;
          in the fixed-address statement are valid for the network to which the client is connected, that client will not match the host declaration containing that  fixed-&lt;br /&gt;
          address declaration.  Each address in the fixed-address declaration should be either an IP address or a domain name that resolves to one or more IP addresses.&lt;br /&gt;
&lt;br /&gt;
===Exemple de configuració. Aula amb adreces IP fixes===&lt;br /&gt;
&lt;br /&gt;
Un departament d'informàtica amb assignació fixa per MAC:&lt;br /&gt;
&lt;br /&gt;
 $ sudo cat /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 &lt;br /&gt;
 option domain-name-servers 192.168.0.7, 80.58.61.250, 80.58.61.254;&lt;br /&gt;
 option domain-name &amp;quot;iescopernic.com&amp;quot;;&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 604800; &lt;br /&gt;
 &lt;br /&gt;
 authoritative;  &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Departament **************&lt;br /&gt;
 #subnet 192.168.12.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-departament.conf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
El fitxer inclòs: &lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/dhcp3/dhcpd-departament.conf&lt;br /&gt;
 subnet 192.168.12.0 netmask 255.255.255.0 {&lt;br /&gt;
         range 192.168.12.100 192.168.12.199;&lt;br /&gt;
         option subnet-mask 255.255.255.0;&lt;br /&gt;
         option broadcast-address 192.168.12.255;&lt;br /&gt;
         option routers 192.168.12.1;&lt;br /&gt;
         option domain-name-servers 192.168.0.7, 195.235.113.3, 195.235.96.90;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 host impresoraLaserjet2420 {&lt;br /&gt;
         hardware ethernet 00:14:38:D4:55:48;&lt;br /&gt;
         fixed-address 192.168.12.50;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 host pc01 {&lt;br /&gt;
             hardware ethernet 00:30:05:EB:39:9D;&lt;br /&gt;
             fixed-address 192.168.12.11;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 host pc02 {    &lt;br /&gt;
             hardware ethernet 00:30:05:EB:A3:98;&lt;br /&gt;
             fixed-address 192.168.12.12; &lt;br /&gt;
 }  &lt;br /&gt;
 &lt;br /&gt;
 host pc03 {    &lt;br /&gt;
             hardware ethernet 00:30:05:EB:3A:E7;&lt;br /&gt;
             fixed-address 192.168.12.13; &lt;br /&gt;
 }  &lt;br /&gt;
 &lt;br /&gt;
 host pc04 {    &lt;br /&gt;
             hardware ethernet 00:30:05:EB:3A:EA;&lt;br /&gt;
             fixed-address 192.168.12.14; &lt;br /&gt;
 }   &lt;br /&gt;
 &lt;br /&gt;
 host pc05 {    &lt;br /&gt;
             hardware ethernet 00:30:05:EB:39:A4;&lt;br /&gt;
             fixed-address 192.168.12.15; &lt;br /&gt;
 }  &lt;br /&gt;
 &lt;br /&gt;
 host pc06 {    &lt;br /&gt;
             hardware ethernet 00:30:05:EB:3B:52;&lt;br /&gt;
             fixed-address 192.168.12.16; &lt;br /&gt;
 }  &lt;br /&gt;
 &lt;br /&gt;
 host pc07 {    &lt;br /&gt;
             hardware ethernet 00:30:05:EB:3A:CF;&lt;br /&gt;
             fixed-address 192.168.12.17; &lt;br /&gt;
 }   &lt;br /&gt;
 &lt;br /&gt;
 host pc08 {    &lt;br /&gt;
             hardware ethernet 00:30:05:EB:A4:12;&lt;br /&gt;
             fixed-address 192.168.12.18; &lt;br /&gt;
 }   &lt;br /&gt;
 &lt;br /&gt;
 host pc09 {    &lt;br /&gt;
             hardware ethernet 00:30:05:EB:A3:9B;&lt;br /&gt;
             fixed-address 192.168.12.19; &lt;br /&gt;
 }  &lt;br /&gt;
 &lt;br /&gt;
 host pc10 {    &lt;br /&gt;
             hardware ethernet 00:30:05:EB:A3:8D;&lt;br /&gt;
             fixed-address 192.168.12.20; &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Fitxer d'exemple dhcpd.conf de Debian===&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/dhcp3/dhcpd.conf&lt;br /&gt;
 #&lt;br /&gt;
 # Sample configuration file for ISC dhcpd for Debian&lt;br /&gt;
 #&lt;br /&gt;
 # $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $&lt;br /&gt;
 # &lt;br /&gt;
 &lt;br /&gt;
 # The ddns-updates-style parameter controls whether or not the server will&lt;br /&gt;
 # attempt to do a DNS update when a lease is confirmed. We default to the&lt;br /&gt;
 # behavior of the version 2 packages ('none', since DHCP v2 didn't&lt;br /&gt;
 # have support for DDNS.)&lt;br /&gt;
 ddns-update-style none; &lt;br /&gt;
 &lt;br /&gt;
 # option definitions common to all supported networks...&lt;br /&gt;
 option domain-name &amp;quot;example.org&amp;quot;;&lt;br /&gt;
 option domain-name-servers ns1.example.org, ns2.example.org;&lt;br /&gt;
 &lt;br /&gt;
 default-lease-time 600;&lt;br /&gt;
 max-lease-time 7200; &lt;br /&gt;
 &lt;br /&gt;
 # If this DHCP server is the official DHCP server for the local&lt;br /&gt;
 # network, the authoritative directive should be uncommented.&lt;br /&gt;
 #authoritative; &lt;br /&gt;
 &lt;br /&gt;
 # Use this to send dhcp log messages to a different log file (you also&lt;br /&gt;
 # have to hack syslog.conf to complete the redirection).&lt;br /&gt;
 log-facility local7;&lt;br /&gt;
 &lt;br /&gt;
 # No service will be given on this subnet, but declaring it helps the &lt;br /&gt;
 # DHCP server to understand the network topology.&lt;br /&gt;
 &lt;br /&gt;
 #subnet 10.152.187.0 netmask 255.255.255.0 {&lt;br /&gt;
 #}&lt;br /&gt;
 &lt;br /&gt;
 # This is a very basic subnet declaration.&lt;br /&gt;
 &lt;br /&gt;
 #subnet 10.254.239.0 netmask 255.255.255.224 {&lt;br /&gt;
 #  range 10.254.239.10 10.254.239.20;&lt;br /&gt;
 #  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;&lt;br /&gt;
 #}&lt;br /&gt;
 &lt;br /&gt;
 # This declaration allows BOOTP clients to get dynamic addresses,&lt;br /&gt;
 # which we don't really recommend.&lt;br /&gt;
 &lt;br /&gt;
 #subnet 10.254.239.32 netmask 255.255.255.224 {&lt;br /&gt;
 #  range dynamic-bootp 10.254.239.40 10.254.239.60;&lt;br /&gt;
 #  option broadcast-address 10.254.239.31;&lt;br /&gt;
 #  option routers rtr-239-32-1.example.org;&lt;br /&gt;
 #}&lt;br /&gt;
 &lt;br /&gt;
 # A slightly different configuration for an internal subnet.&lt;br /&gt;
 #subnet 10.5.5.0 netmask 255.255.255.224 {&lt;br /&gt;
 #  range 10.5.5.26 10.5.5.30;&lt;br /&gt;
 #  option domain-name-servers ns1.internal.example.org;&lt;br /&gt;
 #  option domain-name &amp;quot;internal.example.org&amp;quot;;&lt;br /&gt;
 #  option routers 10.5.5.1;&lt;br /&gt;
 #  option broadcast-address 10.5.5.31;&lt;br /&gt;
 #  default-lease-time 600;&lt;br /&gt;
 #  max-lease-time 7200;&lt;br /&gt;
 #}&lt;br /&gt;
 &lt;br /&gt;
 # Hosts which require special configuration options can be listed in&lt;br /&gt;
 # host statements.   If no address is specified, the address will be&lt;br /&gt;
 # allocated dynamically (if possible), but the host-specific information&lt;br /&gt;
 # will still come from the host declaration. &lt;br /&gt;
 &lt;br /&gt;
 #host passacaglia {&lt;br /&gt;
 #  hardware ethernet 0:0:c0:5d:bd:95;&lt;br /&gt;
 #  filename &amp;quot;vmunix.passacaglia&amp;quot;;&lt;br /&gt;
 #  server-name &amp;quot;toccata.fugue.com&amp;quot;;&lt;br /&gt;
 #}&lt;br /&gt;
 &lt;br /&gt;
 # Fixed IP addresses can also be specified for hosts.   These addresses&lt;br /&gt;
 # should not also be listed as being available for dynamic assignment.&lt;br /&gt;
 # Hosts for which fixed IP addresses have been specified can boot using&lt;br /&gt;
 # BOOTP or DHCP.   Hosts for which no fixed address is specified can only&lt;br /&gt;
 # be booted with DHCP, unless there is an address range on the subnet&lt;br /&gt;
 # to which a BOOTP client is connected which has the dynamic-bootp flag&lt;br /&gt;
 # set.&lt;br /&gt;
 #host fantasia {&lt;br /&gt;
 #  hardware ethernet 08:00:07:26:c0:a5;&lt;br /&gt;
 #  fixed-address fantasia.fugue.com;&lt;br /&gt;
 #}&lt;br /&gt;
 &lt;br /&gt;
 # You can declare a class of clients and then do address allocation&lt;br /&gt;
 # based on that.   The example below shows a case where all clients&lt;br /&gt;
 # in a certain class get addresses on the 10.17.224/24 subnet, and all&lt;br /&gt;
 # other clients get addresses on the 10.0.29/24 subnet. &lt;br /&gt;
 &lt;br /&gt;
 #class &amp;quot;foo&amp;quot; {&lt;br /&gt;
 #  match if substring (option vendor-class-identifier, 0, 4) = &amp;quot;SUNW&amp;quot;;&lt;br /&gt;
 #} &lt;br /&gt;
 &lt;br /&gt;
 #shared-network 224-29 {&lt;br /&gt;
 #  subnet 10.17.224.0 netmask 255.255.255.0 {&lt;br /&gt;
 #    option routers rtr-224.example.org;&lt;br /&gt;
 #  }&lt;br /&gt;
 #  subnet 10.0.29.0 netmask 255.255.255.0 {&lt;br /&gt;
 #    option routers rtr-29.example.org;&lt;br /&gt;
 #  }&lt;br /&gt;
 #  pool {&lt;br /&gt;
 #    allow members of &amp;quot;foo&amp;quot;;&lt;br /&gt;
 #    range 10.17.224.10 10.17.224.250;&lt;br /&gt;
 #  }&lt;br /&gt;
 #  pool {&lt;br /&gt;
 #    deny members of &amp;quot;foo&amp;quot;;&lt;br /&gt;
 #    range 10.0.29.10 10.0.29.230;&lt;br /&gt;
 #  }&lt;br /&gt;
 #}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Servidor WINS===&lt;br /&gt;
&lt;br /&gt;
Es poden configurar els servidors de WINS dels clients amb l'opció:&lt;br /&gt;
&lt;br /&gt;
 option netbios-name-servers 192.168.10.66, 192.168.10.97;&lt;br /&gt;
&lt;br /&gt;
També podem modificar el tipus de nodes:&lt;br /&gt;
&lt;br /&gt;
 option netbios-node-type 2;&lt;br /&gt;
&lt;br /&gt;
Segons la taula:&lt;br /&gt;
&lt;br /&gt;
*'''1''': b-node	&lt;br /&gt;
*'''2''': p-node	&lt;br /&gt;
*'''4''': m-node	&lt;br /&gt;
*'''8''': h-node&lt;br /&gt;
&lt;br /&gt;
Consulteu [[NetBIOS_Name_Server#Tipus_de_nodes_NetBIOS]].&lt;br /&gt;
&lt;br /&gt;
===Fitxers de log ===&lt;br /&gt;
&lt;br /&gt;
 $ tail -n 100 /var/log/syslog | grep dhcpd &lt;br /&gt;
 Sep 19 16:01:26 server1 dhcpd: DHCPDISCOVER from 00:0c:76:8b:c4:16 via eth0&lt;br /&gt;
 Sep 19 16:01:26 server1 dhcpd: DHCPOFFER on 192.168.0.229 to 00:0c:76:8b:c4:16 (matze) via eth0&lt;br /&gt;
 Sep 19 16:01:27 server1 dhcpd: DHCPDISCOVER from 00:0c:76:8b:c4:16 (matze) via eth0&lt;br /&gt;
 Sep 19 16:01:27 server1 dhcpd: DHCPOFFER on 192.168.0.229 to 00:0c:76:8b:c4:16 (matze) via eth0&lt;br /&gt;
 Sep 19 16:01:31 server1 dhcpd: DHCPDISCOVER from 00:0c:76:8b:c4:16 (matze) via eth0&lt;br /&gt;
 Sep 19 16:01:31 server1 dhcpd: DHCPOFFER on 192.168.0.229 to 00:0c:76:8b:c4:16 (matze) via eth0&lt;br /&gt;
 Sep 19 16:01:31 server1 dhcpd: Wrote 1 leases to leases file.&lt;br /&gt;
 Sep 19 16:01:31 server1 dhcpd: DHCPREQUEST for 192.168.0.229 (192.168.0.100) from 00:0c:76:8b:c4:16 (matze) via eth0&lt;br /&gt;
 Sep 19 16:01:31 server1 dhcpd: DHCPACK on 192.168.0.229 to 00:0c:76:8b:c4:16 (matze) via eth0&lt;br /&gt;
&lt;br /&gt;
===Préstecs (leases)===&lt;br /&gt;
&lt;br /&gt;
 $ cat /var/lib/dhcp3/dhcpd.leases&lt;br /&gt;
 # All times in this file are in UTC (GMT), not your local timezone.   This is&lt;br /&gt;
 # not a bug, so please don't ask about it.   There is no portable way to&lt;br /&gt;
 # store leases in the local timezone, so please don't request this as a&lt;br /&gt;
 # feature.   If this is inconvenient or confusing to you, we sincerely&lt;br /&gt;
 # apologize.   Seriously, though - don't ask.&lt;br /&gt;
 # The format of this file is documented in the dhcpd.leases(5) manual page.&lt;br /&gt;
 # This lease file was written by isc-dhcp-V3.0.5&lt;br /&gt;
 &lt;br /&gt;
 lease 192.168.12.197 {&lt;br /&gt;
   starts 5 2007/06/22 14:20:56;&lt;br /&gt;
   ends 6 2007/06/23 14:20:56;&lt;br /&gt;
   tstp 6 2007/06/23 14:20:56;&lt;br /&gt;
   binding state free;&lt;br /&gt;
   hardware ethernet 00:17:a4:42:a8:5c;&lt;br /&gt;
 }&lt;br /&gt;
 lease 192.168.12.192 {&lt;br /&gt;
   starts 4 2007/06/28 15:19:44;&lt;br /&gt;
   ends 5 2007/06/29 15:19:44;&lt;br /&gt;
   tstp 5 2007/06/29 15:19:44;&lt;br /&gt;
   binding state free;&lt;br /&gt;
   hardware ethernet 00:c0:9f:60:33:51;&lt;br /&gt;
 }&lt;br /&gt;
 lease 192.168.12.191 {&lt;br /&gt;
   starts 4 2007/06/28 16:19:10;&lt;br /&gt;
   ends 5 2007/06/29 16:19:10;&lt;br /&gt;
   tstp 5 2007/06/29 16:19:10;&lt;br /&gt;
   binding state free;&lt;br /&gt;
   hardware ethernet 00:0e:9b:cd:74:4c;&lt;br /&gt;
   uid &amp;quot;\001\000\016\233\315tL&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 lease 192.168.12.193 {&lt;br /&gt;
   starts 4 2007/06/28 16:35:59;&lt;br /&gt;
   ends 5 2007/06/29 16:35:59;&lt;br /&gt;
   tstp 5 2007/06/29 16:35:59;&lt;br /&gt;
   binding state free;&lt;br /&gt;
   hardware ethernet 00:c0:9f:60:33:51;&lt;br /&gt;
 }   &lt;br /&gt;
 ..................&lt;br /&gt;
&lt;br /&gt;
===Accés a un servidor DHCP fora del segment de xarxa dels clients===&lt;br /&gt;
&lt;br /&gt;
Cal utilitzar un BOOTP/DHCP Relay Agent als routers. Paquet dhcp3-relay.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exemple AulaLinux===&lt;br /&gt;
&lt;br /&gt;
Obtenir les MAC:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nmap 147.83.75.129/25&lt;br /&gt;
 .....&lt;br /&gt;
&lt;br /&gt;
Consultar les MAC:&lt;br /&gt;
&lt;br /&gt;
 $ sudo arp -n&lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 147.83.75.143            ether   00:C0:A8:F9:7D:3D   C                     eth1&lt;br /&gt;
 147.83.75.141            ether   00:C0:A8:F9:86:6C   C                     eth1&lt;br /&gt;
 147.83.75.129            ether   00:0E:D6:A9:54:00   C                     eth1&lt;br /&gt;
 147.83.75.131            ether   00:16:35:3C:3B:D1   C                     eth1&lt;br /&gt;
 147.83.75.136            ether   00:C0:A8:FB:5E:A1   C                     eth1&lt;br /&gt;
 147.83.75.144            ether   00:C0:A8:F9:8B:43   C                     eth1&lt;br /&gt;
 147.83.75.142            ether   00:C0:A8:F9:82:1C   C                     eth1&lt;br /&gt;
 147.83.75.146            ether   00:C0:A8:F9:7B:87   C                     eth1&lt;br /&gt;
 147.83.75.145            ether   00:C0:A8:F9:86:59   C                     eth1&lt;br /&gt;
&lt;br /&gt;
Instal·lar el servidor de DHCP:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install dhcp3-server&lt;br /&gt;
 S'està llegint la llista de paquets... Fet&lt;br /&gt;
 S'està construint l'arbre de dependències... Fet&lt;br /&gt;
 S'instal·laran els següents paquets NOUS:&lt;br /&gt;
   dhcp3-server&lt;br /&gt;
 0 actualitzats, 1 nous a instal·lar, 0 a eliminar i 22 no actualitzats.&lt;br /&gt;
 Es necessita obtenir 292kB d'arxius.&lt;br /&gt;
 Després de desempaquetar s'usaran 836kB d'espai en disc addicional.&lt;br /&gt;
 Des:1 http://ftp.rediris.es etch/main dhcp3-server 3.0.4-13 [292kB]&lt;br /&gt;
 292kB descarregats en 0s (982kB/s)&lt;br /&gt;
 S'estan preconfigurant els paquets...&lt;br /&gt;
 S'està seleccionant el paquet dhcp3-server prèviament no seleccionat.&lt;br /&gt;
 (S'està llegint la base de dades ... hi ha 90512 fitxers i directoris instal·lats actualment.)&lt;br /&gt;
 S'està desempaquetant dhcp3-server (de .../dhcp3-server_3.0.4-13_i386.deb) ...&lt;br /&gt;
 S'està configurant dhcp3-server (3.0.4-13) ...&lt;br /&gt;
 Generating /etc/default/dhcp3-server...&lt;br /&gt;
 Starting DHCP server: dhcpd3 failed to start - check syslog for diagnostics.&lt;br /&gt;
 '''invoke-rc.d: initscript dhcp3-server, action &amp;quot;start&amp;quot; failed.'''&lt;br /&gt;
&lt;br /&gt;
L'error és per què cal configurar el servidor.&lt;br /&gt;
&lt;br /&gt;
[[Imatge:NoAuthoritativeServer.png]]&lt;br /&gt;
&lt;br /&gt;
Fem una copia de seguretat del fitxer per defecte de configuració:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.old&lt;br /&gt;
&lt;br /&gt;
Editem el fitxer&lt;br /&gt;
&lt;br /&gt;
 $ sudo joe /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
El millor és utilitzar una plantilla per començar:&lt;br /&gt;
&lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 option domain-name-servers 80.58.61.250, 80.58.61.254;&lt;br /&gt;
 #Si tenim un servidor de DNS propi a la xarxa la configuració sería:&lt;br /&gt;
 #option domain-name-servers ip_servidor_dns 80.58.61.250, 80.58.61.254;&lt;br /&gt;
 #option domain-name &amp;quot;casa&amp;quot;;&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 604800;&lt;br /&gt;
 authoritative; &lt;br /&gt;
 subnet 192.168.1.0 netmask 255.255.255.0 {&lt;br /&gt;
         range 192.168.1.100 192.168.1.199;&lt;br /&gt;
         option subnet-mask 255.255.255.0;&lt;br /&gt;
         option broadcast-address 192.168.1.255;&lt;br /&gt;
         option routers 192.168.1.1;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
I la modifiquem al nostre gust. Per exemple per l'aula Linux:&lt;br /&gt;
&lt;br /&gt;
 ddns-update-style none;&lt;br /&gt;
 option domain-name-servers  147.83.21.41, 147.83.2.3;&lt;br /&gt;
 option domain-name &amp;quot;aulalinux&amp;quot;;&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 604800;&lt;br /&gt;
 authoritative; &lt;br /&gt;
 subnet 147.83.75.129 netmask 255.255.255.128 {&lt;br /&gt;
         range 192.168.1.130 192.168.1.150;&lt;br /&gt;
         option subnet-mask 255.255.255.254;&lt;br /&gt;
         option broadcast-address 147.83.75.255;&lt;br /&gt;
         option routers 147.83.75.129;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 #HOSTS FIXES&lt;br /&gt;
 host ali01 {&lt;br /&gt;
        option host-name &amp;quot;ali01.aulalinux&amp;quot;;&lt;br /&gt;
        hardware ethernet 00:16:35:3C:3B:D1;&lt;br /&gt;
        fixed-address 147.83.75.131;&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
 host ali02 {&lt;br /&gt;
        option host-name &amp;quot;ali02.aulalinux&amp;quot;;&lt;br /&gt;
        hardware ethernet XXXXXX;&lt;br /&gt;
        fixed-address 147.83.75.132;&lt;br /&gt;
        }&lt;br /&gt;
 .........&lt;br /&gt;
&lt;br /&gt;
Després de modificar el fitxer cal tornar a iniciar el servidor:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/dhcp3-server restart&lt;br /&gt;
&lt;br /&gt;
===Xarxes compartides (shared networks). Múltiples interfícies virtuals en una mateixa targeta de xarxa física===&lt;br /&gt;
&lt;br /&gt;
Si voleu utilitzar un servidor DHCP en una targeta de xarxa que té múltiples IP lògiques (IP Aliasing) cal definir una xarxa compartida. Per exemple un targeta de xarxa com la següent:&lt;br /&gt;
&lt;br /&gt;
 $ ifconfig | grep -A 1 alumnat&lt;br /&gt;
 alumnat   Link encap:Ethernet  HWaddr 00:16:3e:00:02:b1  &lt;br /&gt;
           inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
 --&lt;br /&gt;
 alumnat:1 Link encap:Ethernet  HWaddr 00:16:3e:00:02:b1  &lt;br /&gt;
           inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0&lt;br /&gt;
 --&lt;br /&gt;
 alumnat:2 Link encap:Ethernet  HWaddr 00:16:3e:00:02:b1  &lt;br /&gt;
           inet addr:192.168.3.1  Bcast:192.168.3.255  Mask:255.255.255.0&lt;br /&gt;
 --&lt;br /&gt;
 alumnat:3 Link encap:Ethernet  HWaddr 00:16:3e:00:02:b1  &lt;br /&gt;
          inet addr:192.168.4.1  Bcast:192.168.4.255  Mask:255.255.255.0&lt;br /&gt;
&lt;br /&gt;
La configuració seria:&lt;br /&gt;
&lt;br /&gt;
 shared-network alumnat {&lt;br /&gt;
 &lt;br /&gt;
 #Alumnat planta baixa&lt;br /&gt;
 subnet 192.168.1.0 netmask 255.255.255.0 {&lt;br /&gt;
         option subnet-mask 255.255.255.0;&lt;br /&gt;
         range dynamic-bootp 192.168.1.200 192.168.1.254;&lt;br /&gt;
         default-lease-time 21600;&lt;br /&gt;
         max-lease-time 43200;&lt;br /&gt;
         option domain-name-servers      192.168.1.1,192.168.0.46;&lt;br /&gt;
         option domain-name &amp;quot;iesebre.com&amp;quot;;&lt;br /&gt;
         option routers      192.168.1.1; &lt;br /&gt;
         option netbios-name-servers 192.168.0.8; &lt;br /&gt;
 &lt;br /&gt;
         filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 #Alumnat planta 1&lt;br /&gt;
 subnet 192.168.2.0 netmask 255.255.255.0 {              &lt;br /&gt;
         option subnet-mask 255.255.255.0;               &lt;br /&gt;
         range dynamic-bootp 192.168.2.200 192.168.2.254;&lt;br /&gt;
         default-lease-time 21600;&lt;br /&gt;
         max-lease-time 43200;&lt;br /&gt;
         option domain-name-servers      192.168.2.1,192.168.0.46;&lt;br /&gt;
         option domain-name &amp;quot;iesebre.com&amp;quot;;  &lt;br /&gt;
         option routers      192.168.2.1;   &lt;br /&gt;
         option netbios-name-servers 192.168.0.8; &lt;br /&gt;
 &lt;br /&gt;
         filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
     &lt;br /&gt;
 #Alumnat planta 2&lt;br /&gt;
 subnet 192.168.3.0 netmask 255.255.255.0 {&lt;br /&gt;
         option subnet-mask 255.255.255.0; &lt;br /&gt;
        range dynamic-bootp 192.168.3.200 192.168.3.254;&lt;br /&gt;
        default-lease-time 21600;&lt;br /&gt;
        max-lease-time 43200;&lt;br /&gt;
        option domain-name-servers      192.168.3.1,192.168.0.46;&lt;br /&gt;
        option domain-name &amp;quot;iesebre.com&amp;quot;;            &lt;br /&gt;
        option routers      192.168.3.1;              &lt;br /&gt;
        option netbios-name-servers 192.168.0.8;      &lt;br /&gt;
 &lt;br /&gt;
         filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
 }   &lt;br /&gt;
     &lt;br /&gt;
 #Alumnat planta 3&lt;br /&gt;
 subnet 192.168.4.0 netmask 255.255.255.0 {&lt;br /&gt;
         option subnet-mask 255.255.255.0; &lt;br /&gt;
         range dynamic-bootp 192.168.4.200 192.168.4.254;&lt;br /&gt;
         default-lease-time 21600;&lt;br /&gt;
         max-lease-time 43200;&lt;br /&gt;
         option domain-name-servers      192.168.4.1,192.168.0.46;&lt;br /&gt;
         option domain-name &amp;quot;iesebre.com&amp;quot;;            &lt;br /&gt;
         option routers      192.168.4.1;             &lt;br /&gt;
         option netbios-name-servers 192.168.0.8;      &lt;br /&gt;
 &lt;br /&gt;
         filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
 }   &lt;br /&gt;
     &lt;br /&gt;
 }   &lt;br /&gt;
&lt;br /&gt;
Tingueu en compte que al fitxer [[/etc/default/dhcp3-server]] només indiqueu la interfície física.&lt;br /&gt;
&lt;br /&gt;
 $ sudo cat /etc/default/dhcp3-server &lt;br /&gt;
 # Defaults for dhcp initscript&lt;br /&gt;
 # sourced by /etc/init.d/dhcp&lt;br /&gt;
 # installed at /etc/default/dhcp3-server by the maintainer scripts &lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # This is a POSIX shell fragment&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # On what interfaces should the DHCP server (dhcpd) serve DHCP requests?&lt;br /&gt;
 #	Separate multiple interfaces with spaces, e.g. &amp;quot;eth0 eth1&amp;quot;.&lt;br /&gt;
 INTERFACES=&amp;quot;intranet alumnat professorat gestio&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Consulteu [[IP Aliasing]].&lt;br /&gt;
&lt;br /&gt;
=== Establir els dominis de cerca ===&lt;br /&gt;
&lt;br /&gt;
Si només s'estableix&lt;br /&gt;
&lt;br /&gt;
 option domain-name &amp;quot;domini.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Aleshores el client tindrà al fitxer [[/etc/resolv.conf]]:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/resolv.conf&lt;br /&gt;
 ...&lt;br /&gt;
 domain domini.com&lt;br /&gt;
 search domini.com&lt;br /&gt;
&lt;br /&gt;
TODO...&lt;br /&gt;
&lt;br /&gt;
 subnet 192.168.202.0 netmask 255.255.255.0 {&lt;br /&gt;
         option subnet-mask              255.255.255.0;&lt;br /&gt;
         range dynamic-bootp 192.168.202.200 192.168.202.254;&lt;br /&gt;
         default-lease-time 21600;&lt;br /&gt;
         max-lease-time 43200;&lt;br /&gt;
         option domain-name-servers      192.168.202.1,192.168.0.4;&lt;br /&gt;
         '''option domain-name &amp;quot;informatica.iesebre.com&amp;quot;;'''&lt;br /&gt;
         '''option domain-search &amp;quot;iesebre.com&amp;quot;;'''&lt;br /&gt;
         option routers      192.168.202.1;&lt;br /&gt;
         option netbios-name-servers 192.168.202.1;  &lt;br /&gt;
 &lt;br /&gt;
         filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Els clients quedaran quelcom similar a:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/resolv.conf&lt;br /&gt;
 domain informatica.iesebre.com&lt;br /&gt;
 search informatica.iesebre.com iesebre.com.&lt;br /&gt;
 nameserver 192.168.202.1&lt;br /&gt;
 nameserver 192.168.0.4&lt;br /&gt;
&lt;br /&gt;
:*http://blog.andrew.net.au/2008/01/13&lt;br /&gt;
&lt;br /&gt;
= DHCP hooks =&lt;br /&gt;
&lt;br /&gt;
Recordeu que el fitxer dhclient-script és invocat pel client de DHCP ([[dhclient]]) en el següents moments:&lt;br /&gt;
&lt;br /&gt;
:*Establir la configuració inicial de les targetes de xarxa abans de demanar una adreça per DHCP&lt;br /&gt;
:*Per comprovar les adreces un cop han estat ofertes ([[DHCP_OFFER]])&lt;br /&gt;
:*Per establir la configuració final de la targeta de xarxa un cop un préstex ha estat adquirit.&lt;br /&gt;
:*Si no s'obté cap prèstec, també s'encarrega d'utilitzar els préstecs predefinits o fins i tot utilitzar algún préstec àntic&lt;br /&gt;
&lt;br /&gt;
Segons el manual:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] dhclient-script&lt;br /&gt;
 ...&lt;br /&gt;
 HOOKS&lt;br /&gt;
       When it starts, the client script first defines a shell function, make_resolv_conf , which is later used to create  the  /etc/resolv.conf  file.    To  override  the&lt;br /&gt;
       default behaviour, redefine this function in the enter hook script.&lt;br /&gt;
 &lt;br /&gt;
       On  after  defining the make_resolv_conf function, the client script checks for the presence of an executable /etc/dhcp3/dhclient-enter-hooks script, and if present,&lt;br /&gt;
       it invokes the script inline, using the Bourne shell '.' command.   The entire environment documented under OPERATION is available to this script, which  may  modify&lt;br /&gt;
       the  environment  if  needed to change the behaviour of the script.   If an error occurs during the execution of the script, it can set the exit_status variable to a&lt;br /&gt;
       nonzero value, and /sbin/dhclient-script will exit with that error code immediately after the client script exits.&lt;br /&gt;
 &lt;br /&gt;
       After all processing has completed, /sbin/dhclient-script checks for the presence of an executable /etc/dhcp3/dhclient-exit-hooks script, which if present is invoked&lt;br /&gt;
       using  the  '.'  command.  The exit status of dhclient-script will be passed to dhclient-exit-hooks in the exit_status shell variable, and will always be zero if the&lt;br /&gt;
       script succeeded at the task for which it was invoked.   The rest of the environment  as  described  previously  for  dhclient-enter-hooks  is  also  present.    The&lt;br /&gt;
       /etc/dhcp3/dhclient-exit-hooks script can modify the valid of exit_status to change the exit status of dhclient-script.&lt;br /&gt;
&lt;br /&gt;
És a dir l'script no està pensat per ser modificat directament, cal canviar o el fitxer de configuració [[/etc/dhcp3/dhclient.conf]] o cal utilitzar '''HOOKS'''.&lt;br /&gt;
&lt;br /&gt;
Els hooks s'utilitzen per a:&lt;br /&gt;
:*Establir el fitxer /etc/resolv.conf (funció de shell [[make_resolv_conf]])&lt;br /&gt;
:*Es pot canviar aquest funció redefinint-la a algun script hook d'entrada (enter hook script, fitxers de la carpeta [[dhclient-enter-hooks.d]])&lt;br /&gt;
:*Quan dhclient ha acabat totes les operacions es crida al fitxers de [[/etc/dhcp3/dhclient-exit-hooks.d]]&lt;br /&gt;
:*Alguns dels serveis que utilitzen els Hooks són [[Samba]] (Configurar el servidor [[WINS]]), [[NTP]] (configurar els servidors d'hora), entre d'altres.&lt;br /&gt;
&lt;br /&gt;
Es poden passar les següents variables d'entorn: &lt;br /&gt;
&lt;br /&gt;
 MEDIUM,  PREINIT,  BOUND,  RENEW, REBIND, REBOOT, EXPIRE, FAIL, STOP, RELEASE, NBI and TIMEOUT.&lt;br /&gt;
&lt;br /&gt;
Per saber quin tipus d'operació cal realitzar. Del manual:&lt;br /&gt;
&lt;br /&gt;
 OPERATION&lt;br /&gt;
        When  dhclient  needs  to  invoke  the client configuration script, it defines a set of variables in the environment, and then invokes /sbin/dhclient-script.  In all&lt;br /&gt;
        cases, $reason is set to the name of the reason why the script has been invoked.   The following reasons  are  currently  defined:  MEDIUM,  PREINIT,  BOUND,  RENEW,&lt;br /&gt;
        REBIND, REBOOT, EXPIRE, FAIL, STOP, RELEASE, NBI and TIMEOUT.&lt;br /&gt;
&lt;br /&gt;
Es controlen amb dos carpetes del client:&lt;br /&gt;
&lt;br /&gt;
 $ ls -l /etc/dhcp3/&lt;br /&gt;
 ...  &lt;br /&gt;
 dhclient-enter-hooks.d  &lt;br /&gt;
 dhclient-exit-hooks.d &lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
:*http://blogs.sun.com/darren/date/20041109#dhcp_eventhook&lt;br /&gt;
&lt;br /&gt;
===Depurar el client===&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/dhcp3/dhclient-enter-hooks.d$ cat debug &lt;br /&gt;
 # $Id: debug-enter,v 1.2 2003/06/18 18:11:21 peloy Exp $&lt;br /&gt;
 #&lt;br /&gt;
 # The purpose of this script is just to show the variables that are&lt;br /&gt;
 # available to all the scripts in this directory. All these scripts&lt;br /&gt;
 # are called from /etc/dhcp3/dhclient-script, which exports all the&lt;br /&gt;
 # variables shown before. If you want to debug a problem with your DHCP&lt;br /&gt;
 # setup you can enable this script and take a look at&lt;br /&gt;
 # /tmp/dhclient-script.debug.&lt;br /&gt;
 &lt;br /&gt;
 # To enable this script set the following variable to &amp;quot;yes&amp;quot;&lt;br /&gt;
 RUN=&amp;quot;no&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$RUN&amp;quot; = &amp;quot;yes&amp;quot; ]; then&lt;br /&gt;
 	echo `date`: entering dhclient-enter-hooks.d, dumping variables. \&lt;br /&gt;
 		&amp;gt;&amp;gt; /tmp/dhclient-script.debug&lt;br /&gt;
 &lt;br /&gt;
 	for i in reason interface medium alias_ip_address new_ip_address \&lt;br /&gt;
 		new_subnet_mask new_domain_name new_domain_search \&lt;br /&gt;
 		new_domain_name_servers \&lt;br /&gt;
 		new_routers new_static_routes old_ip_address old_subnet_mask \&lt;br /&gt;
 		old_domain_name old_domain_search old_domain_name_servers \&lt;br /&gt;
 		old_routers old_static_routes; do &lt;br /&gt;
 &lt;br /&gt;
 		echo $i=\'${!i}\' &amp;gt;&amp;gt; /tmp/dhclient-script.debug&lt;br /&gt;
 	done&lt;br /&gt;
 &lt;br /&gt;
 	echo '--------------------------' &amp;gt;&amp;gt; /tmp/dhclient-script.debug&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
===dhcpagent===&lt;br /&gt;
&lt;br /&gt;
:*http://blogs.sun.com/darren/date/20041109#dhcp_eventhook&lt;br /&gt;
&lt;br /&gt;
== DHCP Hook for static-routes==&lt;br /&gt;
&lt;br /&gt;
:*http://community.livejournal.com/unix_solution/3923.html&lt;br /&gt;
&lt;br /&gt;
== No actualitzar mai /etc/resolv.conf per DHCP ==&lt;br /&gt;
&lt;br /&gt;
:*http://www.cyberciti.biz/faq/dhclient-etcresolvconf-hooks/&lt;br /&gt;
&lt;br /&gt;
= Configuració de l'hora per DHCP. NTP Servers =&lt;br /&gt;
&lt;br /&gt;
Al servidor cal especificar l'opció:&lt;br /&gt;
&lt;br /&gt;
 option ntp-servers 192.168.1.100;&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[NTP]].&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://sipx-wiki.calivia.com/index.php/HowTo_Setup_an_NTP_Server_for_Time_Synchronization&lt;br /&gt;
*http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server&lt;br /&gt;
&lt;br /&gt;
==Client DHCP==&lt;br /&gt;
&lt;br /&gt;
El client DHCP del [[ISC]] configura el client [[ntpdate]] amb el fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/dhcp3/dhclient-exit-hooks.d/ntpdate&lt;br /&gt;
 NTPDATE_CONF=/etc/default/ntpdate&lt;br /&gt;
 NTPDATE_DHCP_CONF=/etc/default/ntpdate.dhcp&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
 ntp_servers_setup_remove() {&lt;br /&gt;
 	rm -f $NTPDATE_DHCP_CONF&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ntp_servers_setup_add() {&lt;br /&gt;
 	if [ -e $NTPDATE_DHCP_CONF ] &amp;amp;&amp;amp; [ &amp;quot;$new_ntp_servers&amp;quot; = &amp;quot;$old_ntp_servers&amp;quot; ]; then&lt;br /&gt;
 		return&lt;br /&gt;
	fi&lt;br /&gt;
 &lt;br /&gt;
 	if [ -z &amp;quot;$new_ntp_servers&amp;quot; ]; then&lt;br /&gt;
 		ntp_servers_setup_remove&lt;br /&gt;
 		return&lt;br /&gt;
 	fi&lt;br /&gt;
 &lt;br /&gt;
 	tmp=$(mktemp &amp;quot;$NTPDATE_DHCP_CONF.XXXXXX&amp;quot;) || return&lt;br /&gt;
 	chmod --reference=$NTPDATE_CONF $tmp&lt;br /&gt;
 	chown --reference=$NTPDATE_CONF $tmp&lt;br /&gt;
 &lt;br /&gt;
 	(&lt;br /&gt;
 	  echo &amp;quot;# NTP server entries received from DHCP server&amp;quot;&lt;br /&gt;
 	  echo &amp;quot;NTPSERVERS='$new_ntp_servers'&amp;quot;&lt;br /&gt;
 	) &amp;gt;&amp;gt;$tmp&lt;br /&gt;
 	&lt;br /&gt;
 	mv $tmp $NTPDATE_DHCP_CONF&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ntp_servers_setup() {&lt;br /&gt;
 	case $reason in&lt;br /&gt;
 		BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
 			ntp_servers_setup_add&lt;br /&gt;
 			;;&lt;br /&gt;
 		EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
 			ntp_servers_setup_remove&lt;br /&gt;
 			;; &lt;br /&gt;
 	esac&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 ntp_servers_setup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
i el servidor NTP gràcies al fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/dhcp3/dhclient-enter-hooks.d/ntp&lt;br /&gt;
 NTP_CONF=/etc/ntp.conf&lt;br /&gt;
 NTP_DHCP_CONF=/etc/ntp.conf.dhcp&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ntp_server_restart() { &lt;br /&gt;
 	[[invoke-rc.d]] ntp try-restart&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 ntp_servers_setup_remove() {&lt;br /&gt;
 	if [ ! -e $NTP_DHCP_CONF ]; then&lt;br /&gt;
 		return&lt;br /&gt;
 	fi&lt;br /&gt;
 	rm -f $NTP_DHCP_CONF&lt;br /&gt;
 	ntp_server_restart&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 ntp_servers_setup_add() {&lt;br /&gt;
 	if [ -e $NTP_DHCP_CONF ] &amp;amp;&amp;amp; [ &amp;quot;$new_ntp_servers&amp;quot; = &amp;quot;$old_ntp_servers&amp;quot; ]; then&lt;br /&gt;
 		return&lt;br /&gt;
 	fi&lt;br /&gt;
 &lt;br /&gt;
 	if [ -z &amp;quot;$new_ntp_servers&amp;quot; ]; then&lt;br /&gt;
 		ntp_servers_setup_remove&lt;br /&gt;
 		return&lt;br /&gt;
 	fi&lt;br /&gt;
 &lt;br /&gt;
 	tmp=$(mktemp &amp;quot;$NTP_DHCP_CONF.XXXXXX&amp;quot;) || return&lt;br /&gt;
 	chmod --reference=$NTP_CONF $tmp&lt;br /&gt;
 	chown --reference=$NTP_CONF $tmp&lt;br /&gt;
 &lt;br /&gt;
 	(&lt;br /&gt;
 	  echo &amp;quot;# This file was copied from $NTP_CONF with the server options changed&amp;quot;&lt;br /&gt;
 	  echo &amp;quot;# to reflect the information sent by the DHCP server.  Any changes made&amp;quot;&lt;br /&gt;
 	  echo &amp;quot;# here will be lost at the next DHCP event.  Edit $NTP_CONF instead.&amp;quot;&lt;br /&gt;
 	  echo&lt;br /&gt;
 	  echo &amp;quot;# NTP server entries received from DHCP server&amp;quot;&lt;br /&gt;
 	  for server in $new_ntp_servers; do&lt;br /&gt;
 		echo &amp;quot;server $server iburst&amp;quot;&lt;br /&gt;
 	  done&lt;br /&gt;
 	  echo&lt;br /&gt;
 	  sed -r -e '/^ *(server|peer).*$/d' $NTP_CONF&lt;br /&gt;
 	) &amp;gt;&amp;gt;$tmp&lt;br /&gt;
 	&lt;br /&gt;
 	mv $tmp $NTP_DHCP_CONF&lt;br /&gt;
 &lt;br /&gt;
 	ntp_server_restart&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 ntp_servers_setup() {&lt;br /&gt;
 	case $reason in&lt;br /&gt;
 		BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
 			ntp_servers_setup_add&lt;br /&gt;
 			;;&lt;br /&gt;
 		EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
 			ntp_servers_setup_remove&lt;br /&gt;
 			;;&lt;br /&gt;
 	esac&lt;br /&gt;
 } &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 ntp_servers_setup&lt;br /&gt;
&lt;br /&gt;
== Configuració del servidor WINS ==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Samba]] ([[Samba#Configuraci.C3.B3_amb_DHCP]]) i [[WINS]] ([[WINS#Configurar_el_servidor_Wins_amb_DHCP]]).&lt;br /&gt;
&lt;br /&gt;
=Exemple de configuració DHCP=&lt;br /&gt;
&lt;br /&gt;
==Configuració temporal==&lt;br /&gt;
&lt;br /&gt;
Durant el primer trimestre del 2008-09 i al principi del segon, s'han anat retirant IPCOP i configurant DHCP aula a aula. Actualment hi ha un fitxer de configuració per aula:&lt;br /&gt;
&lt;br /&gt;
 El fitxer principal de configuració és '''/etc/dhcp3/dhcpd.conf''':&lt;br /&gt;
&lt;br /&gt;
 ddns-update-style none&lt;br /&gt;
 &lt;br /&gt;
 option domain-name-servers 192.168.0.7, 80.58.61.250, 80.58.61.254;&lt;br /&gt;
 option domain-name &amp;quot;iescopernic.com&amp;quot;;&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 604800;&lt;br /&gt;
 &lt;br /&gt;
 authoritative;  &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Departament **************&lt;br /&gt;
 #subnet 192.168.12.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-departament.conf&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Aula 1      **************&lt;br /&gt;
 # subnet 192.168.1.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-aula1.conf&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Aula 2      **************&lt;br /&gt;
 # subnet 192.168.2.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-aula2.conf&amp;quot;;  &lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Aula 3      **************&lt;br /&gt;
 # subnet 192.168.3.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-aula3.conf&amp;quot;; &lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Aula 4      **************&lt;br /&gt;
 # subnet 192.168.4.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-aula4.conf&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Aula 5      **************&lt;br /&gt;
 # subnet 192.168.5.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-aula5.conf&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Aula 6      **************&lt;br /&gt;
 # subnet 192.168.6.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-aula6.conf&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Aula 7      **************&lt;br /&gt;
 # subnet 192.168.6.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-aula7.conf&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Aula 8      **************&lt;br /&gt;
 # subnet 192.168.8.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-laboratori.conf&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
Aquest fitxers s'ha anat obtenint a mà. Un cop estiguin totes les aules, es passarà a la [[#Configuració definitiva|configuració definitiva]] on tota la configuració del centre està en un únic fitxer que es pot generar amb un [[#script|script]].&lt;br /&gt;
&lt;br /&gt;
Per passar a la configuració definitiva caldrà executar:&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp dhcpd.conf.definitiu dhcpd.conf&lt;br /&gt;
&lt;br /&gt;
==Configuració definitiva==&lt;br /&gt;
&lt;br /&gt;
El servei de DHCP de les aules del departament d'informàtica està centralitzat al router on estan connectades totes les aules. A aquesta màquina l'anomenem:&lt;br /&gt;
&lt;br /&gt;
 [[Router del centre]]&lt;br /&gt;
&lt;br /&gt;
*'''IP''': 192.168.02&lt;br /&gt;
*'''Port SSH''': 22&lt;br /&gt;
&lt;br /&gt;
Els fitxers de configuració es troben a:&lt;br /&gt;
&lt;br /&gt;
 /etc/dhcp3&lt;br /&gt;
&lt;br /&gt;
El fitxer principal de configuració és '''/etc/dhcp3/dhcpd.conf''':&lt;br /&gt;
&lt;br /&gt;
 # *******************   Totes les aules     **************&lt;br /&gt;
 # subnet 192.168.1.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-AulesInformaticaiescopernic.conf&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # *******************   Ordinadors Departament **************&lt;br /&gt;
 #subnet 192.168.12.0 netmask 255.255.255.0&lt;br /&gt;
 include &amp;quot;/etc/dhcp3/dhcpd-departament.conf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Com podeu veure, hi ha un fitxer específic de configuració per al departament i un altre per a les aules del departament d'informàtica. El fitxer '''/etc/dhcp3/dhcpd-AulesInformaticaiescopernic.conf''' es genera amb la comanda:&lt;br /&gt;
&lt;br /&gt;
 $/etc/dhcp3/generadorFitxersDHCP/generador.sh &amp;gt; /etc/dhcp3/dhcpd-AulesInformaticaiescopernic.conf&lt;br /&gt;
&lt;br /&gt;
Les adreces IP s'assignen de la següent forma (on x és el número d'aula):&lt;br /&gt;
&lt;br /&gt;
*'''192.168.x.1''': Gateway&lt;br /&gt;
*'''192.168.x.2''': Ordinador del profe&lt;br /&gt;
*'''192.168.x.3''': pc01 (1r PC alumnes)&lt;br /&gt;
*'''192.168.x.18''': pc16 (Últim PC alumnes)&lt;br /&gt;
*'''192.168.x.20''': Switch Cisco (surt al DHCP tot i que estan configurats estàticament)&lt;br /&gt;
*'''192.168.x.21''': Punt d'accés si n'hi ha(surt al DHCP tot i que estan configurats estàticament)&lt;br /&gt;
&lt;br /&gt;
A altres màquines com portàtils, se'ls hi assigna adreces en el rang:&lt;br /&gt;
&lt;br /&gt;
 range 192.168.x.25-50;&lt;br /&gt;
&lt;br /&gt;
Les dades generals es troben al principi de l'script generador, definides per variables:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 PREFIX_FITXER_MACS=&amp;quot;macs_aula&amp;quot;;&lt;br /&gt;
 EXTENSIO_FITXER_MACS=&amp;quot;txt&amp;quot;;&lt;br /&gt;
 PREFIX_FITXERS_CONF=&amp;quot;dhcpd-aula&amp;quot;;&lt;br /&gt;
 SUFIX_FITXERS_CONF=&amp;quot;.conf&amp;quot;; &lt;br /&gt;
 &lt;br /&gt;
 #Exemple Fitxer CONF: dhcpd-aula6.conf&lt;br /&gt;
 #Exemple Fitxer MACS: macs_aula &lt;br /&gt;
 &lt;br /&gt;
 MASK=&amp;quot;255.255.255.0&amp;quot;;&lt;br /&gt;
 BROADCAST_SUFIX=&amp;quot;.255&amp;quot;&lt;br /&gt;
 SUBNET_PREFIX=&amp;quot;192.168.&amp;quot;;&lt;br /&gt;
 SUBNET_SUFIX=&amp;quot;.0&amp;quot;;&lt;br /&gt;
 MIN_IP=&amp;quot;.25&amp;quot;;&lt;br /&gt;
 MAX_IP=&amp;quot;.50&amp;quot;;&lt;br /&gt;
 ROUTER_IP=&amp;quot;.1&amp;quot;; &lt;br /&gt;
 &lt;br /&gt;
 DNS1=&amp;quot;192.168.0.7&amp;quot;;&lt;br /&gt;
 DNS2=&amp;quot;195.235.113.3&amp;quot;;&lt;br /&gt;
 DNS3=&amp;quot;195.235.96.90&amp;quot;; &lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 PREFIX_PC=&amp;quot;pc&amp;quot;;&lt;br /&gt;
 PREFIX_PROFE=&amp;quot;profe&amp;quot;;&lt;br /&gt;
 PREFIX_PUNT_ACCES=&amp;quot;pa&amp;quot;;&lt;br /&gt;
 PREFIX_SWITCH_CISCO=&amp;quot;cisco&amp;quot;; &lt;br /&gt;
 &lt;br /&gt;
 SUFIX_IP_PROFE=&amp;quot;.2&amp;quot;; &lt;br /&gt;
 &lt;br /&gt;
 TERMINACIO_IP_PROFE=&amp;quot;2&amp;quot;&lt;br /&gt;
 TERMINACIO_IP_SWITCH_CISCO=&amp;quot;20&amp;quot;;&lt;br /&gt;
 TERMINACIO_IP_PUNT_ACCES=&amp;quot;21&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': Es podria assignar uns temps de prèstecs més grans a les màquines fixes i uns de més petits als portàtils i altres màquines?&lt;br /&gt;
&lt;br /&gt;
Aquest fitxers es poden generar automàticament amb un [[#script|script]] que trobareu a la carpeta:&lt;br /&gt;
&lt;br /&gt;
 /etc/dhcp3/generadorFitxersDHCP&lt;br /&gt;
&lt;br /&gt;
i que s'anomena:&lt;br /&gt;
&lt;br /&gt;
 generador.sh&lt;br /&gt;
&lt;br /&gt;
Per executar-lo:&lt;br /&gt;
&lt;br /&gt;
  $/etc/dhcp3/generadorFitxersDHCP/generador.sh &amp;gt; /etc/dhcp3/dhcpd-AulesInformaticaiescopernic.conf&lt;br /&gt;
&lt;br /&gt;
Aquest generador &amp;quot;s'alimenta&amp;quot; de les dades dels fitxers:&lt;br /&gt;
&lt;br /&gt;
 /etc/dhcp3/generadorFitxersDHCP/macs_aula1.txt&lt;br /&gt;
 /etc/dhcp3/generadorFitxersDHCP/macs_aula2.txt&lt;br /&gt;
 /etc/dhcp3/generadorFitxersDHCP/macs_aula3.txt&lt;br /&gt;
 /etc/dhcp3/generadorFitxersDHCP/macs_aula4.txt&lt;br /&gt;
 /etc/dhcp3/generadorFitxersDHCP/macs_aula5.txt&lt;br /&gt;
 /etc/dhcp3/generadorFitxersDHCP/macs_aula6.txt&lt;br /&gt;
 /etc/dhcp3/generadorFitxersDHCP/macs_aula7.txt&lt;br /&gt;
 /etc/dhcp3/generadorFitxersDHCP/macs_aula8.txt&lt;br /&gt;
&lt;br /&gt;
Que contenen les MACs de les màquines del centre, incloent la IP de profe, del punt d'accés (si hi ha, s'esta pensat en treure'ls? - --[[Usuari:Sergi|Sergi]] 19:58, 21 gen 2009 (CET) -) i del switch Cisco.&lt;br /&gt;
&lt;br /&gt;
A mode d'exemple el contingut del fitxer de l'aula1:&lt;br /&gt;
&lt;br /&gt;
 # **** Macs de l'Aula 1 ****&lt;br /&gt;
 # No toqueu els comentaris d'aquest fitxer. Només modifiqueu el valors de&lt;br /&gt;
 # les MAC allà on correspongui.&lt;br /&gt;
 # Primer va la MAC del professor. Després del punt d'accés i el commutador &lt;br /&gt;
 # Cisco. Despreś ve una llista ordenada de les MAC de la classe&lt;br /&gt;
 # Cada aula disposa d'un mapa que està a l'armari de comunicacions de l'aula&lt;br /&gt;
 # També podeu consultar els mapes a la wiki del departament:&lt;br /&gt;
 # https://www.iescopernic.com/departament/index.php/Configuraci%C3%B3_de_la_xarxa._Aules&lt;br /&gt;
 #&lt;br /&gt;
 #Punt accés&lt;br /&gt;
 pa 00:80:5A:4B:89:C8&lt;br /&gt;
 #Switch cisco&lt;br /&gt;
 cisco 00:15:FA:9B:A7:C0&lt;br /&gt;
 #Profe&lt;br /&gt;
 profe 00:30:05:eb:38:55&lt;br /&gt;
 #Alumnes&lt;br /&gt;
 pc1 00:0f:fe:de:90:e7 &lt;br /&gt;
 pc2 00:0f:fe:de:83:89  &lt;br /&gt;
 pc3 00:0f:fe:de:81:7d  &lt;br /&gt;
 pc4 00:0f:fe:de:85:57  &lt;br /&gt;
 pc5 00:0f:fe:de:81:87&lt;br /&gt;
 pc6 00:0f:fe:de:80:e5&lt;br /&gt;
 pc7 00:0f:fe:de:81:f7&lt;br /&gt;
 pc8 00:0f:fe:de:84:17  &lt;br /&gt;
 pc9 00:0f:fe:de:82:9b&lt;br /&gt;
 pc10 00:0f:fe:de:84:f9  &lt;br /&gt;
 pc11 00:0f:fe:de:84:51&lt;br /&gt;
 pc12 00:0f:fe:de:7c:9b&lt;br /&gt;
 pc13 00:0f:fe:de:8f:89  &lt;br /&gt;
 pc14 00:0f:fe:de:90:4b &lt;br /&gt;
 pc15 00:0f:fe:de:84:67&lt;br /&gt;
 pc16 00:0f:fe:de:7b:65&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''':Per al correcte funcionament del generador cal respectar l'ordre de les màquines i no esborrar els comentaris.&lt;br /&gt;
  &lt;br /&gt;
Al curs 2008/09 tenim les següents MAC:&lt;br /&gt;
&lt;br /&gt;
 https://www.iescopernic.com/mediawiki/index.php/2008-2009/Aula1&lt;br /&gt;
 https://www.iescopernic.com/mediawiki/index.php/2008-2009/Aula2&lt;br /&gt;
 https://www.iescopernic.com/mediawiki/index.php/2008-2009/Aula3&lt;br /&gt;
 https://www.iescopernic.com/mediawiki/index.php/2008-2009/Aula4&lt;br /&gt;
 https://www.iescopernic.com/mediawiki/index.php/2008-2009/Aula5&lt;br /&gt;
 https://www.iescopernic.com/mediawiki/index.php/2008-2009/Aula6&lt;br /&gt;
 https://www.iescopernic.com/mediawiki/index.php/2008-2009/Aula7&lt;br /&gt;
 https://www.iescopernic.com/mediawiki/index.php/2008-2009/Aula8&lt;br /&gt;
&lt;br /&gt;
Podeu obtenir més informació sobre DHCP a:&lt;br /&gt;
&lt;br /&gt;
 http://acacha.dyndns.org/mediawiki/index.php/DHCP&lt;br /&gt;
&lt;br /&gt;
=Script per generar automàticament el fitxer dhcpd.conf=&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 PREFIX_FITXER_MACS=&amp;quot;macs_aula&amp;quot;;&lt;br /&gt;
 EXTENSIO_FITXER_MACS=&amp;quot;txt&amp;quot;;&lt;br /&gt;
 PREFIX_FITXERS_CONF=&amp;quot;dhcpd-aula&amp;quot;;&lt;br /&gt;
 SUFIX_FITXERS_CONF=&amp;quot;.conf&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 #Exemple Fitxer CONF: dhcpd-aula6.conf&lt;br /&gt;
 #Exemple Fitxer MACS: macs_aula&lt;br /&gt;
 &lt;br /&gt;
 MASK=&amp;quot;255.255.255.0&amp;quot;;&lt;br /&gt;
 BROADCAST_SUFIX=&amp;quot;.255&amp;quot;&lt;br /&gt;
 SUBNET_PREFIX=&amp;quot;192.168.&amp;quot;;&lt;br /&gt;
 SUBNET_SUFIX=&amp;quot;.0&amp;quot;;&lt;br /&gt;
 MIN_IP=&amp;quot;.25&amp;quot;;&lt;br /&gt;
 MAX_IP=&amp;quot;.50&amp;quot;;&lt;br /&gt;
 ROUTER_IP=&amp;quot;.1&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 DNS1=&amp;quot;192.168.0.7&amp;quot;;&lt;br /&gt;
 DNS2=&amp;quot;195.235.113.3&amp;quot;;&lt;br /&gt;
 DNS3=&amp;quot;195.235.96.90&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 PREFIX_PC=&amp;quot;pc&amp;quot;;&lt;br /&gt;
 PREFIX_PROFE=&amp;quot;profe&amp;quot;;&lt;br /&gt;
 PREFIX_PUNT_ACCES=&amp;quot;pa&amp;quot;;&lt;br /&gt;
 PREFIX_SWITCH_CISCO=&amp;quot;cisco&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 SUFIX_IP_PROFE=&amp;quot;.2&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 TERMINACIO_IP_PROFE=&amp;quot;2&amp;quot;&lt;br /&gt;
 TERMINACIO_IP_SWITCH_CISCO=&amp;quot;20&amp;quot;;&lt;br /&gt;
 TERMINACIO_IP_PUNT_ACCES=&amp;quot;21&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 i=1;  &lt;br /&gt;
 &lt;br /&gt;
 ls ${PREFIX_FITXER_MACS}*.$EXTENSIO_FITXER_MACS | while read FILENAME;&lt;br /&gt;
  do&lt;br /&gt;
   #ITERACIo FITXER A FITXER&lt;br /&gt;
   &lt;br /&gt;
   echo &amp;quot;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;#*************** CONFIGURACIÓ DHCP AULA $i *****************************&amp;quot;&lt;br /&gt;
   #Configuració general&lt;br /&gt;
   echo &amp;quot;subnet ${SUBNET_PREFIX}${i}${SUBNET_SUFIX} netmask $MASK {&amp;quot;;&lt;br /&gt;
   echo &amp;quot;     range ${SUBNET_PREFIX}${i}$MIN_IP ${SUBNET_PREFIX}${i}$MAX_IP;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;     option subnet-mask ${MASK};&amp;quot;;&lt;br /&gt;
   echo &amp;quot;     option broadcast-address ${SUBNET_PREFIX}${i}${BROADCAST_SUFIX};&amp;quot;;&lt;br /&gt;
   echo &amp;quot;     option routers ${SUBNET_PREFIX}${i}$ROUTER_IP;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;     option domain-name-servers $DNS1, $DNS2, $DNS3;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;}&amp;quot;;&lt;br /&gt;
   echo &amp;quot;&amp;quot;;&lt;br /&gt;
                                   	&lt;br /&gt;
   #MAC PROFESSOR&lt;br /&gt;
   echo &amp;quot;host pcprofe_aula$i {&amp;quot;;&lt;br /&gt;
   echo &amp;quot;         hardware ethernet `cat $FILENAME | grep -v '^#' | grep $PREFIX_PROFE | awk '{print $2}'`;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;         fixed-address 192.168.${i}.$TERMINACIO_IP_PROFE;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;}&amp;quot;;&lt;br /&gt;
   echo &amp;quot;&amp;quot;;&lt;br /&gt;
                          &lt;br /&gt;
 &lt;br /&gt;
  #MAC SWITCH CISCO&lt;br /&gt;
  echo &amp;quot;host switch_cisco_aula$i  {&amp;quot;;&lt;br /&gt;
  echo &amp;quot;         hardware ethernet `cat $FILENAME | grep -v '^#' | grep $PREFIX_SWITCH_CISCO | awk '{print $2}'`;&amp;quot;;&lt;br /&gt;
  echo &amp;quot;         fixed-address 192.168.${i}.$TERMINACIO_IP_SWITCH_CISCO;&amp;quot;;&lt;br /&gt;
  echo &amp;quot;}&amp;quot;;&lt;br /&gt;
  echo &amp;quot;&amp;quot;; &lt;br /&gt;
  &lt;br /&gt;
  #MAC PUNT ACCES&lt;br /&gt;
  echo &amp;quot;host punt_acces_aula$i  {&amp;quot;;&lt;br /&gt;
  echo &amp;quot;         hardware ethernet `cat $FILENAME | grep -v '^#' | grep $PREFIX_PUNT_ACCES | awk '{print $2}'`;&amp;quot;;&lt;br /&gt;
  echo &amp;quot;         fixed-address 192.168.${i}.$TERMINACIO_IP_PUNT_ACCES;&amp;quot;;&lt;br /&gt;
  echo &amp;quot;}&amp;quot;;  &lt;br /&gt;
  echo &amp;quot;&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  j=1;     &lt;br /&gt;
  k=3;    &lt;br /&gt;
 &lt;br /&gt;
  cat $FILENAME | grep -v '^#' | grep pc | awk '{print $2}' | while read MAC;&lt;br /&gt;
   do&lt;br /&gt;
    echo &amp;quot;host pc${j}_aula$i  {&amp;quot;; &lt;br /&gt;
    echo &amp;quot;         hardware ethernet $MAC;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;         fixed-address 192.168.${i}.${k};&amp;quot;;&lt;br /&gt;
    echo &amp;quot;}&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;quot;;&lt;br /&gt;
     j=$(($j + 1))&lt;br /&gt;
    k=$(($k + 1))&lt;br /&gt;
   done&lt;br /&gt;
   &lt;br /&gt;
  i=$(($i + 1))&lt;br /&gt;
 &lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
=Client DHCP alternatiu=&lt;br /&gt;
&lt;br /&gt;
La següent comanda instal·la Pump i desinstal·la dhclient:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pump dhclient-&lt;br /&gt;
&lt;br /&gt;
No disposo més informació sobre pump.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Cisco i DHCP Relay=&lt;br /&gt;
&lt;br /&gt;
If your routers are cisco like&lt;br /&gt;
just add &amp;quot;ip helper-address dhcp.server.ip.address&amp;quot; configuration in&lt;br /&gt;
each vlan interface&lt;br /&gt;
like:&lt;br /&gt;
Switch&amp;gt;enable&lt;br /&gt;
Switch#configure terminal&lt;br /&gt;
Switch(config)#interface vlan 1968&lt;br /&gt;
Switch(config-if)#ip helper-address 192.168.100.200&lt;br /&gt;
Switch(config-if)#end&lt;br /&gt;
&lt;br /&gt;
then the router will relay dhcp packets between dhcp server and dhcp client&lt;br /&gt;
&lt;br /&gt;
if you want to use a dhcp server with many virtual interface to do this&lt;br /&gt;
you need&lt;br /&gt;
1. a nic with 802.1q vlan support on your dhcp server&lt;br /&gt;
2. define virtual interfaces on your dhcp server machine&lt;br /&gt;
3. define a trunk port which directly connect to dhcp server's nic and&lt;br /&gt;
brings all vlan tag to the nic of dhcp server&lt;br /&gt;
cisco like config is :&lt;br /&gt;
Switch&amp;gt;enable&lt;br /&gt;
Switch#configure terminal&lt;br /&gt;
Switch(config)#vtp mode transparent&lt;br /&gt;
Switch(config)#interface gigabitEthernet 0/12&lt;br /&gt;
Switch(config-if)#switchport trunk encapsulation dot1q&lt;br /&gt;
Switch(config-if)#switchport mode trunk&lt;br /&gt;
Switch(config-if)#end&lt;br /&gt;
&lt;br /&gt;
4. tell dhcp server to listen dhcp packets on virtual interfaces&lt;br /&gt;
&lt;br /&gt;
however, maybe nic won't support more than 64 vlans&lt;br /&gt;
so, i think you need both router's dhcp relay and dhcp server's virtual&lt;br /&gt;
interface configuration&lt;br /&gt;
(mix L2 and L3 traffic on the router or core switch)&lt;br /&gt;
&lt;br /&gt;
finally, you can download cisco's &amp;quot;Multilayer Switch Software&lt;br /&gt;
Configuration Guide&amp;quot; of their products&lt;br /&gt;
on cisco's web site, their manual is really easy to understand.&lt;br /&gt;
&lt;br /&gt;
*https://lists.isc.org/pipermail/dhcp-users/2006-August/001509.html&lt;br /&gt;
&lt;br /&gt;
=Servidor DHCP en xarxa LAN compartida=&lt;br /&gt;
&lt;br /&gt;
Vegeu l'opció:&lt;br /&gt;
&lt;br /&gt;
 shared-network&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 [[DHCP#Xarxes_compartides_.28shared_networks.29._M.C3.BAltiples_interf.C3.ADcies_virtuals_en_una_mateixa_targeta_de_xarxa_f.C3.ADsica]]&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://andrewbevitt.com/tutorials/linux-multiwan-router/final-notes/&lt;br /&gt;
&lt;br /&gt;
==dhcp-server-identifier==&lt;br /&gt;
&lt;br /&gt;
Alguns commutadors com Cisco poden enrutar paquets DHCPamb el que s'anomena [[ip-helper]]&lt;br /&gt;
&lt;br /&gt;
*https://lists.isc.org/pipermail/dhcp-users/2006-August/001515.html&lt;br /&gt;
&lt;br /&gt;
=Resolució d'errors. TroubleShooting=&lt;br /&gt;
&lt;br /&gt;
==DHCP i Spanning Tree Protocol (STP). Switches Cisco==&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;fast-spanning-tree&amp;quot; or &amp;quot;spanning-tree-fast&amp;quot; for the user-ports.&lt;br /&gt;
&lt;br /&gt;
'''Documentació de Cisco''':&lt;br /&gt;
*http://cco.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a00800f0804.shtml&lt;br /&gt;
&lt;br /&gt;
Consulteu també l'apartat [[DRBL#Switchs_Cisco_.28Spanning_Tree_protocol.29_i_problemes_amb_Etherboot | Spanning tree protocol i problemes amb PXE/Etherboot]] de l'article sobre [[drbl]].&lt;br /&gt;
&lt;br /&gt;
'''Recursos'''&lt;br /&gt;
*http://forums13.itrc.hp.com/service/forums/questionanswer.do?admit=109447627+1237300970712+28353475&amp;amp;threadId=604920&lt;br /&gt;
*http://standalone-sysadmin.blogspot.com/2009/02/spanning-tree-and-dhcp-knowledge-doesnt.html&lt;br /&gt;
*http://techrepublic.com.com/5208-6230-0.html?forumID=102&amp;amp;threadID=283599&amp;amp;messageID=2682256&lt;br /&gt;
&lt;br /&gt;
==No IP at boot/startup o inici amb DHCP==&lt;br /&gt;
&lt;br /&gt;
Podeu tornar a demanar una IP amb la comanda:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dhclient eth0&lt;br /&gt;
&lt;br /&gt;
Sembla que hi ha un error relacionat amb el rellotge del sistema:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/default/rcS&lt;br /&gt;
 #&lt;br /&gt;
 # /etc/default/rcS&lt;br /&gt;
 #&lt;br /&gt;
 # Default settings for the scripts in /etc/rcS.d/&lt;br /&gt;
 #&lt;br /&gt;
 # For information about these variables see the rcS(5) manual page.&lt;br /&gt;
 #&lt;br /&gt;
 # This file belongs to the &amp;quot;initscripts&amp;quot; package.&lt;br /&gt;
 &lt;br /&gt;
 TMPTIME=60&lt;br /&gt;
 SULOGIN=no&lt;br /&gt;
 DELAYLOGIN=no&lt;br /&gt;
 UTC=no&lt;br /&gt;
 VERBOSE=no&lt;br /&gt;
 FSCKFIX=no&lt;br /&gt;
&lt;br /&gt;
Cal canviar el rellotge UTC a si:&lt;br /&gt;
&lt;br /&gt;
 UTC=yes&lt;br /&gt;
&lt;br /&gt;
Afegir a /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
  pre-up sleep 10&lt;br /&gt;
&lt;br /&gt;
Problemes amb els temps de préstec i els els renews d'aquest préstecs. Al client es poden consultar els préstecs al fitxer :&lt;br /&gt;
&lt;br /&gt;
 $ /var/lib/dhcp3/dhclient.eth1.leases&lt;br /&gt;
&lt;br /&gt;
 Ok, I think I found the problem:&lt;br /&gt;
 &lt;br /&gt;
 The networking initscript in /etc/rcS.d is started *before* hwclock.sh (which sets the correct local time). dhcp3 picks up the wrong time and, depending  &lt;br /&gt;
 on the UTC-Offset, thinks its lease is still valid and never sends a DHCP-Request.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 I fixed it by starting hwclock.sh earlier (for example renaming it to S09hwclock.sh) and deleting /var/lib/dhcp3/dhclient.eth0.leases .&lt;br /&gt;
&lt;br /&gt;
*https://bugs.launchpad.net/ubuntu/+source/dhcp3/+bug/33968&lt;br /&gt;
*https://bugs.launchpad.net/ubuntu/+source/dhcp3/+bug/33968&lt;br /&gt;
&lt;br /&gt;
===Fer que Windows utilitzi UTC===&lt;br /&gt;
&lt;br /&gt;
Create a file named WindowsTimeFixUTC.reg with the following contents and then double click on it to merge the contents with the registry:&lt;br /&gt;
&lt;br /&gt;
 Windows Registry Editor Version 5.00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]&lt;br /&gt;
     &amp;quot;RealTimeIsUniversal&amp;quot;=dword:00000001&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*https://help.ubuntu.com/community/UbuntuTime#Make%20Windows%20use%20UTC&lt;br /&gt;
&lt;br /&gt;
=Arrancada de xarxa i DHCP=&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 [[Pxelinux#Configuraci.C3.B3_de_DHCP]]&lt;br /&gt;
&lt;br /&gt;
i [[TFTP]].&lt;br /&gt;
&lt;br /&gt;
=Script de creació automàtica de fitxers=&lt;br /&gt;
&lt;br /&gt;
==Scripts 1==&lt;br /&gt;
&lt;br /&gt;
 #/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 FILENAME=hosts_ordenat.csv&lt;br /&gt;
 &lt;br /&gt;
 cat $FILENAME | while read line;&lt;br /&gt;
  do&lt;br /&gt;
      NAME=`echo $line | awk '{print $1}'`&lt;br /&gt;
      IP=`echo $line | awk '{print $2}'`&lt;br /&gt;
      MAC=`echo $line | awk '{print $3}'`&lt;br /&gt;
      echo &amp;quot;host ${NAME}  {&amp;quot;;&lt;br /&gt;
      echo &amp;quot;         hardware ethernet ${MAC};&amp;quot;;&lt;br /&gt;
      echo &amp;quot;         fixed-address ${IP};&amp;quot;;&lt;br /&gt;
      echo &amp;quot;}&amp;quot;;&lt;br /&gt;
      echo &amp;quot;&amp;quot;;&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
o amb [[heredoc]]:&lt;br /&gt;
&lt;br /&gt;
 #/bin/bash&lt;br /&gt;
&lt;br /&gt;
FILENAME=hosts_ordenat.csv&lt;br /&gt;
&lt;br /&gt;
 cat $FILENAME | while read line;&lt;br /&gt;
  do&lt;br /&gt;
      NAME=`echo $line | awk '{print $1}'`&lt;br /&gt;
      IP=`echo $line | awk '{print $2}'`&lt;br /&gt;
      MAC=`echo $line | awk '{print $3}'`&lt;br /&gt;
      cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
      host ${NAME}  {&lt;br /&gt;
               hardware ethernet ${MAC};&lt;br /&gt;
               fixed-address ${IP};&lt;br /&gt;
      }&lt;br /&gt;
 EOF&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
{{nota|El EOF de tancament ha d'estar a l'inici de la fila}}&lt;br /&gt;
On el fitxers és:&lt;br /&gt;
&lt;br /&gt;
 $ cat hosts_ordenat.csv &lt;br /&gt;
 A20-2PC01 192.168.7.101 00:10:5c:f2:be:38&lt;br /&gt;
 A20-2PC02 192.168.7.102 00:1a:92:9d:db:ab&lt;br /&gt;
 A20-2PC03 192.168.7.103 00:1b:fc:65:cc:1b&lt;br /&gt;
 A20-2PC04 192.168.7.104 00:10:5C:F2:BE:39&lt;br /&gt;
 A20-2PC05 192.168.7.105 00:10:5C:F2:ED:D2&lt;br /&gt;
 A20-2PC06 192.168.7.106 00:1b:fc:08:75:42&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==Script 2==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 PREFIX_FITXER_MACS=&amp;quot;macs_aula&amp;quot;;&lt;br /&gt;
 EXTENSIO_FITXER_MACS=&amp;quot;txt&amp;quot;;&lt;br /&gt;
 PREFIX_FITXERS_CONF=&amp;quot;dhcpd-aula&amp;quot;;&lt;br /&gt;
 SUFIX_FITXERS_CONF=&amp;quot;.conf&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 #Exemple Fitxer CONF: dhcpd-aula6.conf&lt;br /&gt;
 #Exemple Fitxer MACS: macs_aula&lt;br /&gt;
 &lt;br /&gt;
 MASK=&amp;quot;255.255.255.0&amp;quot;;&lt;br /&gt;
 BROADCAST_SUFIX=&amp;quot;.255&amp;quot;&lt;br /&gt;
 SUBNET_PREFIX=&amp;quot;192.168.&amp;quot;;&lt;br /&gt;
 SUBNET_SUFIX=&amp;quot;.0&amp;quot;;&lt;br /&gt;
 MIN_IP=&amp;quot;.25&amp;quot;;&lt;br /&gt;
 MAX_IP=&amp;quot;.50&amp;quot;;&lt;br /&gt;
 ROUTER_IP=&amp;quot;.1&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 DNS1=&amp;quot;192.168.0.7&amp;quot;;&lt;br /&gt;
 DNS2=&amp;quot;195.235.113.3&amp;quot;;&lt;br /&gt;
 DNS3=&amp;quot;195.235.96.90&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
 &lt;br /&gt;
 PREFIX_PC=&amp;quot;pc&amp;quot;;&lt;br /&gt;
 PREFIX_PROFE=&amp;quot;profe&amp;quot;;&lt;br /&gt;
 PREFIX_PUNT_ACCES=&amp;quot;pa&amp;quot;;&lt;br /&gt;
 PREFIX_SWITCH_CISCO=&amp;quot;cisco&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 SUFIX_IP_PROFE=&amp;quot;.2&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 TERMINACIO_IP_PROFE=&amp;quot;2&amp;quot;&lt;br /&gt;
 TERMINACIO_IP_SWITCH_CISCO=&amp;quot;20&amp;quot;;&lt;br /&gt;
 TERMINACIO_IP_PUNT_ACCES=&amp;quot;21&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 i=1;  &lt;br /&gt;
 &lt;br /&gt;
 ls ${PREFIX_FITXER_MACS}*.$EXTENSIO_FITXER_MACS | while read FILENAME;&lt;br /&gt;
  do&lt;br /&gt;
   #ITERACIo FITXER A FITXER&lt;br /&gt;
   &lt;br /&gt;
   echo &amp;quot;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;#*************** CONFIGURACIÓ DHCP AULA $i *****************************&amp;quot;&lt;br /&gt;
   #Configuració general&lt;br /&gt;
   echo &amp;quot;subnet ${SUBNET_PREFIX}${i}${SUBNET_SUFIX} netmask $MASK {&amp;quot;;&lt;br /&gt;
   echo &amp;quot;     range ${SUBNET_PREFIX}${i}$MIN_IP ${SUBNET_PREFIX}${i}$MAX_IP;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;     option subnet-mask ${MASK};&amp;quot;;&lt;br /&gt;
   echo &amp;quot;     option broadcast-address ${SUBNET_PREFIX}${i}${BROADCAST_SUFIX};&amp;quot;;&lt;br /&gt;
   echo &amp;quot;     option routers ${SUBNET_PREFIX}${i}$ROUTER_IP;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;     option domain-name-servers $DNS1, $DNS2, $DNS3;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;}&amp;quot;;&lt;br /&gt;
   echo &amp;quot;&amp;quot;;&lt;br /&gt;
                                   	&lt;br /&gt;
   #MAC PROFESSOR&lt;br /&gt;
   echo &amp;quot;host pcprofe_aula$i {&amp;quot;;&lt;br /&gt;
   echo &amp;quot;         hardware ethernet `cat $FILENAME | grep -v '^#' | grep $PREFIX_PROFE | awk '{print $2}'`;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;         fixed-address 192.168.${i}.$TERMINACIO_IP_PROFE;&amp;quot;;&lt;br /&gt;
   echo &amp;quot;}&amp;quot;;&lt;br /&gt;
   echo &amp;quot;&amp;quot;;&lt;br /&gt;
                          &lt;br /&gt;
 &lt;br /&gt;
  #MAC SWITCH CISCO&lt;br /&gt;
  echo &amp;quot;host switch_cisco_aula$i  {&amp;quot;;&lt;br /&gt;
  echo &amp;quot;         hardware ethernet `cat $FILENAME | grep -v '^#' | grep $PREFIX_SWITCH_CISCO | awk '{print $2}'`;&amp;quot;;&lt;br /&gt;
  echo &amp;quot;         fixed-address 192.168.${i}.$TERMINACIO_IP_SWITCH_CISCO;&amp;quot;;&lt;br /&gt;
  echo &amp;quot;}&amp;quot;;&lt;br /&gt;
  echo &amp;quot;&amp;quot;; &lt;br /&gt;
  &lt;br /&gt;
  #MAC PUNT ACCES&lt;br /&gt;
  echo &amp;quot;host punt_acces_aula$i  {&amp;quot;;&lt;br /&gt;
  echo &amp;quot;         hardware ethernet `cat $FILENAME | grep -v '^#' | grep $PREFIX_PUNT_ACCES | awk '{print $2}'`;&amp;quot;;&lt;br /&gt;
  echo &amp;quot;         fixed-address 192.168.${i}.$TERMINACIO_IP_PUNT_ACCES;&amp;quot;;&lt;br /&gt;
  echo &amp;quot;}&amp;quot;;  &lt;br /&gt;
  echo &amp;quot;&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  j=1;     &lt;br /&gt;
  k=3;    &lt;br /&gt;
 &lt;br /&gt;
  cat $FILENAME | grep -v '^#' | grep pc | awk '{print $2}' | while read MAC;&lt;br /&gt;
   do&lt;br /&gt;
    echo &amp;quot;host pc${j}_aula$i  {&amp;quot;; &lt;br /&gt;
    echo &amp;quot;         hardware ethernet $MAC;&amp;quot;;&lt;br /&gt;
    echo &amp;quot;         fixed-address 192.168.${i}.${k};&amp;quot;;&lt;br /&gt;
    echo &amp;quot;}&amp;quot;;&lt;br /&gt;
    echo &amp;quot;&amp;quot;;&lt;br /&gt;
     j=$(($j + 1))&lt;br /&gt;
    k=$(($k + 1))&lt;br /&gt;
   done&lt;br /&gt;
   &lt;br /&gt;
  i=$(($i + 1))&lt;br /&gt;
 &lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Exemple de fitxers de MACS:&lt;br /&gt;
&lt;br /&gt;
 $ cat macs_aula1.txt &lt;br /&gt;
 # **** Macs de l'Aula 1 ****&lt;br /&gt;
 # No toqueu els comentaris d'aquest fitxer. Només modifiqueu el valors de&lt;br /&gt;
 # les MAC allà on correspongui.&lt;br /&gt;
 # Primer va la MAC del professor. Després del punt d'accés i el commutador &lt;br /&gt;
 # Cisco. Despreś ve una llista ordenada de les MAC de la classe&lt;br /&gt;
 # Cada aula disposa d'un mapa que està a l'armari de comunicacions de l'aula&lt;br /&gt;
 # També podeu consultar els mapes a la wiki del departament:&lt;br /&gt;
 # https://www.iescopernic.com/departament/index.php/Configuraci%C3%B3_de_la_xarxa._Aules&lt;br /&gt;
 #&lt;br /&gt;
 #Punt accés&lt;br /&gt;
 pa 00:80:5A:4B:89:C8&lt;br /&gt;
 #Switch cisco&lt;br /&gt;
 cisco 00:15:FA:9B:A7:C0&lt;br /&gt;
 #Profe&lt;br /&gt;
 profe 00:30:05:eb:38:55&lt;br /&gt;
 #Alumnes&lt;br /&gt;
 pc1 00:13:8f:bc:70:9d&lt;br /&gt;
 pc2 00:13:8f:db:85:79&lt;br /&gt;
 pc3 00:13:8f:bc:6f:94&lt;br /&gt;
 pc4 00:13:8f:bc:70:79&lt;br /&gt;
 pc5 00:13:8f:bc:70:85&lt;br /&gt;
 pc6 00:13:8f:bc:6e:e0&lt;br /&gt;
 pc7 00:13:8f:bb:77:28&lt;br /&gt;
 pc8 00:13:ff:ff:70:a9&lt;br /&gt;
 pc9 00:13:8f:bc:70:84&lt;br /&gt;
 pc10 00:13:8f:bc:70:82&lt;br /&gt;
 pc11 00:13:8f:bc:70:90&lt;br /&gt;
 pc12 00:13:8f:bc:70:80&lt;br /&gt;
 pc13 00:19:66:b6:c7:94&lt;br /&gt;
 pc14 00:13:8f:bc:70:a5&lt;br /&gt;
 pc15 00:13:8f:bc:70:7c&lt;br /&gt;
 pc16 00:13:8f:bc:6b:29&lt;br /&gt;
&lt;br /&gt;
===FOG===&lt;br /&gt;
&lt;br /&gt;
He creat un Servei per a FOG que crea les assignacions fixes automàticament. Consulteu [[FOg]]&lt;br /&gt;
&lt;br /&gt;
=Exemples. Com fer?=&lt;br /&gt;
&lt;br /&gt;
==Múltiples servidors DHCP en un mateix segment de xarxa==&lt;br /&gt;
&lt;br /&gt;
===Com impedir que s'assigni IP a les màquines que no estigui definides===&lt;br /&gt;
&lt;br /&gt;
Podeu utilitzar '''boot-unknown-clients''', segons el manual:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] dhcpd.conf&lt;br /&gt;
    The boot-unknown-clients statement&lt;br /&gt;
  &lt;br /&gt;
   boot-unknown-clients flag;&lt;br /&gt;
 &lt;br /&gt;
   If  the  boot-unknown-clients  statement  is  present  and has a value of false or off, then &lt;br /&gt;
 clients for which there is no host declaration will not be allowed to&lt;br /&gt;
 obtain IP addresses.   If this statement is not present or has a value of true or on, then &lt;br /&gt;
 clients  without  host  declarations  will  be  allowed  to  obtain  IP&lt;br /&gt;
 addresses, as long as those addresses are not restricted by allow and deny statements within &lt;br /&gt;
 their pool declarations.&lt;br /&gt;
&lt;br /&gt;
==== Allow i deny a les declaracions pool ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Assignar una IP només si està lliure. ping==&lt;br /&gt;
&lt;br /&gt;
Es pot utilitzar els paràmetres ping-check i ping-timeout. Cal tenir en compte que introdueix un retard en la resposta que pot ser important segons el tipus de client.&lt;br /&gt;
&lt;br /&gt;
 The ping-check statement&lt;br /&gt;
 &lt;br /&gt;
          ping-check flag;&lt;br /&gt;
 &lt;br /&gt;
          When the DHCP server is considering dynamically allocating an IP address to a client, it first sends an ICMP Echo request (a ping) to the address being  assigned.&lt;br /&gt;
          It  waits for a second, and if no ICMP Echo response has been heard, it assigns the address.   If a response is heard, the lease is abandoned, and the server does&lt;br /&gt;
          not respond to the client.&lt;br /&gt;
 &lt;br /&gt;
          This ping check introduces a default one-second delay in responding to DHCPDISCOVER messages, which can be a problem for some clients.   The default delay of  one&lt;br /&gt;
          second  may  be  configured  using the ping-timeout parameter.  The ping-check configuration parameter can be used to control checking - if its value is false, no&lt;br /&gt;
          ping check is done.&lt;br /&gt;
 &lt;br /&gt;
       The ping-timeout statement&lt;br /&gt;
 &lt;br /&gt;
          ping-timeout seconds;&lt;br /&gt;
 &lt;br /&gt;
          If the DHCP server determined it should send an ICMP echo request (a ping) because the ping-check statement is true, ping-timeout allows you to configure how many&lt;br /&gt;
          seconds  the  DHCP server should wait for an ICMP Echo response to be heard, if no ICMP Echo response has been received before the timeout expires, it assigns the&lt;br /&gt;
          address.  If a response is heard, the lease is abandoned, and the server does not respond to the client.  If no value is set, ping-timeout defaults to 1 second.&lt;br /&gt;
&lt;br /&gt;
==IP Aliasing i DHCP==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
  The server-identifier statement&lt;br /&gt;
 &lt;br /&gt;
          server-identifier hostname;&lt;br /&gt;
 &lt;br /&gt;
          The server-identifier statement can be used to define the value that is sent in the DHCP Server Identifier option for a given scope.   The value specified must be&lt;br /&gt;
          an IP address for the DHCP server, and must be reachable by all clients served by a particular scope.&lt;br /&gt;
 &lt;br /&gt;
          The use of the server-identifier statement is not recommended - the only reason to use it is to force a value other than the default value to be sent on occasions&lt;br /&gt;
          where  the  default  value  would  be  incorrect.    The default value is the first IP address associated with the physical network interface on which the request&lt;br /&gt;
          arrived.&lt;br /&gt;
 &lt;br /&gt;
          The usual case where the server-identifier statement needs to be sent is when a physical interface has more than one IP address, and the one being sent by default&lt;br /&gt;
          isn’t  appropriate  for  some  or all clients served by that interface.  Another common case is when an alias is defined for the purpose of having a consistent IP&lt;br /&gt;
          address for the DHCP server, and it is desired that the clients use this IP address when contacting the server.&lt;br /&gt;
 &lt;br /&gt;
          Supplying a value for the dhcp-server-identifier option is equivalent to using the server-identifier statement.&lt;br /&gt;
&lt;br /&gt;
== Noms de màquina==&lt;br /&gt;
&lt;br /&gt;
  use-host-decl-names flag;&lt;br /&gt;
 &lt;br /&gt;
          If the use-host-decl-names parameter is true in a given scope, then for every host declaration within that scope, the name provided for the host declaration  will&lt;br /&gt;
          be supplied to the client as its hostname.   So, for example,&lt;br /&gt;
 &lt;br /&gt;
              group {&lt;br /&gt;
                use-host-decl-names on;&lt;br /&gt;
 &lt;br /&gt;
                host joe {&lt;br /&gt;
                  hardware ethernet 08:00:2b:4c:29:32;&lt;br /&gt;
                  fixed-address joe.fugue.com;&lt;br /&gt;
                }&lt;br /&gt;
              }&lt;br /&gt;
 &lt;br /&gt;
          is equivalent to&lt;br /&gt;
 &lt;br /&gt;
                host joe {&lt;br /&gt;
                  hardware ethernet 08:00:2b:4c:29:32;&lt;br /&gt;
                  fixed-address joe.fugue.com;&lt;br /&gt;
                  option host-name &amp;quot;joe&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
*http://prefetch.net/blog/index.php/2009/07/14/how-the-isc-dhcp-server-derives-host-names/&lt;br /&gt;
&lt;br /&gt;
== DHCP i dinàmic DNS ==&lt;br /&gt;
&lt;br /&gt;
*http://www.randombugs.com/linux/linux-isc-dhcp-server-dynamic-dns-updates-debian-ubuntu.html&lt;br /&gt;
&lt;br /&gt;
==Rogue DHCP servers==&lt;br /&gt;
&lt;br /&gt;
*[http://trac.secdev.org/scapy/wiki/IdentifyingRogueDHCPServers scapy]&lt;br /&gt;
*[http://www.net.princeton.edu/software/dhcp_probe/ dhcpprobe]&lt;br /&gt;
*https://roguedetect.bountysource.com/&lt;br /&gt;
*http://freshmeat.net/projects/roguedetect/&lt;br /&gt;
&lt;br /&gt;
=DHCP secundari=&lt;br /&gt;
&lt;br /&gt;
 subnet 192.168.200.0 netmask 255.255.255.0 {&lt;br /&gt;
        option subnet-mask 255.255.255.0;&lt;br /&gt;
        option broadcast-address 192.168.200.255;&lt;br /&gt;
        option routers 192.168.200.1;&lt;br /&gt;
        option domain-name-servers 192.168.200.1;&lt;br /&gt;
        pool {&lt;br /&gt;
        failover peer &amp;quot;dhcp-failover&amp;quot;;&lt;br /&gt;
        max-lease-time 1800; # 30 minutes&lt;br /&gt;
        range 192.168.200.100 192.168.200.254;&lt;br /&gt;
               }&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
The following configuration would be placed on the secondary server:&lt;br /&gt;
&lt;br /&gt;
        authoritative;&lt;br /&gt;
       ddns-update-style none;&lt;br /&gt;
       failover peer &amp;quot;dhcp-failover&amp;quot; {&lt;br /&gt;
       secondary; # declare this to be the secondary server&lt;br /&gt;
       address 192.168.200.3;&lt;br /&gt;
       port 520;&lt;br /&gt;
       peer address 192.168.200.2;&lt;br /&gt;
       peer port 520;&lt;br /&gt;
       max-response-delay 30;&lt;br /&gt;
       max-unacked-updates 10;&lt;br /&gt;
       load balance max seconds 3;&lt;br /&gt;
          }&lt;br /&gt;
       subnet 192.168.200.0 netmask 255.255.255.0 {&lt;br /&gt;
       option subnet-mask 255.255.255.0;&lt;br /&gt;
       option broadcast-address 192.168.200.255;&lt;br /&gt;
       option routers 192.168.200.1;&lt;br /&gt;
                                                               Page 13 of 16&lt;br /&gt;
 option domain-name-servers 192.168.200.1;&lt;br /&gt;
 pool {&lt;br /&gt;
 failover peer &amp;quot;dhcp-failover&amp;quot;;&lt;br /&gt;
 max-lease-time 1800; # 30 minutes&lt;br /&gt;
 range 192.168.200.100 192.168.200.254;&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
=Pràctiques i exercicis=&lt;br /&gt;
&lt;br /&gt;
*[[Exercicis de DNS i DHCP]]&lt;br /&gt;
&lt;br /&gt;
=Vegeu també=&lt;br /&gt;
&lt;br /&gt;
*[[Arrancada de xarxa]]&lt;br /&gt;
*[[pxelinux]]&lt;br /&gt;
*[[DRBL_i_clonezilla#DRBL | DRBL]]&lt;br /&gt;
*[[syslinux]]&lt;br /&gt;
*[[TFTP]]&lt;br /&gt;
&lt;br /&gt;
=Enllaços externs=&lt;br /&gt;
*[http://es.wikipedia.org/wiki/DHCP DHCP en la wikipedia(es)]&lt;br /&gt;
*[http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/cnet/cncb_dhc_nxxi.mspx?mfr=true DHCP Client States in the Lease Process]&lt;br /&gt;
*[http://www.tcpipguide.com/free/t_DHCPGeneralOperationandClientFiniteStateMachine.htm DHCP General Operation and Client Finite State Machine]&lt;br /&gt;
&lt;br /&gt;
[[Category:DissenyXarxesLinux]] [[Category:LinuxAdministracioAvancada]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Eines_per_a_tests_de_c%C3%A0rrega</id>
		<title>Eines per a tests de càrrega</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Eines_per_a_tests_de_c%C3%A0rrega"/>
				<updated>2010-07-06T07:58:37Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Generar trànsit amb siege i fitxers access.log d'un Proxy d'un entorn d'Execució */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=PacketMime=&lt;br /&gt;
&lt;br /&gt;
http://dirt.cs.unc.edu/packmime/&lt;br /&gt;
&lt;br /&gt;
=ApacheBench=&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/ApacheBench&lt;br /&gt;
&lt;br /&gt;
=Siege=&lt;br /&gt;
&lt;br /&gt;
http://www.joedog.org/Siege/Manual &lt;br /&gt;
&lt;br /&gt;
=Jmeter d'Apache=&lt;br /&gt;
&lt;br /&gt;
==Instal·lació des dels repositoris==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install jmeter&lt;br /&gt;
&lt;br /&gt;
La versió  instal·lada és (Ubuntu karmic):&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -l | grep jmeter&lt;br /&gt;
 ii  jmeter                                2.3.4-0ubuntu5                             Load testing and performance measurement app&lt;br /&gt;
&lt;br /&gt;
Hi han altres paquets per mesurar altres protocols que no siguin HTTP:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-cache search jmeter&lt;br /&gt;
 jmeter - Load testing and performance measurement application.&lt;br /&gt;
 jmeter-apidoc - Load testing and performance measurement application.&lt;br /&gt;
 jmeter-ftp - Load testing and performance measurement application.&lt;br /&gt;
 jmeter-help - Load testing and performance measurement application.&lt;br /&gt;
 jmeter-http - Load testing and performance measurement application.&lt;br /&gt;
 jmeter-java - Load testing and performance measurement application.&lt;br /&gt;
 jmeter-jms - Load testing and performance measurement application.&lt;br /&gt;
 jmeter-junit - Load testing and performance measurement application.&lt;br /&gt;
 jmeter-ldap - Load testing and performance measurement application.&lt;br /&gt;
 jmeter-mail - Load testing and performance measurement application.&lt;br /&gt;
 jmeter-tcp - Load testing and performance measurement application.&lt;br /&gt;
&lt;br /&gt;
==Instal·lació dels binaris de la web d'Apache==&lt;br /&gt;
&lt;br /&gt;
Descarregueu JMeter:&lt;br /&gt;
&lt;br /&gt;
 $ wget http://apache.rediris.es/jakarta/jmeter/binaries/jakarta-jmeter-2.3.4.tgz&lt;br /&gt;
&lt;br /&gt;
Trobareu la última versió a:&lt;br /&gt;
&lt;br /&gt;
 http://jakarta.apache.org/jmeter/&lt;br /&gt;
&lt;br /&gt;
Descomprimiu i instal·leu amb:&lt;br /&gt;
&lt;br /&gt;
 $ tar xvfz jakarta-jmeter-2.3.4.tgz&lt;br /&gt;
&lt;br /&gt;
 $ cd ./jakarta-jmeter-2.3.4/bin&lt;br /&gt;
 $ ./jmeter&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': L'aplicació utilitza Java&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://jakarta.apache.org/jmeter/&lt;br /&gt;
*http://www.johnandcailin.com/blog/john/load-test-your-drupal-application-scalability-apache-jmeter&lt;br /&gt;
&lt;br /&gt;
== Exemple d'ús ==&lt;br /&gt;
&lt;br /&gt;
*http://alagad.com/blog/post.cfm/site-testing-with-apache-s-jakarta-jmeter&lt;br /&gt;
*http://www.alagad.com/blog/post.cfm/apache-s-jmeter-part-iii-using-a-csv-to-replicate-real-traffic&lt;br /&gt;
&lt;br /&gt;
==Documentació==&lt;br /&gt;
&lt;br /&gt;
*http://wiki.apache.org/jakarta-jmeter/FrontPage&lt;br /&gt;
&lt;br /&gt;
==Simular trànsit a partir de fitxers access.log==&lt;br /&gt;
&lt;br /&gt;
http://jakarta.apache.org/jmeter/usermanual/jmeter_accesslog_sampler_step_by_step.pdf&lt;br /&gt;
&lt;br /&gt;
=apache2-utils=&lt;br /&gt;
&lt;br /&gt;
'''Comanda ab (apache benchmarking)''':&lt;br /&gt;
&lt;br /&gt;
Aquesta comanda la proporciona el paquet '''apache2-utils''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -S /usr/sbin/ab&lt;br /&gt;
 apache2-utils: /usr/sbin/ab&lt;br /&gt;
&lt;br /&gt;
 $ ab -n 10000 -c 10 http://www.dominiexemple.com/index.html&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.camelrichard.org/apache-prefork-vs-worker&lt;br /&gt;
&lt;br /&gt;
==siege==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install siege&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L siege | grep bin&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/siege&lt;br /&gt;
 /usr/bin/bombardment&lt;br /&gt;
 /usr/bin/siege.config&lt;br /&gt;
 /usr/bin/siege2csv &lt;br /&gt;
&lt;br /&gt;
'''Configuració''':&lt;br /&gt;
&lt;br /&gt;
 $ siege.config&lt;br /&gt;
&lt;br /&gt;
 $ siege -C&lt;br /&gt;
 CURRENT  SIEGE  CONFIGURATION&lt;br /&gt;
 JoeDog/1.00 [en] (X11; I; Siege 2.65b1)&lt;br /&gt;
 Edit the resource file to change the settings.&lt;br /&gt;
 ----------------------------------------------&lt;br /&gt;
 version:                        2.65b1&lt;br /&gt;
 verbose:                        true&lt;br /&gt;
 debug:                          false&lt;br /&gt;
 protocol:                       HTTP/1.1&lt;br /&gt;
 connection:                     close&lt;br /&gt;
 concurrent users:               15&lt;br /&gt;
 time to run:                    n/a&lt;br /&gt;
 repetitions:                    n/a&lt;br /&gt;
 socket timeout:                 30&lt;br /&gt;
 delay:                          1 sec&lt;br /&gt;
 internet simulation:            false&lt;br /&gt;
 benchmark mode:                 false&lt;br /&gt;
 failures until abort:           1024&lt;br /&gt;
 named URL:                      none&lt;br /&gt;
 URLs file:                      /etc/urls.txt&lt;br /&gt;
 logging:                        true&lt;br /&gt;
 log file:                       /var/siege.log&lt;br /&gt;
 resource file:                  /home/sergi/.siegerc&lt;br /&gt;
 allow redirects:                true&lt;br /&gt;
 allow zero byte data:           true&lt;br /&gt;
 allow chunked encoding:         true&lt;br /&gt;
 proxy auth:                     &lt;br /&gt;
 www auth:                       &lt;br /&gt;
&lt;br /&gt;
 $ siege -g URL&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.joedog.org/JoeDog/Siege&lt;br /&gt;
&lt;br /&gt;
===Generar trànsit amb siege i fitxers access.log d'un Proxy d'un entorn d'Execució===&lt;br /&gt;
&lt;br /&gt;
Podeu obtenir un fitxer de log d'exemple (log real d'una escola d'educació secundària):&lt;br /&gt;
 &lt;br /&gt;
 $ wget http://acacha.org/~sergi/Squid/access.log&lt;br /&gt;
&lt;br /&gt;
Per exemple les últimes mil posicions:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tail -n 1000 access.log | awk '{print $7}' &amp;gt; requests.urls&lt;br /&gt;
&lt;br /&gt;
El fitxer el podeu utilitzar amb siege:&lt;br /&gt;
&lt;br /&gt;
O amb [[wget]]:&lt;br /&gt;
&lt;br /&gt;
 $ wget -i requests.urls&lt;br /&gt;
&lt;br /&gt;
Moltes peticions no funcionaran correctament per que son peticions directes SSL, per eliminar-les:&lt;br /&gt;
&lt;br /&gt;
 $ cat requests.urls | grep ^http | sort | uniq &amp;gt; requests1.urls&lt;br /&gt;
&lt;br /&gt;
Hi ha un total de 1375533 peticions:&lt;br /&gt;
&lt;br /&gt;
 $ wc -l requests.urls &lt;br /&gt;
 1375533 requests.urls&lt;br /&gt;
&lt;br /&gt;
===sproxy===&lt;br /&gt;
&lt;br /&gt;
És una eina que facilita la tasca de crear fitxers url per a Siege.&lt;br /&gt;
&lt;br /&gt;
http://www.joedog.org/index/sproxy-manual&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Benchmark de sistemes Unix=&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Benchmark de sistemes Unix]].&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Debootstrap</id>
		<title>Debootstrap</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Debootstrap"/>
				<updated>2010-07-03T15:27:15Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Tasques a realitzar a la imatge buida */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Instal·lar un sistema Debian bàsic amb debootstrap==&lt;br /&gt;
&lt;br /&gt;
Primer creeu el fitxer vm_base amb els passos de [[Dd#Com_crear_discos_swap_i_ext3_en_fitxers]]&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop /vserver/images/vm_base.img /vserver/vm_base&lt;br /&gt;
 $ sudo debootstrap --arch i386 sarge /vserver/vm_base/ http://ftp2.de.debian.org/debian&lt;br /&gt;
 $ sudo chroot /vserver/vm_base&lt;br /&gt;
 $ sudo apt-setup&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
 $ sudo apt-get install localeconf&lt;br /&gt;
 $ base-config&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.howtoforge.com/perfect_xen_setup_debian_ubuntu_p4&lt;br /&gt;
&lt;br /&gt;
==Instal·lació de debootstrap i configuració per a Ubuntu==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install debootstrap&lt;br /&gt;
 $ export ARCH=amd64&lt;br /&gt;
 $ export DISTRIBUTION=hardy&lt;br /&gt;
 $ export MIRROR=http://us.archive.ubuntu.com/ubuntu/&lt;br /&gt;
 $ debootstrap --arch $ARCH $DISTRIBUTION /mnt/myguest/ $MIRROR&lt;br /&gt;
&lt;br /&gt;
==Instal·lació d'una Ubuntu==&lt;br /&gt;
&lt;br /&gt;
Create missing symlink:-&lt;br /&gt;
 &lt;br /&gt;
 # ln -s /usr/share/debootstrap/scripts/gutsy /usr/share/debootstrap/scripts/jaunty&lt;br /&gt;
 &lt;br /&gt;
Deboostrap new Jaunty Guest:-&lt;br /&gt;
 &lt;br /&gt;
 # debootstrap --arch=amd64 --include=linux-image-server,grub --components=main,universe,multiverse jaunty /mnt/xen http://us.archive.ubuntu.com/ubuntu/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tasques a realitzar a la imatge buida==&lt;br /&gt;
&lt;br /&gt;
 # LANG=C chroot /mnt/temp /bin/bash&lt;br /&gt;
 # export TERM=xterm-color&lt;br /&gt;
 # mount -t proc proc /pro&lt;br /&gt;
 # editor /etc/default/rcS&lt;br /&gt;
 # dpkg-reconfigure tzdata&lt;br /&gt;
 # editor /etc/network/interfaces&lt;br /&gt;
 # editor /etc/resolv.conf&lt;br /&gt;
 # echo DebianHostName &amp;gt; /etc/hostname&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1 localhost DebianHostName&lt;br /&gt;
 &lt;br /&gt;
 # The following lines are desirable for IPv6 capable hosts&lt;br /&gt;
 ::1     ip6-localhost ip6-loopback&lt;br /&gt;
 fe00::0 ip6-localnet&lt;br /&gt;
 ff00::0 ip6-mcastprefix&lt;br /&gt;
 ff02::1 ip6-allnodes&lt;br /&gt;
 ff02::2 ip6-allrouters&lt;br /&gt;
 ff02::3 ip6-allhosts&lt;br /&gt;
&lt;br /&gt;
 # apt-get install locales&lt;br /&gt;
 # dpkg-reconfigure locales&lt;br /&gt;
 # aptitude install console-data&lt;br /&gt;
 # dpkg-reconfigure console-data&lt;br /&gt;
&lt;br /&gt;
 # apt-cache search linux-image&lt;br /&gt;
&lt;br /&gt;
/etc/kernel-img.conf: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # Kernel image management overrides&lt;br /&gt;
 # See kernel-img.conf(5) for details&lt;br /&gt;
 do_symlinks = yes&lt;br /&gt;
 relative_links = yes&lt;br /&gt;
 do_bootloader = yes&lt;br /&gt;
 do_bootfloppy = no&lt;br /&gt;
 do_initrd = yes&lt;br /&gt;
 link_in_boot = no&lt;br /&gt;
&lt;br /&gt;
 # aptitude install linux-image-2.6.26-arch-etc&lt;br /&gt;
&lt;br /&gt;
 # aptitude install grub&lt;br /&gt;
 # grub-install /dev/hda&lt;br /&gt;
 # update-grub&lt;br /&gt;
 # tasksel install standard&lt;br /&gt;
 # aptitude clean&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/default/locale&lt;br /&gt;
&lt;br /&gt;
I afegir:&lt;br /&gt;
&lt;br /&gt;
 LANG=&amp;quot;ca_ES.UTF-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Recursos'''&lt;br /&gt;
*http://www.debian.org/releases/stable/i386/apds03.html.en&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
*[[dd]]&lt;br /&gt;
*[[Xen]]&lt;br /&gt;
*[[Ubuntu LTSP Server]]&lt;br /&gt;
*[[LPI_101.1]]. {{101.1Title}}&lt;br /&gt;
*[[LPI_101.2]]. {{101.2Title}}&lt;br /&gt;
*[[LPI_101.3]]. {{101.3Title}}&lt;br /&gt;
*[[Xen]]&lt;br /&gt;
*[[VirtualBox]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/CMS</id>
		<title>CMS</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/CMS"/>
				<updated>2010-05-09T11:09:41Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducció ==&lt;br /&gt;
&lt;br /&gt;
Un [[Sistema Gestor de Continguts]], de l'anglès [[Content Management System]] ([[CMS]]) és una col·lecció de procediments utilitzats per controlar el flux de treball en un entorn de treball col·laboratiu. &lt;br /&gt;
&lt;br /&gt;
En informàtica sovint el terme s'utilitza per fer referència a aquelles aplicacions (sovint [[Aplicacions Web]]) que permeten gestionar els continguts d'un lloc web.&lt;br /&gt;
&lt;br /&gt;
==Tipus de CMS==&lt;br /&gt;
&lt;br /&gt;
Es poden classificar en 6 subcategories:&lt;br /&gt;
&lt;br /&gt;
*[[Enterprise content management|Enterprise CMS]] ([[ECMS]])&lt;br /&gt;
*[[Web content management system|Web CMS]] (WCMS). Alguns exemples són [[Mediawiki]], [[Moodle]], [[Joomla]], [[Plone]]...&lt;br /&gt;
*[[Document management system]] ([[DMS]]): per exemple podeu consultar [[Alfresco]] o [[openKM]].&lt;br /&gt;
*[[Mobile content management system]]&lt;br /&gt;
*[[Component content management system]]&lt;br /&gt;
*[[Media content management system]]&lt;br /&gt;
*[[Learning Content Management System]] ([[LMS]]): per exemple [[Moodle]].&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
:*[[Wordpress]]&lt;br /&gt;
:*[[Mediawiki]]&lt;br /&gt;
:*[[Moodle]]&lt;br /&gt;
:*[[Alfresco]]&lt;br /&gt;
:*[[Joomla]]&lt;br /&gt;
:*[[Plone]]&lt;br /&gt;
:*[[Aplicacions_web_LOE]]&lt;br /&gt;
:*[[Gestors documentals]]&lt;br /&gt;
:*[[Aplicacions web LOE/Sessió de gestors documentals]]&lt;br /&gt;
&lt;br /&gt;
==Enllaços externs==&lt;br /&gt;
&lt;br /&gt;
:*http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_contenidos&lt;br /&gt;
:*http://en.wikipedia.org/wiki/Content_management_system&lt;br /&gt;
:*http://www.cmsenespanol.com/&lt;br /&gt;
:*[http://www.cmsmatrix.org/ CMS matrix]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Content_Management_System</id>
		<title>Content Management System</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Content_Management_System"/>
				<updated>2010-05-09T11:06:30Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Redirecció a CMS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[CMS]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Nivell_d%27internet_TCP/IP</id>
		<title>Nivell d'internet TCP/IP</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Nivell_d%27internet_TCP/IP"/>
				<updated>2010-05-05T12:00:06Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlantillaCurs&lt;br /&gt;
| curs                   = [[DissenyXarxesLinux]], [[LinuxAdministracioAvancada]], [[LPIC1_102]]&lt;br /&gt;
| fitxers                = Consulteu [[LPI_109.1]]&lt;br /&gt;
| repositori             = https://svn.projectes.lafarga.cat/svn/iescopernic/ServeisInternet/moodle/Wifi&lt;br /&gt;
| autors                 = [[Sergi Tur Badenas]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{nota|Si busqueu l'eina/ordre ip consulteu [[ip]]}}&lt;br /&gt;
&lt;br /&gt;
{{Nivells TCP_IP}}&lt;br /&gt;
&lt;br /&gt;
==Correspondència amb nivells OSI==&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:ProtocolIP.png|thumb|350px]]&lt;br /&gt;
&lt;br /&gt;
El nivell de xarxa és l'encarregat de realitzar les tasques bàsiques per transportar les dades des d'un origen fins a una destinació a traves d'una xarxa.&lt;br /&gt;
&lt;br /&gt;
Aquest nivell correspon al nivell 3 de xarxa de la OSI. Són pràcticament iguals, simplement canvia el nom i la família de protocols TCP/IP es centra només en el protocol IP.&lt;br /&gt;
&lt;br /&gt;
En canvi correspon al nivell 3 de l'arquitectura TCP/IP.&lt;br /&gt;
&lt;br /&gt;
==Xarxes WAN==&lt;br /&gt;
&lt;br /&gt;
A diferència de les xarxes d'àrea local on s'utilitzen protocols de medi compartit o LANS conmutadas (Ethernet) les xarxes WAN tenen una estructura de malla on les màquines estan connectades punt a punt amb una sola connexió entre màquines o un nombre limitat de connexions en sistema redundant en el cas de nodes troncals.&lt;br /&gt;
&lt;br /&gt;
[[Imatge:WAN.png|center]]&lt;br /&gt;
&lt;br /&gt;
Entre cada màquina hi ha una connexió a nivell d'enllaç (nivell 2 OSI). Un dels protocols més utilitzats és PPP (connexions cable i ADSL) però hi ha d'altres com Frame Relay o ATM.&lt;br /&gt;
&lt;br /&gt;
'''Wide Area Network (WAN)'''&lt;br /&gt;
:*El nivell de xarxa treballa amb tot tipus de xarxes però adquireix la seva raó de ser quan treballem amb múltiples xarxes.&lt;br /&gt;
:*A la xarxa formada per aquest subconjunt de xarxes o subxarxes de l'anomena WAN (Wide Area Network)&lt;br /&gt;
&lt;br /&gt;
Un exemple de xarxa LAN que podria ser considerada xarxa WAN (un conjunt de subxarxes LAN):&lt;br /&gt;
&lt;br /&gt;
[[Imatge:WAN1.png|center]]&lt;br /&gt;
&lt;br /&gt;
==Protocol IP==&lt;br /&gt;
&lt;br /&gt;
IP és el protocol més utilitzat a nivell de xarxa ja que és el protocol de la xarxa Internet. Aquest protocol ha sofert forces canvis i modificacions des de la seva primera versió, actualment (--[[Usuari:Sergi|acacha]] 03:37, 26 abr 2010 (UTC)) la versió del protocol que s'està utilitzant és la versió 4 (Ipv4) que data del 1980. Al 1996 es va proposar la versió [[IPv6]] que tot i que actualment les adreces IP de la versió 4 s'estan exhaurint encara no està prou implantat a Internet.&lt;br /&gt;
&lt;br /&gt;
IP és un protocol [[Best Effort]] (el millor esforç possible), és a dir intenta transmetre els paquets el millor possible per la xarxa però no pot assegurar:&lt;br /&gt;
:*Que els paquets arribin &lt;br /&gt;
:*Que els paquets arribin correctament (sense errors)&lt;br /&gt;
:*Que els paquets arribin en ordre&lt;br /&gt;
&lt;br /&gt;
{{nota|És el nivell superior (transport) és qui fa el control d'errors}}&lt;br /&gt;
&lt;br /&gt;
La Internet Engineering Task Force (IETF) és qui s'encarrega de definir el protocol IP.&lt;br /&gt;
&lt;br /&gt;
Les funcions del protocol IP són:&lt;br /&gt;
:*Control de la xarxa/subxarxa&lt;br /&gt;
:*'''Encaminament''': Determinar la ruta (nodes de xarxa pels quals circular) més adequada per als paquets&lt;br /&gt;
:*'''Identificació''': Els nodes han de tenir una identificació única que els permeti distingir dels altres nodes i localitzar-los a la xarxa. ADREÇES IP&lt;br /&gt;
:*'''Control de la congestió''': determina quins són els camins menys congestionats (similar al trànsit rodat)&lt;br /&gt;
:*'''Interconnexió de xarxes'''&lt;br /&gt;
&lt;br /&gt;
El protocol IP treballa amb blocs de dades de xarxa (3-PDU) anomenats paquets.&lt;br /&gt;
&lt;br /&gt;
===Breu història===&lt;br /&gt;
&lt;br /&gt;
TCP/IP va ser creat pel DoD (Departament of Defense) dels Estats Units amb l'objectiu de crear una xarxa que sobrevisques a qualsevol circumstància (per exemple un atac Nuclear). La idea era que les comunicacions funcionessin encara que un moment concret un o més nodes de xarxa estiguin caiguts.&lt;br /&gt;
&lt;br /&gt;
IP ha anat creixent a mesura que Internet anava creixent. Per exemple la primera versió d'IP era per a xarxes de com a màxim 25 màquines (32 màquines). La següent versió era per a 24(16) xarxes i 28 (256) màquines per xarxa. La versió actual suporta 232(4.294.967.296 màquines)&lt;br /&gt;
&lt;br /&gt;
Actualment uns 4 billions d'adreces no són suficients adreces. S'està implantant poc a poc el protocol IPv6 amb 2128 (3,4x1038 màquines). &lt;br /&gt;
&lt;br /&gt;
 Consulteu [[IPv6]].&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:IPComparison.png|center]]&lt;br /&gt;
&lt;br /&gt;
===Encaminament===&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:WAN2.png|thumb|Xarxa WAN amb enllaços [[PPP]]]]&lt;br /&gt;
&lt;br /&gt;
És el mecanisme pel qual en una xarxa els paquets es fan arribar d'un origen a una destinació seguint un camí o ruta concreta. Cada node de la xarxa, quan rep un paquet a de prendre una decisió de que fer amb aquest paquet:&lt;br /&gt;
:*Quedar-se el paquet quan ell és el destinatari&lt;br /&gt;
:*Enviar al paquet cap a un altre node veí ([[FORWARDING]])&lt;br /&gt;
:*O potser eliminar el paquet per què és incorrecta.&lt;br /&gt;
&lt;br /&gt;
Els routers o encaminadors són els dispositius/nodes de xarxa que s'encarreguen de l'encaminament a nivell de xarxa.&lt;br /&gt;
&lt;br /&gt;
L'encaminament és una funció típica en les xarxes [[WAN]] ja que a diferència de les xarxes [[LAN]], el medi o canal de comunicació no és compartit sinó que s'utilitzen enllaços punt a punt ([[PPP]]) on cada node de la xarxa esdevé en un router o encaminador.&lt;br /&gt;
&lt;br /&gt;
 Vegeu també [[Encaminament]].&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:WAN3.png|center]]&lt;br /&gt;
&lt;br /&gt;
L'encaminament pot ser estàtic o dinàmic, en tots dos casos s'utilitzin [[taules de rutes]], és a dir una base de dades composta per una taula on a cada fila és defineix una ruta possible. En el cas d'encaminament estàtic aquestes taules només són canviades pels administradors dels encaminadors i en el cas dinàmic les taules es poden modificar segons canvis en l'entorn (per exemple un encaminador pot modificar la seva taula de rutes de forma automàtica segons les indicacions d'un altre encaminador de la xarxa).&lt;br /&gt;
&lt;br /&gt;
L'encaminament normalment es fa salt a salt [[Hop by Hop]], és a dir, cada encaminador només decideix quin és el següent pas en la ruta d'un paquet, deixant la resta de passos per als encaminador subsegüents. Podem veure un exemple d'encaminament salt a salt:&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:EnrutamentSkoleLinux.png|center]]&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
:*[[route]]&lt;br /&gt;
:*[[ip]]&lt;br /&gt;
&lt;br /&gt;
===Adreces IP===&lt;br /&gt;
&lt;br /&gt;
[[Imatge:IPSNotation.jpg|thumb|350px|Altres notacions IP]]&lt;br /&gt;
&lt;br /&gt;
Les adreces IP estan constituïdes per 32 bits o el que és el mateix una mica menys de 4300 millions d'adreces. Com veurem en l'apartat de subxarxes aquesta quantitat teòricament tan alta s'ha demostrat insuficient per al creixement espectacular d'Internet.&lt;br /&gt;
&lt;br /&gt;
Hi ha diferents notacions o formes d'escriure una adreça IP, però la més normal és la notació decimal amb punts o [[Dotted quad]]:&lt;br /&gt;
&lt;br /&gt;
*Exemple: 207.142.131.235 correspon als 32 bits: 11001111.10001110.10000011.11101011 &lt;br /&gt;
&lt;br /&gt;
La majoria d'aquests formats es poden comprovar/utilitzar en els navegadors moderns.&lt;br /&gt;
&lt;br /&gt;
Al quadre de la dreta podeu veure un llista de formats possibles.&lt;br /&gt;
&lt;br /&gt;
Els dos formats més utilitzats són el decimal ([[Dotted quad]]) utilitzat pels humans i el binari, utilitzat per les màquines. Per tal de convertir una adreça d'un format a l'altre podeu utilitzar [[ipcalc]] i o la calculador del sistema (suporta treballar directament en format binari).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:TransformarFormatinariIPv4.png|[[IPv4]] a format binari&lt;br /&gt;
Image:TransformarFormatinariIPv4.png|[[IPv6]] a format binari&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/IPv4#Addressing&lt;br /&gt;
&lt;br /&gt;
===Subxarxes===&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:Subxarxa.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
En xarxes, una subxarxa és un rang d'adreces lògiques IP que s'assigna a una organització. Les subxarxes estableixen una partició jeràrquica de les adreces de xarxa d'una organització. Típicament els routers constitueixen els límits entre subxarxes.&lt;br /&gt;
&lt;br /&gt;
El primer sistema de subxarxes va ser el sistema classful network Addresses que dividia l'espai d'adreces IP de xarxa en 5 classes diferents. Més endavant va aparèixer el sistema CIDR que permetia refinar el sistema d'assignació de xubxarxes.&lt;br /&gt;
&lt;br /&gt;
Les subxarxes no són cap invent nou. La majoria de xarxes grans utilitzant el concepte de subxarxa. Per exemple la xarxa telefònica o [[PSTN]]([[Public Switched Telephone Network]]) també utilitza subxarxes. Per a un nº telèfon concret: +34 93 894 05 50&lt;br /&gt;
&lt;br /&gt;
:*+34: Codi de país (Espanya)&lt;br /&gt;
:*93: Codi de província (Barcelona)&lt;br /&gt;
:*894: Codi de ciutat/zona (Sitges)&lt;br /&gt;
:*Número:05 50: Número de l'abonat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PSTN.png|Codis de província&lt;br /&gt;
Image:PSTN1.png|Comarques&lt;br /&gt;
Image:PSTN2.png|Codis de país&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Subnetting Subnetting a la wikipedia (en)]&lt;br /&gt;
*[http://es.wikipedia.org/wiki/Subred Subredes a la wikipedia (es)]&lt;br /&gt;
*[http://www.die.net/doc/linux/man/man1/ipcalc.1.html man ipcalc]&lt;br /&gt;
*[http://www.subnetmask.info/ Calculador web de subxarxes i traducció d'adreces IP a diferents]&lt;br /&gt;
&lt;br /&gt;
==== Màscara de xarxa ====&lt;br /&gt;
&lt;br /&gt;
La màscara determina quins bits estan reservats a la xarxa i quins bits a les màquines. La màscara més utilitzada és la màscara:&lt;br /&gt;
&lt;br /&gt;
 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
o en format binari:&lt;br /&gt;
&lt;br /&gt;
 11111111.11111111.11111111.00000000&lt;br /&gt;
&lt;br /&gt;
Que correspon a la màscara de les [[adreces IP]] de [[classe C]].&lt;br /&gt;
&lt;br /&gt;
Les màscares tenen el format de les adreces IP ([[dotted quad]] i el format binari) però no tots els valors són possibles. &lt;br /&gt;
&lt;br /&gt;
{{important|En format binari, la màscara ha de tenir tots els uns junts i al principi, seguit d'un sèrie de ceros.}}&lt;br /&gt;
&lt;br /&gt;
Per tant, només són vàlides les màscares que tenen els valors:&lt;br /&gt;
&lt;br /&gt;
 255, 254, 252, 248, 240, 224, 192, 128&lt;br /&gt;
&lt;br /&gt;
Per què s'utilitza aquest format? doncs:&lt;br /&gt;
&lt;br /&gt;
:*Els bits de l'esquerre, marcats amb uns (1s) s'utilitzen per indicar la xarxa &lt;br /&gt;
:*Els bits de la dreta, marcats amb ceros (0s) s'utilitzen per identificar una màquina dins d'una xarxa concreta&lt;br /&gt;
&lt;br /&gt;
'''Exemples'''&lt;br /&gt;
&lt;br /&gt;
Una escola dividida en aules:&lt;br /&gt;
&lt;br /&gt;
:*'''Aula 1''': Totes les adreces IP comencen per 192.168.201 (màscara 255.255.255.0)&lt;br /&gt;
...&lt;br /&gt;
:*'''Aula 4''': Totes les adreces IP comencen per 192.168.204 (màscara 255.255.255.0)&lt;br /&gt;
&lt;br /&gt;
La màscara 255.255.255.0:&lt;br /&gt;
:*Ens indica que estem a una xarxa de 254 màquines&lt;br /&gt;
:*Ens indica quines adreces IP són de la nostra xarxa&lt;br /&gt;
:*Hi ha una adreça màxima i una adreça mínima dins de la xarxa&lt;br /&gt;
&lt;br /&gt;
Podeu obtenir tota la informació sobre una (sub)xarxa amb [[ipcalc]]:&lt;br /&gt;
&lt;br /&gt;
 $ ipcalc 192.168.201.0/255.255.255.0&lt;br /&gt;
 Address:   192.168.201.0        11000000.10101000.11001100. 00000000&lt;br /&gt;
 Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000&lt;br /&gt;
 Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111&lt;br /&gt;
 =&amp;gt;&lt;br /&gt;
 Network:   192.168.201.0/24     11000000.10101000.11001100. 00000000&lt;br /&gt;
 HostMin:   192.168.201.1        11000000.10101000.11001100. 00000001&lt;br /&gt;
 HostMax:   192.168.201.254      11000000.10101000.11001100. 11111110&lt;br /&gt;
 Broadcast: 192.168.201.255      11000000.10101000.11001100. 11111111&lt;br /&gt;
 Hosts/Net: 254                   Class C, Private Internet&lt;br /&gt;
&lt;br /&gt;
Per exemple l'Aula 1:&lt;br /&gt;
&lt;br /&gt;
  Network(N)/Hosts (H)  NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH&lt;br /&gt;
 MÀSCARA : 255.255.255.0 / 11111111.11111111.11111111.00000000&lt;br /&gt;
 IP xarxa: 192.168.201.x / 11000000.10101000.11001001.00000000 &lt;br /&gt;
 Màquina1: 192.168.201.1 / 11000000.10101000.11001001.00000001&lt;br /&gt;
 Màquina2: 192.168.201.2 / 11000000.10101000.11001001.00000010&lt;br /&gt;
 Màquina3: 192.168.201.3 / 11000000.10101000.11001001.00000011&lt;br /&gt;
 Màquina4: 192.168.201.4 / 11000000.10101000.11001001.00000100&lt;br /&gt;
 Màquina5: 192.168.201.5 / 11000000.10101000.11001001.00000101&lt;br /&gt;
 Màquina6: 192.168.201.6 / 11000000.10101000.11001001.00000110&lt;br /&gt;
 Màquina7: 192.168.201.7 / 11000000.10101000.11001001.00000111&lt;br /&gt;
 Màquina8: 192.168.201.8 / 11000000.10101000.11001001.00001000&lt;br /&gt;
 Màquina9: 192.168.201.9 / 11000000.10101000.11001001.00001001&lt;br /&gt;
 .............................................................&lt;br /&gt;
 Màqui252: 192.168.201.250/11000000.10101000.11001001.11111010&lt;br /&gt;
 Màqui252: 192.168.201.251/11000000.10101000.11001001.11111011&lt;br /&gt;
 Màqui252: 192.168.201.252/11000000.10101000.11001001.11111100&lt;br /&gt;
 Màqui252: 192.168.201.253/11000000.10101000.11001001.11111101&lt;br /&gt;
 Màqui252: 192.168.201.254/11000000.10101000.11001001.11111110&lt;br /&gt;
 Màqui255: 192.168.201.255/11000000.10101000.11001001.11111111&lt;br /&gt;
&lt;br /&gt;
====Classes IP. Classful Networks====&lt;br /&gt;
&lt;br /&gt;
Quan van començar a aparèixer les xarxes d'àrea Local es va crear un pegat per resoldre el problema de les subxarxes. Aquest pegat és el sistema definit al 1981 per el RFC 791, que permetia tres tamanys de xarxa diferents (classes A, B i C):&lt;br /&gt;
&lt;br /&gt;
[[Imatge:ClassesIP.jpg]]&lt;br /&gt;
&lt;br /&gt;
Amb aquest sistema ja va aparèixer el concepte d'IPS reservades.&lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Classful_network &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Classless Inter-Domain Routing. CIDR====&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing CIDR] és un sistema que es va introduir el 1993 i és l'última especificació de com les adreces IP s'han d'interpretar i per tant és el sistema que s'utilitza actualment (fins que no s'implanti IPv6) i reemplaça el sistema antic (classful networks). Aquest sistema augmenta la flexibilitat en la creació de subxarxes i permet:&lt;br /&gt;
&lt;br /&gt;
#Un ús més eficient de les adreces IP&lt;br /&gt;
#Un sistema més senzill d'establir les rutes &lt;br /&gt;
&lt;br /&gt;
Amb CIDR podem establir subxarxes utilitzen bits previàment reservats a adreces de màquina com a bits de subxarxa. El procés el podem veure en el següent gràfic:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Subnet.gif]]&lt;br /&gt;
&lt;br /&gt;
Amb aquest sistema, podem conèixer si dues adreces estan a la mateixa subxarxa simplement veient si comparteixen els bits de la mascara de subxarxa (els que estan a 1) són iguals en les dues adreces. Exemple:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:CIDR2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Podem utilitzar l'operació AND binaria:&lt;br /&gt;
&lt;br /&gt;
 x 	y 	x AND y&lt;br /&gt;
 0 	0 	0&lt;br /&gt;
 0 	1 	0&lt;br /&gt;
 1 	0 	0&lt;br /&gt;
 1 	1 	1&lt;br /&gt;
&lt;br /&gt;
Per a partir d'una adreça IP i la seva màscara obtenir l'adreça de xarxa):&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Subneting.jpg]]&lt;br /&gt;
&lt;br /&gt;
L'adreça de broadcast s'obté substituint els 0 de l'adreça de xarxa corresponents a bits de host per 1.&lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR a la wikipedia (en)]&lt;br /&gt;
*[http://es.wikipedia.org/wiki/CIDR CIDR a la wikipedia (es)]&lt;br /&gt;
&lt;br /&gt;
===Adreces Reservades. Xarxes privades===&lt;br /&gt;
&lt;br /&gt;
Diferents RFCs defineixen valors d'IP que no es poden utilitzar lliurament ja que estan reservats per a usos concrets.&lt;br /&gt;
&lt;br /&gt;
[[Imatge:IPsReservades.jpg]]&lt;br /&gt;
&lt;br /&gt;
D'aquesta llista els rangs més importants són els reservats a IPs de xarxes LAN privades. Tenim 3 rangs reservats, un per cada clase IP (A,B i C):&lt;br /&gt;
&lt;br /&gt;
[[Imatge:IPsPrivades.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Capçalera IP===&lt;br /&gt;
&lt;br /&gt;
Una capçalera IP té les següents parts:&lt;br /&gt;
&lt;br /&gt;
[[Image:Ip-headers.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
La mida de la capçalera IP pot variar depenent de la longitud del seu camp d'opcions. Com a mínim ocuparà 5 WORDS (5x32 bits cada paraula) i com a màxim 16 words. Com la mida de les opcions és variable sempre hi ha uns bits anomenats padding que permeten omplir fins arribar a omplir una paraula (és a dir, la capçalera IP sempre serà un múltiple de 32).&lt;br /&gt;
&lt;br /&gt;
*'''Version' (bits 0-3)'''. Número de versió IP. IPv4 (0100), IPv6 (0110).&lt;br /&gt;
*'''IHL (Internet Header Length) (bits 4-7)'''. Ens indica en format binari quantes paraules (WORDS=32 bits) té la capçalera IP. Mínim 5.&lt;br /&gt;
*'''Type of Service, DSCP, ECN (bits 8-15)'''. Camp conflictiu perquè s'ha canviat diferents cops la seva implementació.&lt;br /&gt;
*'''Total Length (bits 16 - 31)'''. Ens indica la mida del paquet en octets (bytes). D'aquí s'extreu que la mida màxima d'un paquet IP és 65535. La mida mínima és 576 bytes. La mida més utilitzada de paquet actualment és 1500 byte en xarxes Ethernet i en la majoria de connexions a Internet.&lt;br /&gt;
*'''Identification (bits 32 - 46)'''. S'utilitza per identificar paquets fragmentats i poder reagrupar-los.&lt;br /&gt;
*'''Flags - bits 47 - 49'''. S'utilitzen per recuperar paquets fragmentats. El primer bit està reservar i no s'utilitza (valor 0 fixe), el segon bit indica si el paquet està fragmentat(0) o no (1) i el tercer bit indica si aquest és l'últim fragment (0) o hi ha més fragments (1).&lt;br /&gt;
*'''Fragment Offset - bits 50 - 63'''. conté el número de fragment.&lt;br /&gt;
*'''Time to live (bits 64 - 72)'''. Indica quant de temps el paquet haurà de continuar viu o, el que normalment és el mateix, quants salts (hops) li queden de vida. Cada procés o router ha de disminuir en 1 aquest contador i si el paquet arriba a 0 cal eliminar-lo. Evita que un paquet estigui donant voltes per la xarxa indefinidament. Abans de destruir el paquet, la màquina ha d'enviar un paquet ICMP Time exceeded a qui ha enviat el missatge.&lt;br /&gt;
*'''Protocol (bits 73 - 80)'''. Indica el protocol del següent nivell (TCP, UDP or ICMP, etc.). Els números els assigna Internet Assigned Numbers Authority (IANA) i es poden trobar a [http://iptables-tutorial.frozentux.net/iptables-tutorial.html#IANA.ORG la seva pàgina principal]&lt;br /&gt;
*'''Header checksum (bits 81 - 96)'''. Un codi de cheksum per comprovar que no hi ha errors.&lt;br /&gt;
*'''Source address (bits 97 - 128)'''. Adreça IP d'origen (32 bits).&lt;br /&gt;
*'''Destination address (bits 129 - 160)'''. Adreça IP destinació (32 bits).&lt;br /&gt;
*'''Options (bits 161 - 192 &amp;lt;&amp;gt; 478)'''. És l'únic camp de mida variable. Aquest camp conté opcions però no és opcional i és un dels camps més complexes de la capçalera IP. Conté coses com timestamps, SACK. Comença amb un resum de 8 bits que es fa saber quines opcions utilitzem. Podem trobar [http://iptables-tutorial.frozentux.net/iptables-tutorial.html#TCPOPTIONS un resum de les opcions aquí] o la descripció completa a [http://iptables-tutorial.frozentux.net/iptables-tutorial.html#IANA.ORG IANA]&lt;br /&gt;
*Padding (mida variable): Bits de farciment. Fan que la capçalera ocupi sempre un múltiple de 32 bits. &lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*http://iptables-tutorial.frozentux.net/iptables-tutorial.html#IPHEADERS&lt;br /&gt;
&lt;br /&gt;
=== Configuració IP de nodes de xarxa ===&lt;br /&gt;
&lt;br /&gt;
Paràmetres necessaris per configurar un paràmetre de xarxa. Dos tipus&lt;br /&gt;
&lt;br /&gt;
'''Paràmetres imprescindibles'''&lt;br /&gt;
:*Adreça IP &lt;br /&gt;
:*Màscara de xarxa&lt;br /&gt;
'''Paràmetres “opcionals”'''&lt;br /&gt;
:*Porta d'enllaç&lt;br /&gt;
:*Servidors de DNS&lt;br /&gt;
&lt;br /&gt;
{{nota|Aquests paràmetres no són imprescindibles per tal que una màquina és pugui comunicar amb altres màquines de la mateixa xarxa!}}&lt;br /&gt;
&lt;br /&gt;
'''Altres paràmetres'''&lt;br /&gt;
:*Adreça de difusió, adreça de xarxa, adreça MAC&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Pràctiques_de_configuració_de_nodes_de_xarxa]].&lt;br /&gt;
&lt;br /&gt;
==== Adreça IP ====&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Adreça IP]]&lt;br /&gt;
&lt;br /&gt;
==== Màscara de xarxa ====&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Màscara de xarxa]]&lt;br /&gt;
&lt;br /&gt;
==== Gateway ====&lt;br /&gt;
&lt;br /&gt;
{{nota| [[aka]] com Gateway/Pasarel·la/Router/Encaminador}}&lt;br /&gt;
&lt;br /&gt;
Té múltiples noms però la seva definició és:&lt;br /&gt;
&lt;br /&gt;
 La porta d'enllaç és el node de la xarxa local que ens permet connectar-nos a una altra xarxa&lt;br /&gt;
&lt;br /&gt;
Pot ser el router ADSL que ens dona accés a Internet, un router que ens connecta a la xarxa d'una institució, etc.&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:Gateway.png|center]]&lt;br /&gt;
&lt;br /&gt;
Consulteu també [[Encaminament]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor de DNS ====&lt;br /&gt;
&lt;br /&gt;
Són una eina per facilitar l'ús de la xarxa. Ens permeten treballar a un nivell més humà (o menys de màquina) i treballar amb noms en comptes d'adreces IP.&lt;br /&gt;
&lt;br /&gt;
Per tal de treballar amb noms de màquina, hem d'utilitzar un servidor de DNS que s'encarregarà de traduir els noms en adreces IP.&lt;br /&gt;
&lt;br /&gt;
El servidor de DNS no és imprescindible. Per exemple si s'espatlla el DNS del vostre proveïdor d'accés a Internet sempre podeu accedir a una web de a través de la seva IP.&lt;br /&gt;
&lt;br /&gt;
 $ ping www.iescopernic.com&lt;br /&gt;
 PING www.iescopernic.com (80.34.23.149) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 149.Red-80-34-23.staticIP.rima-tde.net (80.34.23.149): icmp_seq=1 ttl=252 time=106 ms&lt;br /&gt;
 64 bytes from 149.Red-80-34-23.staticIP.rima-tde.net (80.34.23.149): icmp_seq=2 ttl=252 time=108 ms&lt;br /&gt;
 &lt;br /&gt;
 http://80.34.23.149/moodle &lt;br /&gt;
&lt;br /&gt;
Consulteu també [[DNS]].&lt;br /&gt;
&lt;br /&gt;
==Protocol ICMP==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[ICMP]]&lt;br /&gt;
&lt;br /&gt;
==Protocol ARP==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[ARP]].&lt;br /&gt;
&lt;br /&gt;
==X.25==&lt;br /&gt;
&lt;br /&gt;
[http://es.wikipedia.org/wiki/Norma_X.25 X.25] és un protocol del nivell 3 de xarxa&lt;br /&gt;
&lt;br /&gt;
'''Recursos:'''&lt;br /&gt;
&lt;br /&gt;
*http://es.wikipedia.org/wiki/Norma_X.25&lt;br /&gt;
*http://es.wikipedia.org/wiki/Norma_X.25 &lt;br /&gt;
&lt;br /&gt;
==Routers/Encaminadors==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[Encaminament]]&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[Firewalls/Tallafocs]].&lt;br /&gt;
&lt;br /&gt;
===Iptables===&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[Netfilter/iptables]].&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Dmidecode</id>
		<title>Dmidecode</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Dmidecode"/>
				<updated>2010-04-26T12:28:20Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Fer inventari */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Descripció=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-cache show dmidecode&lt;br /&gt;
 &lt;br /&gt;
 Package: dmidecode&lt;br /&gt;
 ...&lt;br /&gt;
 Description: Dump Desktop Management Interface data&lt;br /&gt;
  The Desktop Management Interface provides a standardized description of&lt;br /&gt;
  a computer's hardware, including characteristics such as BIOS serial&lt;br /&gt;
  number and hardware connectors.  dmidecode provides a dump of the DMI&lt;br /&gt;
  data available from the BIOS.  It is used as a back-end tool by other&lt;br /&gt;
  hardware detection programs.&lt;br /&gt;
&lt;br /&gt;
Mostra informació del maquinari.&lt;br /&gt;
&lt;br /&gt;
=Instal·lació=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install dmidecode&lt;br /&gt;
&lt;br /&gt;
'''Fitxers''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L dmidecode&lt;br /&gt;
 /.&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/sbin&lt;br /&gt;
 /usr/sbin/dmidecode&lt;br /&gt;
 /usr/sbin/biosdecode&lt;br /&gt;
 /usr/sbin/ownership&lt;br /&gt;
 /usr/sbin/vpddecode&lt;br /&gt;
 /usr/share &lt;br /&gt;
 /usr/share/man&lt;br /&gt;
 /usr/share/man/man8&lt;br /&gt;
 /usr/share/man/man8/ownership.8.gz&lt;br /&gt;
 /usr/share/man/man8/vpddecode.8.gz&lt;br /&gt;
 /usr/share/man/man8/dmidecode.8.gz&lt;br /&gt;
 /usr/share/man/man8/biosdecode.8.gz&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/dmidecode&lt;br /&gt;
 /usr/share/doc/dmidecode/changelog.Debian.gz&lt;br /&gt;
 /usr/share/doc/dmidecode/AUTHORS&lt;br /&gt;
 /usr/share/doc/dmidecode/copyright&lt;br /&gt;
 /usr/share/doc/dmidecode/changelog.gz&lt;br /&gt;
 /usr/share/doc/dmidecode/README.gz&lt;br /&gt;
 /usr/share/doc/dmidecode/CHANGELOG.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ dmidecode | more&lt;br /&gt;
&lt;br /&gt;
==Informació de la BIOS==&lt;br /&gt;
&lt;br /&gt;
 $ sudo dmidecode | more&lt;br /&gt;
&lt;br /&gt;
 BIOS Information&lt;br /&gt;
 	Vendor: Phoenix Technologies, LTD&lt;br /&gt;
 	Version: 6.00 PG&lt;br /&gt;
 	Release Date: 12/07/2004&lt;br /&gt;
 	Address: 0xE0000&lt;br /&gt;
 	Runtime Size: 128 kB&lt;br /&gt;
 	ROM Size: 512 kB&lt;br /&gt;
 	Characteristics:&lt;br /&gt;
 		ISA is supported&lt;br /&gt;
 		PCI is supported&lt;br /&gt;
 		PNP is supported&lt;br /&gt;
 		APM is supported&lt;br /&gt;
 		BIOS is upgradeable&lt;br /&gt;
 		BIOS shadowing is allowed&lt;br /&gt;
 		Boot from CD is supported&lt;br /&gt;
 		Selectable boot is supported&lt;br /&gt;
 		BIOS ROM is socketed&lt;br /&gt;
 		EDD is supported&lt;br /&gt;
 		5.25&amp;quot;/360 KB floppy services are supported (int 13h)&lt;br /&gt;
 		5.25&amp;quot;/1.2 MB floppy services are supported (int 13h)&lt;br /&gt;
 		3.5&amp;quot;/720 KB floppy services are supported (int 13h)&lt;br /&gt;
 		3.5&amp;quot;/2.88 MB floppy services are supported (int 13h)&lt;br /&gt;
 		Print screen service is supported (int 5h)&lt;br /&gt;
 		8042 keyboard services are supported (int 9h)&lt;br /&gt;
 		Serial services are supported (int 14h)&lt;br /&gt;
 		Printer services are supported (int 17h)&lt;br /&gt;
 		CGA/mono video services are supported (int 10h)&lt;br /&gt;
 		ACPI is supported&lt;br /&gt;
 		USB legacy is supported&lt;br /&gt;
 		AGP is supported&lt;br /&gt;
 		LS-120 boot is supported&lt;br /&gt;
 		ATAPI Zip drive boot is supported&lt;br /&gt;
&lt;br /&gt;
==Mostrar informació concreta d'un subsistema==&lt;br /&gt;
&lt;br /&gt;
 $ sudo dmidecode -t&lt;br /&gt;
 dmidecode: option requires an argument -- 't'&lt;br /&gt;
 Type number or keyword expected&lt;br /&gt;
 Valid type keywords are:&lt;br /&gt;
   bios&lt;br /&gt;
   system&lt;br /&gt;
   baseboard&lt;br /&gt;
   chassis&lt;br /&gt;
   processor&lt;br /&gt;
   memory&lt;br /&gt;
   cache&lt;br /&gt;
   connector&lt;br /&gt;
   slot&lt;br /&gt;
&lt;br /&gt;
Per exemple el processador:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dmidecode -t processor&lt;br /&gt;
 # dmidecode 2.9&lt;br /&gt;
 SMBIOS 2.5 present.&lt;br /&gt;
 &lt;br /&gt;
 Handle 0x0005, DMI type 4, 40 bytes&lt;br /&gt;
 Processor Information&lt;br /&gt;
 	Socket Designation: XU1 PROCESSOR&lt;br /&gt;
 	Type: Central Processor&lt;br /&gt;
 	Family: Pentium 4&lt;br /&gt;
 	Manufacturer: Intel&lt;br /&gt;
 	ID: FD 06 00 00 FF FB EB BF&lt;br /&gt;
 	Signature: Type 0, Family 6, Model 15, Stepping 13&lt;br /&gt;
 	Flags:&lt;br /&gt;
 		FPU (Floating-point unit on-chip)&lt;br /&gt;
 		VME (Virtual mode extension)&lt;br /&gt;
 		DE (Debugging extension)&lt;br /&gt;
 		PSE (Page size extension)&lt;br /&gt;
		TSC (Time stamp counter)&lt;br /&gt;
 		MSR (Model specific registers)&lt;br /&gt;
 		PAE (Physical address extension)&lt;br /&gt;
 		MCE (Machine check exception)&lt;br /&gt;
 		CX8 (CMPXCHG8 instruction supported)&lt;br /&gt;
 		APIC (On-chip APIC hardware supported)&lt;br /&gt;
 		SEP (Fast system call)&lt;br /&gt;
 		MTRR (Memory type range registers)&lt;br /&gt;
 		PGE (Page global enable)&lt;br /&gt;
 		MCA (Machine check architecture)&lt;br /&gt;
 		CMOV (Conditional move instruction supported)&lt;br /&gt;
 		PAT (Page attribute table)&lt;br /&gt;
 		PSE-36 (36-bit page size extension)&lt;br /&gt;
 		CLFSH (CLFLUSH instruction supported)&lt;br /&gt;
 		DS (Debug store)&lt;br /&gt;
 		ACPI (ACPI supported)&lt;br /&gt;
 		MMX (MMX technology supported)&lt;br /&gt;
 		FXSR (Fast floating-point save and restore)&lt;br /&gt;
 		SSE (Streaming SIMD extensions)&lt;br /&gt;
 		SSE2 (Streaming SIMD extensions 2)&lt;br /&gt;
 		SS (Self-snoop)&lt;br /&gt;
 		HTT (Hyper-threading technology)&lt;br /&gt;
 		TM (Thermal monitor supported)&lt;br /&gt;
 		PBE (Pending break enabled)&lt;br /&gt;
 	Version: Intel(R) Pentium(R) Dual  CPU  E2180  @ 2.00GHz&lt;br /&gt;
 	Voltage: 1.2 V&lt;br /&gt;
 	External Clock: 800 MHz&lt;br /&gt;
 	Max Speed: 6000 MHz&lt;br /&gt;
 	Current Speed: 2000 MHz&lt;br /&gt;
 	Status: Populated, Enabled&lt;br /&gt;
 	Upgrade: Socket LGA775&lt;br /&gt;
 	L1 Cache Handle: 0x0006&lt;br /&gt;
 	L2 Cache Handle: 0x0007&lt;br /&gt;
 	L3 Cache Handle: 0x0008&lt;br /&gt;
 	Serial Number: Not Specified&lt;br /&gt;
 	Asset Tag: Not Specified&lt;br /&gt;
 	Part Number: Not Specified&lt;br /&gt;
 	Core Count: 2&lt;br /&gt;
 	Core Enabled: 2&lt;br /&gt;
 	Thread Count: 2&lt;br /&gt;
 	Characteristics:&lt;br /&gt;
		64-bit capable&lt;br /&gt;
&lt;br /&gt;
==Quin tipus de memòria RAM tenim?==&lt;br /&gt;
&lt;br /&gt;
 $ sudo dmidecode | more&lt;br /&gt;
 ...&lt;br /&gt;
 Handle 0x0006, DMI type 6, 12 bytes&lt;br /&gt;
 Memory Module Information&lt;br /&gt;
 	Socket Designation: A0 &lt;br /&gt;
 	Bank Connections: 0 1 &lt;br /&gt;
 	Current Speed: 10 ns&lt;br /&gt;
 	Type: Other&lt;br /&gt;
 	Installed Size: 1024 MB (Double-bank Connection)&lt;br /&gt;
 	Enabled Size: 1024 MB (Double-bank Connection)&lt;br /&gt;
 	Error Status: OK&lt;br /&gt;
 &lt;br /&gt;
 Handle 0x0007, DMI type 6, 12 bytes&lt;br /&gt;
 Memory Module Information&lt;br /&gt;
 	Socket Designation: A1&lt;br /&gt;
 	Bank Connections: None&lt;br /&gt;
 	Current Speed: 10 ns&lt;br /&gt;
 	Type: Other&lt;br /&gt;
 	Installed Size: Not Installed&lt;br /&gt;
 	Enabled Size: Not Installed&lt;br /&gt;
 	Error Status: OK&lt;br /&gt;
 ... &lt;br /&gt;
 Handle 0x0017, DMI type 17, 21 bytes&lt;br /&gt;
 Memory Device&lt;br /&gt;
        Array Handle: 0x0016&lt;br /&gt;
         Error Information Handle: Not Provided&lt;br /&gt;
         Total Width: Unknown&lt;br /&gt;
         Data Width: Unknown &lt;br /&gt;
         Size: 1024 MB&lt;br /&gt;
         Form Factor: DIMM&lt;br /&gt;
         Set: None&lt;br /&gt;
         Locator: A0&lt;br /&gt;
         Bank Locator: Bank0/1&lt;br /&gt;
         Type: Unknown&lt;br /&gt;
         Type Detail: None&lt;br /&gt;
 &lt;br /&gt;
 Handle 0x0018, DMI type 17, 21 bytes&lt;br /&gt;
 Memory Device&lt;br /&gt;
         Array Handle: 0x0016&lt;br /&gt;
         Error Information Handle: Not Provided&lt;br /&gt;
         Total Width: Unknown&lt;br /&gt;
         Data Width: Unknown &lt;br /&gt;
         Size: No Module Installed&lt;br /&gt;
         Form Factor: DIMM&lt;br /&gt;
         Set: None&lt;br /&gt;
         Locator: A1&lt;br /&gt;
         Bank Locator: Bank2/3&lt;br /&gt;
         Type: Unknown&lt;br /&gt;
         Type Detail: None&lt;br /&gt;
&lt;br /&gt;
 $ sudo dmidecode | grep -n &amp;quot;Form Factor&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://osdir.com/ml/org.user-groups.linux.pdxlug/2005-05/msg00020.html&lt;br /&gt;
&lt;br /&gt;
==Quants ports SATA té una placa mare sense obrir-la?==&lt;br /&gt;
&lt;br /&gt;
Executeu dmidecode i conteu quants:&lt;br /&gt;
&lt;br /&gt;
  Port Connector Information&lt;br /&gt;
 	Internal Reference Designator: SATA2&lt;br /&gt;
&lt;br /&gt;
hi ha.&lt;br /&gt;
&lt;br /&gt;
==Exemples==&lt;br /&gt;
&lt;br /&gt;
===Fer inventari===&lt;br /&gt;
&lt;br /&gt;
Exemple extret de [[fog]] al fitxer:&lt;br /&gt;
&lt;br /&gt;
 /usr/local/fog/lib/funcs.sh&lt;br /&gt;
&lt;br /&gt;
De la imatge initrd.gz&lt;br /&gt;
&lt;br /&gt;
 function doInventory()&lt;br /&gt;
 {&lt;br /&gt;
  sysman=`dmidecode -s system-manufacturer`;&lt;br /&gt;
  sysproduct=`dmidecode -s system-product-name`;&lt;br /&gt;
  sysversion=`dmidecode -s system-version`;&lt;br /&gt;
  sysserial=`dmidecode -s system-serial-number`;&lt;br /&gt;
  systype=`dmidecode -t 3 | grep Type:`;&lt;br /&gt;
  biosversion=`dmidecode -s bios-version`;&lt;br /&gt;
  biosvendor=`dmidecode -s bios-vendor`;&lt;br /&gt;
  biosdate=`dmidecode -s bios-release-date`;&lt;br /&gt;
  mbman=`dmidecode -s baseboard-manufacturer`;&lt;br /&gt;
  mbproductname=`dmidecode -s baseboard-product-name`;&lt;br /&gt;
  mbversion=`dmidecode -s baseboard-version`;&lt;br /&gt;
  mbserial=`dmidecode -s baseboard-serial-number`;&lt;br /&gt;
  mbasset=`dmidecode -s baseboard-asset-tag`;&lt;br /&gt;
  cpuman=`dmidecode -s processor-manufacturer`;&lt;br /&gt;
  cpuversion=`dmidecode -s processor-version`;&lt;br /&gt;
  cpucurrent=`dmidecode -t 4 | grep 'Current Speed:' | head -n1`;&lt;br /&gt;
  cpumax=`dmidecode -t 4 | grep 'Max Speed:' | head -n1`;&lt;br /&gt;
  mem=`cat /proc/meminfo | grep MemTotal`;&lt;br /&gt;
  hdinfo=`hdparm -i $hd | grep Model=`;&lt;br /&gt;
  caseman=`dmidecode -s chassis-manufacturer`;&lt;br /&gt;
  casever=`dmidecode -s chassis-version`;&lt;br /&gt;
  caseserial=`dmidecode -s chassis-serial-number`;&lt;br /&gt;
  casesasset=`dmidecode -s chassis-asset-tag`;&lt;br /&gt;
  &lt;br /&gt;
  sysman64=`echo $sysman | base64`;&lt;br /&gt;
  sysproduct64=`echo $sysproduct | base64`;&lt;br /&gt;
  sysversion64=`echo $sysversion | base64`;&lt;br /&gt;
  sysserial64=`echo $sysserial | base64`;&lt;br /&gt;
  systype64=`echo $systype | base64`;&lt;br /&gt;
  biosversion64=`echo $biosversion | base64`;&lt;br /&gt;
  biosvendor64=`echo $biosvendor | base64`;&lt;br /&gt;
  biosdate64=`echo $biosdate | base64`;&lt;br /&gt;
  mbman64=`echo $mbman | base64`;&lt;br /&gt;
  mbproductname64=`echo $mbproductname | base64`;&lt;br /&gt;
  mbversion64=`echo $mbversion | base64`;&lt;br /&gt;
  mbserial64=`echo $mbserial | base64`;&lt;br /&gt;
  mbasset64=`echo $mbasset | base64`;&lt;br /&gt;
  cpuman64=`echo $cpuman | base64`;&lt;br /&gt;
  cpuversion64=`echo $cpuversion | base64`;&lt;br /&gt;
  cpucurrent64=`echo $cpucurrent | base64`;&lt;br /&gt;
  cpumax64=`echo $cpumax | base64`;&lt;br /&gt;
  mem64=`echo $mem | base64`;&lt;br /&gt;
  hdinfo64=`echo $hdinfo | base64`;&lt;br /&gt;
  caseman64=`echo $caseman | base64`;&lt;br /&gt;
  casever64=`echo $casever | base64`;&lt;br /&gt;
  caseserial64=`echo $caseserial | base64`;&lt;br /&gt;
  casesasset64=`echo $casesasset | base64`;&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
:*[[biosdecode]]&lt;br /&gt;
&lt;br /&gt;
==Enllaços externs==&lt;br /&gt;
:*http://www.linux-mag.com/cache/7768/1.html&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Plantilla:Nivells_TCP_IP</id>
		<title>Plantilla:Nivells TCP IP</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Plantilla:Nivells_TCP_IP"/>
				<updated>2010-04-26T05:00:34Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;toccolours&amp;quot; style=&amp;quot;float: right; background-color: #f1f1ff; margin: 0 0 1em 1em; border-right-width: 2px; border-bottom-width: 2px; width: 28em; font-size: 90%; clear: right;&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center; font-size: larger;&amp;quot; | &lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#DEE9FF; padding:8px&amp;quot;&amp;gt;&lt;br /&gt;
'''[[LPI_109.1._Fonaments_dels_protocols_d'Internet#Xarxes_TCP.2FIP |Nivells TCP/IP]]'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| '''[[Nivell 1]]:'''&lt;br /&gt;
| [[Nivell_d'interfície_de_xarxa_TCP/IP]]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| '''[[Nivell 2]]:'''&lt;br /&gt;
| [[Nivell_d'internet_TCP/IP]]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| '''[[Nivell 3]]:'''&lt;br /&gt;
| [[Nivell_de_transport_TCP/IP]]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| '''[[Nivell 4]]:'''&lt;br /&gt;
| [[Nivell_d'aplicació_TCP/IP]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Cacti</id>
		<title>Cacti</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Cacti"/>
				<updated>2010-04-25T07:03:26Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Monitoritzar PCs amb SNMP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlantillaCurs&lt;br /&gt;
| curs                   = [[SeguretatXarxesInformàtiques]], [[LinuxAdministracioAvancada]], [[DissenyXarxesLinux]]&lt;br /&gt;
| fitxers                = {{FitxerIOriginalODT|url=https://svn.projectes.lafarga.cat/svn/iceupc/SeguretatXarxesInform%c3%a0tiques/moodle/sessio8/transparencies/|nom=EinesMonitoritzacio}} {{FitxerIOriginalODT|url=https://svn.projectes.lafarga.cat/svn/iceupc/SeguretatXarxesInform%c3%a0tiques/moodle/sessio8/transparencies/|nom=EinesMonitoritzacio2}}&lt;br /&gt;
| repositori             = https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/SeguretatXarxesInformàtiques&lt;br /&gt;
| autors                 = [[Sergi Tur Badenas]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preinstal·lació==&lt;br /&gt;
&lt;br /&gt;
{{nota|Potser preferiu directament instal·lar un servidor [[LAMP]] amb [[tasksel]]: $ sudo tasksel install lamp-server}}&lt;br /&gt;
&lt;br /&gt;
Cacti necessita d'un servidor de base de dades. Podem instal·lar mysql o postgresql:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mysql-server-5.0&lt;br /&gt;
&lt;br /&gt;
En paquets força nous (p.ex. en Ubuntu Gutsy) a l'instal·lar ens pregunta per la contrasenya de l'usuari root:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:MysqlInstalation.png]]&lt;br /&gt;
&lt;br /&gt;
==Instal·lació==&lt;br /&gt;
&lt;br /&gt;
Per instal·lar '''cacti''' heu d'executar:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install cacti&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Cacti.png]]&lt;br /&gt;
&lt;br /&gt;
Durant la instal·lació ens faran una sèrie de preguntes per configurar Cacti:&lt;br /&gt;
&lt;br /&gt;
*Primer la versió de base de dades:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Cacti1.png]]&lt;br /&gt;
&lt;br /&gt;
*Després ens farà les preguntes necessàries per configurar la base de dades:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Cacti2.png]]&lt;br /&gt;
&lt;br /&gt;
Ens pregunta la contrasenya de l'usuari root de Mysql (normalment és sense contrasenya)... Ho podeu comprovar abans intentant entrar a mysql com a root:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mysql&lt;br /&gt;
&lt;br /&gt;
{{nota|La paraula de pas de cacti per accedir a la base de dades es guardarà a un fitxer de configuració. No utilitzeu cap paraula de pas important ja que serà visible. Podeu utilitzar [[mkpasswd]] per generar una paraula de pas aleatòria i segura ja que no calda recordar-la (no la utilitzarà cap usuari)}&lt;br /&gt;
&lt;br /&gt;
Si no demana contrasenya i accedim, aleshores la contrasenya és buida.&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Cacti3.png]]&lt;br /&gt;
&lt;br /&gt;
Confirmem...&lt;br /&gt;
&lt;br /&gt;
Si cometeu algun error podreu tornar a intentar la configuració amb:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Cacti4.png]]&lt;br /&gt;
&lt;br /&gt;
En qualsevol moment podeu abortar i més tard tornar a configurar Cacti executant:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg-recofigure cacti&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Cacti5.png]]&lt;br /&gt;
&lt;br /&gt;
=== Fitxers instal·lats ===&lt;br /&gt;
&lt;br /&gt;
Durant la instal·lació s'instal·len dependències com [[snmp]] o llibreries d'accés a base de dades:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install cacti&lt;br /&gt;
 ...&lt;br /&gt;
 S'instal·laran els següents paquets extres:&lt;br /&gt;
   '''libphp-adodb php5-snmp snmp'''&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Els fitxers de configuració són:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L cacti | grep etc&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/cacti&lt;br /&gt;
 /etc/logrotate.d&lt;br /&gt;
 /etc/logrotate.d/cacti&lt;br /&gt;
 /etc/cron.d&lt;br /&gt;
 /etc/cron.d/cacti&lt;br /&gt;
&lt;br /&gt;
Com podem veure Cacti utilitza [[cron]]:&lt;br /&gt;
&lt;br /&gt;
 $ cat  /etc/cron.d/cacti&lt;br /&gt;
 MAILTO=root&lt;br /&gt;
 */5 * * * * www-data php /usr/share/cacti/site/poller.php &amp;gt;/dev/null 2&amp;gt;/var/log/cacti/poller-error.log&lt;br /&gt;
&lt;br /&gt;
Cada 5 minuts s'executa poller.php&lt;br /&gt;
&lt;br /&gt;
També podeu consultar la documentació que trobareu a [[/usr/share/doc/cacti]]:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L cacti | grep doc&lt;br /&gt;
 ...&lt;br /&gt;
 /usr/share/doc/cacti/&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==Accés a Cacti==&lt;br /&gt;
&lt;br /&gt;
Per accedir a Cacti, obrim Firefox i accedim a la URL:&lt;br /&gt;
&lt;br /&gt;
 http://localhost/cacti&lt;br /&gt;
&lt;br /&gt;
Al següent apartat s'expliquen les passes que es segueixen durant la primera execució.&lt;br /&gt;
&lt;br /&gt;
Un cop hagiu instal·lat/configurat cacti l'usuari per accedir per primer cop és:&lt;br /&gt;
&lt;br /&gt;
*'''Usuari''': admin&lt;br /&gt;
*'''Paraula de pas''': admin&lt;br /&gt;
&lt;br /&gt;
{{important|Cacti us forçarà a escollir una paraula de pas nova per a l'administrador.}}&lt;br /&gt;
&lt;br /&gt;
==Configuració durant la primera execució==&lt;br /&gt;
&lt;br /&gt;
A l'iniciar per primer cop Cacti s'iniciarà un assistent per configurar-lo:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Cacti7.png]]&lt;br /&gt;
&lt;br /&gt;
Cacti suporta fer instal·lacions noves o actualitzacions:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Cacti8.png]]&lt;br /&gt;
&lt;br /&gt;
La següent pàgina comprova que tenim instal·lades totes les aplicacions necessàries (RDDTool i SNMP...)&lt;br /&gt;
&lt;br /&gt;
[[Imatge:Cacti9.png]]&lt;br /&gt;
&lt;br /&gt;
==Configuració==&lt;br /&gt;
&lt;br /&gt;
==Cacti Reconfigure==&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg-reconfigure cacti&lt;br /&gt;
&lt;br /&gt;
Al reconfigurar podem decidir si volem tornar a crear la base de dades:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:CactiReconfigure.png]]&lt;br /&gt;
&lt;br /&gt;
La connexió a base de dades pot ser per sòcol Unix (màquina local) o TCP/IP (base de dades remota)&lt;br /&gt;
&lt;br /&gt;
[[Imatge:CactiReconfigure1.png]]&lt;br /&gt;
&lt;br /&gt;
L'usuari de base de dades:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:CactiReconfigure2.png]]&lt;br /&gt;
&lt;br /&gt;
Escollim un nom per l'usuari de bases de dades:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:CactiReconfigure3.png]]&lt;br /&gt;
&lt;br /&gt;
I un nom de la base de dades:&lt;br /&gt;
&lt;br /&gt;
[[Imatge:CactiReconfigure4.png]]&lt;br /&gt;
&lt;br /&gt;
Podeu consultar la base de dades amb eines amb [[PhpMyAdmin]].&lt;br /&gt;
&lt;br /&gt;
[[Categoria: Seguretat en xarxes informàtiques]]&lt;br /&gt;
&lt;br /&gt;
== Documentació ==&lt;br /&gt;
&lt;br /&gt;
La trobareu a:&lt;br /&gt;
&lt;br /&gt;
 /usr/share/doc/cacti/&lt;br /&gt;
&lt;br /&gt;
Teniu la documentació ([[Manual de Cacti]]) accessible via web:&lt;br /&gt;
&lt;br /&gt;
 $ firefox /usr/share/doc/cacti/html/index.html&lt;br /&gt;
&lt;br /&gt;
==Monitoritzar PCs amb SNMP==&lt;br /&gt;
&lt;br /&gt;
A la màquina que volem monitoritzar cal instal·lar [[snmpd]]:&lt;br /&gt;
&lt;br /&gt;
 $ [[sudo]] [[apt-get]] install snmpd&lt;br /&gt;
&lt;br /&gt;
Per defecte a ubuntu 9.10 el servidor de SNMP només accepta peticions des de localhost. Per canviar-ho&lt;br /&gt;
&lt;br /&gt;
 $ sudo joe /etc/default/snmpd &lt;br /&gt;
&lt;br /&gt;
Canvieu la línia:&lt;br /&gt;
&lt;br /&gt;
 SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'&lt;br /&gt;
&lt;br /&gt;
per:&lt;br /&gt;
&lt;br /&gt;
 SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid' &lt;br /&gt;
&lt;br /&gt;
I torneu a iniciar SNMPD:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/snmpd restart&lt;br /&gt;
&lt;br /&gt;
Ara cal permetre l'accés. Canvieu la línia:&lt;br /&gt;
&lt;br /&gt;
 com2sec paranoid  default         public&lt;br /&gt;
&lt;br /&gt;
Per&lt;br /&gt;
&lt;br /&gt;
 com2sec readonly  default         public&lt;br /&gt;
&lt;br /&gt;
Al fitxer [[/etc/snmp/snmpd.conf]] i torneu a iniciar snmpd&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/snmpd restart&lt;br /&gt;
&lt;br /&gt;
Comproveu l'accés amb:&lt;br /&gt;
&lt;br /&gt;
 $ snmpwalk -Os -c public -v 2c IP_DE_LA_MAQUINA_MONITORITZAR system&lt;br /&gt;
&lt;br /&gt;
Ara a Cacti creeu un nou dispositiu. La configuració ha de ser quelcom similar a:&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:CactiExample2.png|center]]&lt;br /&gt;
&lt;br /&gt;
A Associated Data Queries podeu afegir altres tipus de querys:&lt;br /&gt;
&lt;br /&gt;
:*Get Mounted Partitions&lt;br /&gt;
:*Get Processor Information&lt;br /&gt;
&lt;br /&gt;
Ara aneu a &amp;quot;Create Graphs for this Host&amp;quot; i afegiu totes les gràfiques.&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.debuntu.org/how-to-monitor-your-servers-with-snmp-and-cacti&lt;br /&gt;
&lt;br /&gt;
== Fitxers de log==&lt;br /&gt;
&lt;br /&gt;
Els fitxers d'error de Cacti tal com demana l'estàndard [[FHS]] té els fitxers de log a:&lt;br /&gt;
&lt;br /&gt;
 $ ls -la [[/var/log/cacti]]&lt;br /&gt;
 total 368&lt;br /&gt;
 drwxr-xr-x  2 www-data www-data   4096 2010-04-18 06:41 .&lt;br /&gt;
 drwxr-xr-x 18 root     root       4096 2010-04-25 05:41 ..&lt;br /&gt;
 -rw-r-----  1 www-data www-data 296117 2010-04-25 06:20 cacti.log&lt;br /&gt;
 -rw-r-----  1 www-data www-data  13519 2010-04-18 06:40 cacti.log.1.gz&lt;br /&gt;
 -rw-r-----  1 www-data www-data  13640 2010-04-11 06:25 cacti.log.2.gz&lt;br /&gt;
 -rw-r-----  1 www-data www-data  13231 2010-04-04 06:35 cacti.log.3.gz&lt;br /&gt;
 -rw-r-----  1 www-data www-data   3894 2010-03-28 06:45 cacti.log.4.gz&lt;br /&gt;
 -rw-r-----  1 www-data www-data    107 2010-04-25 06:20 poller-error.log&lt;br /&gt;
 -rw-r-----  1 www-data www-data    108 2010-04-18 06:40 poller-error.log.1.gz&lt;br /&gt;
 -rw-r--r--  1 www-data www-data    108 2010-04-17 06:45 poller-error.log.2.gz&lt;br /&gt;
 -rw-r-----  1 www-data www-data      0 2010-03-26 07:34 rrd.log&lt;br /&gt;
&lt;br /&gt;
Podeu consultar el log amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tail -f /var/log/cacti/cacti.log&lt;br /&gt;
&lt;br /&gt;
Podeu consultar els errors del poller a:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tail -f /var/log/cacti/poller-error.log&lt;br /&gt;
&lt;br /&gt;
== Resol·lució de problemes. Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== SNMP Error ===&lt;br /&gt;
&lt;br /&gt;
Comproveu el següent:&lt;br /&gt;
&lt;br /&gt;
:*Primer que heu posat la IP a hostname i no pas a descripció&lt;br /&gt;
:*Utilitzeu snmpwalk per comprovar que teniu accés [[SNMP]] al servidor&lt;br /&gt;
&lt;br /&gt;
 snmpwalk -Os -c public -v 1 192.168.111.10 system&lt;br /&gt;
&lt;br /&gt;
:*Proveu d'augmentar el timeout SNMP&lt;br /&gt;
&lt;br /&gt;
=== snmpwalk ===&lt;br /&gt;
&lt;br /&gt;
Es pot utilitzar per depurar [[SNMP]]&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
:*[[snmpwalk]]&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
&lt;br /&gt;
=== Weathermap ===&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*[http://www.network-weathermap.com/manual/0.91/pages/main.html#installation Installation]&lt;br /&gt;
*http://www.network-weathermap.com/manual/0.91/pages/cacti-plugin.html&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
:*[[RDDTool]]&lt;br /&gt;
:*[[Monitorització]]&lt;br /&gt;
:*[[Munin]]&lt;br /&gt;
:*[[Nagios]]&lt;br /&gt;
:*[[Ntop]]&lt;br /&gt;
&lt;br /&gt;
==Enllaços externs==&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/D-link_DSL-2542B</id>
		<title>D-link DSL-2542B</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/D-link_DSL-2542B"/>
				<updated>2010-04-25T06:31:49Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Enllaços externs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Factory defaults==&lt;br /&gt;
&lt;br /&gt;
Accediu amb el vostre navegador a la IP 192.168.1.1:&lt;br /&gt;
&lt;br /&gt;
 $ firefox http://192.168.1.1&lt;br /&gt;
&lt;br /&gt;
L'usuari i paraula de pas per defecte són:&lt;br /&gt;
&lt;br /&gt;
:*'''usuari''':admin&lt;br /&gt;
:*'''paraula de pas''': admin&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
:*[[Orange]]&lt;br /&gt;
&lt;br /&gt;
==Enllaços externs==&lt;br /&gt;
&lt;br /&gt;
:*[http://www.liciece.com/DSL-2542B-SE_1.10_12162008.rar Manual i Firmware]&lt;br /&gt;
:*ftp://ftp.dlink.fr/DSL/DSL-2542B/Fiche_Technique/DSL-2542B-datasheet.pdf&lt;br /&gt;
:*ftp://ftp.dlink.fr/DSL/DSL-2542B/Firmware/ver-1.00/EU_DSL-2542B_1.00_01042008.zip&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Eines_per_arxivar_paquets</id>
		<title>Eines per arxivar paquets</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Eines_per_arxivar_paquets"/>
				<updated>2010-04-22T05:21:52Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Empaquetar mantenint les permisos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==tar==&lt;br /&gt;
&lt;br /&gt;
L'ordre tar ('''t'''ape '''ar'''chiver) permet arxivar fitxers i va ser creada per [[GNU]]. Com podeu veure pel seu nom, l'ordre tar s'utilitzava inicialment per fer còpies de seguretat en cintes (tapes). Actualment però, podem utilitzar tar per guardar dades en qualsevol dispositiu o simplement per arxivar al disc dur.&lt;br /&gt;
&lt;br /&gt;
Els fitxers creat per tar se'ls anomena tarballs i són força utilitzats per fer còpies de seguretat o per distribuir múltiples fitxers entre sistemes. Per exemple, moltes aplicacions es poden descarregar des de Internet com a tarballs o sense anar més lluny, els paquets de programari contenen fitxers tarball al seu interior.&lt;br /&gt;
&lt;br /&gt;
tar és una comanda amb força opcions, les quals podeu consultar en detall al manual:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] tar&lt;br /&gt;
&lt;br /&gt;
O online a:&lt;br /&gt;
&lt;br /&gt;
 http://linux.die.net/man/1/tar&lt;br /&gt;
&lt;br /&gt;
I també podeu consultar el manual online a:&lt;br /&gt;
&lt;br /&gt;
 http://www.gnu.org/software/tar/manual/index.html&lt;br /&gt;
&lt;br /&gt;
A la següent taula resumim les ordres mśe importants que ens proporciona tar:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Comanda&lt;br /&gt;
! Comanda curta&lt;br /&gt;
! Descripció&lt;br /&gt;
|-&lt;br /&gt;
| --create&lt;br /&gt;
| c&lt;br /&gt;
| Crea un arxiu tar&lt;br /&gt;
|-&lt;br /&gt;
| --concatenate&lt;br /&gt;
| A&lt;br /&gt;
| Afegeix fitxers tar a un fitxer&lt;br /&gt;
|-&lt;br /&gt;
| --append&lt;br /&gt;
| r&lt;br /&gt;
| Afegeix fitxers que no són tar a un arxiu ta&lt;br /&gt;
|-&lt;br /&gt;
| --update&lt;br /&gt;
| u&lt;br /&gt;
| Afegeix només els fitxers que són nous a un arxiu&lt;br /&gt;
|-&lt;br /&gt;
| --diff o --compare&lt;br /&gt;
| d&lt;br /&gt;
| Compara un arxiu amb els fitxers del disc&lt;br /&gt;
|-&lt;br /&gt;
| --list&lt;br /&gt;
| t&lt;br /&gt;
| Mostra els continguts d'un arxiu&lt;br /&gt;
|-&lt;br /&gt;
| --extract o --get&lt;br /&gt;
| x&lt;br /&gt;
| Extreu els fitxers d'un arxiu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': A la taula quan parlem d'arxiu ens referim a un tarball o fitxer tar.&lt;br /&gt;
 '''NOTA 2''': Les comandes de tar es poden especificar tant sense guió (-) com amb guió i a més es poden combinar. Per exemple $ tar xvzf fitxer.tar.gz&lt;br /&gt;
&lt;br /&gt;
A més de les comandes disposem dels següents paràmetres (també anomenats qualificadors):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Qualificador&lt;br /&gt;
! Abreviatura&lt;br /&gt;
! Descripció&lt;br /&gt;
|-&lt;br /&gt;
| --directory dir &lt;br /&gt;
| C&lt;br /&gt;
| Canvia al directori -''dir''' abans de realitzar les operacions&lt;br /&gt;
|-&lt;br /&gt;
| --file [host:]file &lt;br /&gt;
| f&lt;br /&gt;
| Utilitza el fitxer file de la màquina host com a fitxer d'arxiu.&lt;br /&gt;
|-&lt;br /&gt;
| --listed-incremental file&lt;br /&gt;
| g&lt;br /&gt;
| Realitza una còpia de seguretat incremental o una restauració utilitzant el fitxer '''file''' com a llista dels fitxers arxivats prèviament.&lt;br /&gt;
|-&lt;br /&gt;
| --one-file-system&lt;br /&gt;
| l&lt;br /&gt;
| Fa còpia de seguretat o restaura només d'un sistema de fitxers.&lt;br /&gt;
|-&lt;br /&gt;
| --multi-volume      &lt;br /&gt;
| M&lt;br /&gt;
| Crea o extrau un fitxer tar multivolum&lt;br /&gt;
|-&lt;br /&gt;
| --same-permissions     &lt;br /&gt;
| p&lt;br /&gt;
| Manté tota la informació de permisos&lt;br /&gt;
|-&lt;br /&gt;
| --absolute-paths     &lt;br /&gt;
| P&lt;br /&gt;
| Manté les barres (/) inicials dels fitxers&lt;br /&gt;
|-&lt;br /&gt;
| --verbose&lt;br /&gt;
| b&lt;br /&gt;
| Mostra el fitxers llegits o extrets. Quan s'utilitza amb --list mostra informació extra com la mida, els permisos i les marques de temps dels fitxers.&lt;br /&gt;
|-&lt;br /&gt;
| --verify&lt;br /&gt;
| w&lt;br /&gt;
| verifica l'arxiu després de creat&lt;br /&gt;
|-&lt;br /&gt;
| --exclude file&lt;br /&gt;
| no en té &lt;br /&gt;
| Exclou el fitxer file de l'arxiu&lt;br /&gt;
|-&lt;br /&gt;
| --exclude-from file&lt;br /&gt;
| X&lt;br /&gt;
| Exclou els fitxers indicats a file de l'arxiu&lt;br /&gt;
|-&lt;br /&gt;
| --gzip or --ungzip   &lt;br /&gt;
| z&lt;br /&gt;
| Processa (comprimeix o descomprimeix) un fitxer comprimit amb [[gzip]]&lt;br /&gt;
|-&lt;br /&gt;
| --bzip2&lt;br /&gt;
| j&lt;br /&gt;
| Processa (comprimeix o descomprimeix) un fitxer comprimit amb [[bzip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Instal·lació i paquets===&lt;br /&gt;
&lt;br /&gt;
Tal i com podeu comprovar amb:&lt;br /&gt;
&lt;br /&gt;
 $ whereis tar&lt;br /&gt;
 tar: /bin/tar /usr/share/man/man1/tar.1.gz&lt;br /&gt;
 $ dpkg -S /bin/tar&lt;br /&gt;
 tar: /bin/tar&lt;br /&gt;
&lt;br /&gt;
en sistemes de la família [[Debian]], com per exemple Ubuntu, tar es proporcionat pel paquet tar. Aquest paquet es troba normalment instal·lat per defecte en la majoria de distribucions.&lt;br /&gt;
&lt;br /&gt;
===Fitxers i el paràmetre f===&lt;br /&gt;
&lt;br /&gt;
Per defecte, l'ordre tar treballa amb cintes. Per aquesta raó quan vulguem treballar amb fitxers (la majoria de vegades) haurem d'indicar-ho amb el paràmetre '''f'''.&lt;br /&gt;
&lt;br /&gt;
===Empaquetar===&lt;br /&gt;
&lt;br /&gt;
La sintaxi a utilitzar a l'hora d'empaquetar un conjunt de fitxers és:&lt;br /&gt;
&lt;br /&gt;
 $ tar cf fitxer.tar fitxers&lt;br /&gt;
&lt;br /&gt;
On '''fitxer.tar''' és el paquet que contindrà tots els fitxers especificats per '''fitxers'''. Per defecte tar és una comanda silenciosa en cas que tot funcioni correctament (a l'estil Unix: No News Good News). Podeu obtenir més informació amb el paràmetre v (--verbose). Per exemple:&lt;br /&gt;
&lt;br /&gt;
 $ tar cvf fitxer.tar FestaUbuntu&lt;br /&gt;
 FestaUbuntu/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/entries&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/text-base/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/props/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/prop-base/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/format&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/tmp/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/tmp/text-base/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/tmp/text-base/presentacio-ubuntujj-osm.pdf.svn-base&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/tmp/props/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/tmp/prop-base/&lt;br /&gt;
&lt;br /&gt;
També es poden indicar llistes de fitxers:&lt;br /&gt;
&lt;br /&gt;
  $tar -c file1 file2 file3 ...&lt;br /&gt;
&lt;br /&gt;
'''NOTA''': Observeu que tar suporta tant les opcions amb [[LPI_103.1#Per.C3.B2.2C_qu.C3.A8_.C3.A9s_un_ordre.3F |guió (Unix98) i sense guió (BSD)]].&lt;br /&gt;
&lt;br /&gt;
====Empaquetar fitxers nous (a partir d'una data)====&lt;br /&gt;
&lt;br /&gt;
Podem empaquetar només el fitxers nous a partir d'una data concreta, amb l'opció -N (--newer):&lt;br /&gt;
&lt;br /&gt;
 $ tar cvf file.tar --newer  &amp;quot;2008-02-07 13:54:00&amp;quot; fitxers &lt;br /&gt;
&lt;br /&gt;
====Empaquetar mantenint les permisos====&lt;br /&gt;
&lt;br /&gt;
Ho podem fer amb l'opció -p (--preserve-permisions):&lt;br /&gt;
&lt;br /&gt;
 $ tar czfp file.tar.gz archivewithtar/&lt;br /&gt;
&lt;br /&gt;
===Desempaquetar===&lt;br /&gt;
&lt;br /&gt;
Per desempaquetar un fitxer podem utilitzar la comanda --extract (x)&lt;br /&gt;
&lt;br /&gt;
 $ tar -xvf fitxer.tar &lt;br /&gt;
&lt;br /&gt;
o&lt;br /&gt;
&lt;br /&gt;
 $ tar xvf fitxer.tar&lt;br /&gt;
&lt;br /&gt;
El paràmetre v (--verbose) l'hem utilitzat per mostrar més informació sobre el procés d'extracció. Per defecte només es mostren els errors.&lt;br /&gt;
&lt;br /&gt;
Podem també extreure només un fitxer (o subconjunt de fitxers):&lt;br /&gt;
&lt;br /&gt;
 $ tar xvf linuxtarfile.tar archivewithtar/dmesg &lt;br /&gt;
&lt;br /&gt;
===Llistar===&lt;br /&gt;
&lt;br /&gt;
Per tal de consultar els continguts d'un fitxer tar, podeu utilitzar l'ordre t:&lt;br /&gt;
&lt;br /&gt;
 $ tar tf fitxer.tar&lt;br /&gt;
 FestaUbuntu/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/entries&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/text-base/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/props/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/prop-base/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/format&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/tmp/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/tmp/text-base/&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/tmp/text-base/presentacio-ubuntujj-osm.pdf.svn-base&lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/tmp/props/ &lt;br /&gt;
 FestaUbuntu/XerradaOpenStreetMaps/.svn/tmp/prop-base/&lt;br /&gt;
&lt;br /&gt;
podeu mostrar més informació amb v (--verbose):&lt;br /&gt;
&lt;br /&gt;
 $ tar -tvf fitxer.tar&lt;br /&gt;
 drwxr-xr-x sergi/sergi       0 2009-05-12 12:52 FestaUbuntu/&lt;br /&gt;
 drwxr-xr-x sergi/sergi       0 2009-05-12 12:52 FestaUbuntu/XerradaOpenStreetMaps/&lt;br /&gt;
 drwxr-xr-x sergi/sergi       0 2009-05-12 13:50 FestaUbuntu/XerradaOpenStreetMaps/.svn/&lt;br /&gt;
 -r--r--r-- sergi/sergi     216 2009-05-12 12:52 FestaUbuntu/XerradaOpenStreetMaps/.svn/entries&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
===Còpies incrementals===&lt;br /&gt;
&lt;br /&gt;
*http://www.gnu.org/software/automake/manual/tar/Incremental-Dumps.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Comparar un fitxers tar amb fitxers del sistema===&lt;br /&gt;
&lt;br /&gt;
Es pot fer amb l'opció `--compare' (`-d'):&lt;br /&gt;
&lt;br /&gt;
 $ tar --compare --verbose --file=index.tar&lt;br /&gt;
&lt;br /&gt;
Equivalent a:&lt;br /&gt;
&lt;br /&gt;
 $ tar dvf index.tar&lt;br /&gt;
&lt;br /&gt;
Es mostraran tots els fitxers seguits d'un text. Si no hi ha text és que no hi ha diferencies.&lt;br /&gt;
&lt;br /&gt;
Exemple:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir tar&lt;br /&gt;
 $ cd tar &lt;br /&gt;
 $ touch a&lt;br /&gt;
 $ touch b&lt;br /&gt;
 $ touch c&lt;br /&gt;
 $ tar cvf fitxers.tar a b c&lt;br /&gt;
&lt;br /&gt;
Si comparem són iguals:&lt;br /&gt;
&lt;br /&gt;
 $ tar dvf fitxers.tar &lt;br /&gt;
 a&lt;br /&gt;
 b&lt;br /&gt;
 c&lt;br /&gt;
&lt;br /&gt;
Si ara modifiquem un fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ touch b&lt;br /&gt;
&lt;br /&gt;
 $ tar dvf fitxers.tar &lt;br /&gt;
 a&lt;br /&gt;
 b&lt;br /&gt;
 b: Mod time differs&lt;br /&gt;
 c&lt;br /&gt;
&lt;br /&gt;
Si modifiquem el contingut:&lt;br /&gt;
&lt;br /&gt;
 $ vi a&lt;br /&gt;
 $ tar dvf fitxers.tar &lt;br /&gt;
 a&lt;br /&gt;
 a: Mod time differs&lt;br /&gt;
 a: Size differs&lt;br /&gt;
 b&lt;br /&gt;
 b: Mod time differs&lt;br /&gt;
 c &lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.math.utah.edu/docs/info/tar_2.html&lt;br /&gt;
&lt;br /&gt;
=== Opció -p. Preservar permisos ===&lt;br /&gt;
&lt;br /&gt;
Per exemple:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tar -xvpzf $IMAGE_PATH -C /mnt/${NAME}/&lt;br /&gt;
&lt;br /&gt;
Extreu una imatge de disc&lt;br /&gt;
&lt;br /&gt;
Segons el manual, també es pot utilitzar--preserve:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] tar&lt;br /&gt;
 ...&lt;br /&gt;
      --preserve&lt;br /&gt;
           same as both -p and -s&lt;br /&gt;
&lt;br /&gt;
=== Crear una imatge de disc ===&lt;br /&gt;
&lt;br /&gt;
Des d'una live CD:&lt;br /&gt;
&lt;br /&gt;
 $ tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://ubuntuforums.org/showthread.php?t=81311&lt;br /&gt;
&lt;br /&gt;
==gzip==&lt;br /&gt;
&lt;br /&gt;
En sistemes operatius lliures, el sistema més utilitzat per tal de comprimir fitxers és [http://ca.wikipedia.org/wiki/Gzip gzip]. Gzip és l'abreviació de [[GNU]] zip.&lt;br /&gt;
&lt;br /&gt;
Gzip es basa en l'algoritme DEFLATE, que és una combinació dels algorismes LZ77 i el Huffman. DEFLATE es va desenvolupar com a resposta a les patents que van cobrir LZW i d'altres algoritmes de compressió.&lt;br /&gt;
&lt;br /&gt;
No s'ha de confondre el gzip amb el Zip ja que no són compatibles. gzip no arxiva fitxers, només els comprimeix. A causa d'això tot sovint s'utilitza conjuntament amb alguna eina per arxivar com [[tar]].&lt;br /&gt;
&lt;br /&gt;
Normalment, l'extensió dels arxius gzipats és .gz. El programari d'Unix sovint es distribueix en fitxers amb extensió &lt;br /&gt;
 &lt;br /&gt;
 .tar.gz &lt;br /&gt;
&lt;br /&gt;
o &lt;br /&gt;
&lt;br /&gt;
 .tgz &lt;br /&gt;
&lt;br /&gt;
anomenats tarballs. Són fitxers empaquetats amb tar i comprimits amb gzip.&lt;br /&gt;
&lt;br /&gt;
=== Descomprimir tarballs===&lt;br /&gt;
&lt;br /&gt;
Per descomprimir un fitxer gzip:&lt;br /&gt;
&lt;br /&gt;
 $ tar xvzf fitxercomprimit.tar.gz&lt;br /&gt;
&lt;br /&gt;
*'''x''': Extreure&lt;br /&gt;
*'''f''': Indica que treballem amb un fitxer. Tar és una eina que té molts anys i treballa per defecte amb cintes&lt;br /&gt;
*'''v''': Opcional. Mode verbose. Aporta més informació sobre el procés.&lt;br /&gt;
&lt;br /&gt;
=== Comprimir tarballs===&lt;br /&gt;
&lt;br /&gt;
 $ tar -czf fitxers.tar.gz fitxers&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://stolz.gsmlandia.com/node/10&lt;br /&gt;
&lt;br /&gt;
===Fitxers gz===&lt;br /&gt;
&lt;br /&gt;
===Comprimir===&lt;br /&gt;
&lt;br /&gt;
 $ gzip fitxer&lt;br /&gt;
&lt;br /&gt;
===Descomprimir===&lt;br /&gt;
&lt;br /&gt;
 $ gzip -d fitxer.gz&lt;br /&gt;
&lt;br /&gt;
O podeu utilitzat gunzip:&lt;br /&gt;
&lt;br /&gt;
 $ gunzip fitxer.gz&lt;br /&gt;
&lt;br /&gt;
Per defecte es substitueix el fitxer comprimit pel resultat de descomprimir. Per descomprimir el resultat en un altre fitxer:&lt;br /&gt;
&lt;br /&gt;
 $ gunzip fitxer.gz &amp;gt; fitxer&lt;br /&gt;
&lt;br /&gt;
Un cas força habitual es descomprimir els fitxers de documentació del [[paquets Debian]]. Normalment, per estalviar temps, aquest fitxers estan comprimits. Per exemple, per veure exemples de com configurar les interfícies de xarxa:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L ifupdown | grep doc | grep interfaces&lt;br /&gt;
 /usr/share/doc/ifupdown/examples/network-interfaces.gz&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
 $ sudo gunzip /usr/share/doc/ifupdown/examples/network-interfaces.gz&lt;br /&gt;
 $ vi /usr/share/doc/ifupdown/examples/network-interfaces&lt;br /&gt;
&lt;br /&gt;
===Llistar===&lt;br /&gt;
&lt;br /&gt;
 $ tar -ztvf file.tar.gz&lt;br /&gt;
&lt;br /&gt;
On:&lt;br /&gt;
&lt;br /&gt;
* t: List the contents of an archive&lt;br /&gt;
* v: Verbosely list files processed (display detailed information)&lt;br /&gt;
* z: Filter the archive through gzip so that we can open compressed (decompress) .gz tar file&lt;br /&gt;
* f filename: Use archive file called filename&lt;br /&gt;
&lt;br /&gt;
==bz2==&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://es.wikipedia.org/wiki/Bzip2&lt;br /&gt;
&lt;br /&gt;
===Descomprimir tarball ===&lt;br /&gt;
&lt;br /&gt;
 $ tar jxvf fitxercomprimit.tar.bz2&lt;br /&gt;
&lt;br /&gt;
===Comprimir tarball ===&lt;br /&gt;
&lt;br /&gt;
 $ tar cvjf tarfile.tar.bz2 files...&lt;br /&gt;
&lt;br /&gt;
===Llistar tarball ===&lt;br /&gt;
&lt;br /&gt;
 $ tar -jtvf file.tar.bz2&lt;br /&gt;
&lt;br /&gt;
On:&lt;br /&gt;
&lt;br /&gt;
* t: List the contents of an archive&lt;br /&gt;
* v: Verbosely list files processed (display detailed information)&lt;br /&gt;
* z: Filter the archive through gzip so that we can open compressed (decompress) .gz tar file&lt;br /&gt;
* j: Filter archive through bzip2, use to decompress .bz2 files.&lt;br /&gt;
* f filename: Use archive file called filename&lt;br /&gt;
&lt;br /&gt;
=== Descomprimir ===&lt;br /&gt;
&lt;br /&gt;
Dos opcions:&lt;br /&gt;
 &lt;br /&gt;
 $ bzip2 -d fitxer.bz2&lt;br /&gt;
&lt;br /&gt;
o&lt;br /&gt;
&lt;br /&gt;
 $ bunzip2 fitxer.bz2&lt;br /&gt;
&lt;br /&gt;
=== Comprimir ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ bzip2 fitxer&lt;br /&gt;
&lt;br /&gt;
Comprimeix el fitxer i genera un fitxer fitxer.bz2 (l'original es borra).&lt;br /&gt;
&lt;br /&gt;
==cpio==&lt;br /&gt;
&lt;br /&gt;
L'ordre cpio com [[tar]], també és un ordre que permet arxivar fitxers, però que difereix en la forma de funcionar.&lt;br /&gt;
&lt;br /&gt;
L'ordre cpio té 3 modes d'operació:&lt;br /&gt;
&lt;br /&gt;
*'''Mode copy-out (-o o --create-option)''': Aquest mode crea un arxiu i copia fitxers a aquest arxiu.&lt;br /&gt;
*'''Mode copy-in (-i o --extract)''': Aquest mode extreu fitxers d'un arxiu. És possible extreure només fitxers concrets o fitxers segons un patró.&lt;br /&gt;
*'''Mode copy-pass (-p o --pass-through)''': Combina els dos modes anteriors permetent que es pugui copiar un estructura de directoris d'una localització a un altre.&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': tingueu en compte que el nom dels modes copy-out i copy-in pot ser una mica confús.&lt;br /&gt;
&lt;br /&gt;
Cpio té múltiples opcions que podeu consultar al manual:&lt;br /&gt;
&lt;br /&gt;
 $ [[man]] cpio&lt;br /&gt;
&lt;br /&gt;
o a Internet:&lt;br /&gt;
&lt;br /&gt;
 http://linux.die.net/man/1/cpio&lt;br /&gt;
&lt;br /&gt;
Les opcions més importants les podeu trobar a la següent taula:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Opció&lt;br /&gt;
! Abreviatura&lt;br /&gt;
! Descripció&lt;br /&gt;
|-&lt;br /&gt;
| --reset-access-time   &lt;br /&gt;
| -A&lt;br /&gt;
| Torna a establir el temps d'accés (atime) després de llegir el fitxer de forma qe no sembla que així estat llegit&lt;br /&gt;
|-&lt;br /&gt;
| --append&lt;br /&gt;
| -A&lt;br /&gt;
| Afegeix fitxers a un arxiu&lt;br /&gt;
|-&lt;br /&gt;
| --pattern-file=filename  &lt;br /&gt;
| -E filename&lt;br /&gt;
| Utilitza els continguts del fitxer filename com a una llista de fitxers a extreure&lt;br /&gt;
|-&lt;br /&gt;
| --file=filename&lt;br /&gt;
| -F filename&lt;br /&gt;
| Utilitza el fitxer filename com a fitxer d'arxiu. Si no s'utilitza aquest paràmetre per defecte s'utilitza la entrada estàndard o la sortida estàndard.&lt;br /&gt;
|-&lt;br /&gt;
| --format=format&lt;br /&gt;
| -H format&lt;br /&gt;
| Utilitza un format especific per al fitxer d'arxiu. Els possibles formats són bin (per defecte, crea un fitxer binari), crc (nou format binari amb checksum), o [[tar]]&lt;br /&gt;
|-&lt;br /&gt;
| No hi ha&lt;br /&gt;
| -I filename&lt;br /&gt;
| Utilitza el fitxer especificat en comptes de l'entrada estàndard. A diferència de -F no es redireccionen les dades de sortida.&lt;br /&gt;
|-&lt;br /&gt;
| --no-absolute-filenames&lt;br /&gt;
| No hi ha&lt;br /&gt;
| En mode copy-in (extreure) extreu els fitxers relatius al directrui de treball.&lt;br /&gt;
|-&lt;br /&gt;
| --unconditional&lt;br /&gt;
| -u&lt;br /&gt;
| Reemplaça els fitxers sense preguntar.&lt;br /&gt;
|-&lt;br /&gt;
| --list&lt;br /&gt;
| -t&lt;br /&gt;
| Mostra la taula de continguts de l'entrada&lt;br /&gt;
|-&lt;br /&gt;
| --verbose&lt;br /&gt;
| -v&lt;br /&gt;
| Mostra informació extra&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Arxivar fitxers===&lt;br /&gt;
&lt;br /&gt;
Per especificar els fitxers que es volen arxivar cal fer-ho utilitzant l'entrada estàndard. Tenim doncs força opcions:&lt;br /&gt;
&lt;br /&gt;
'''Utilitzar l'ordre find''':&lt;br /&gt;
&lt;br /&gt;
Combinant l'ordre [[find]] amb un [[conducte]] (pipe) i [[redireccions]]:&lt;br /&gt;
&lt;br /&gt;
 $ find ./carpeta_a_arxivar | cpio -o &amp;gt; /media/KINGSTON/arxiu.cpio&lt;br /&gt;
&lt;br /&gt;
El fitxer resultat no es troba comprimit. Per comprimir podem utilitzar [[gzip]]:&lt;br /&gt;
&lt;br /&gt;
 $ find ./carpeta_a_arxivar | cpio -o | gzip &amp;gt; /media/KINGSTON/arxiu.cpio&lt;br /&gt;
&lt;br /&gt;
=== Extreure fitxers ===&lt;br /&gt;
&lt;br /&gt;
Podem utilitzar l'opció -i i [[redireccions]]:&lt;br /&gt;
&lt;br /&gt;
 $ cpio -i &amp;lt; /media/KINGSTON/arxiu.cpio&lt;br /&gt;
&lt;br /&gt;
Si el fitxer està comprimit podeu utilitzar l'opció -c:&lt;br /&gt;
 &lt;br /&gt;
 $ gunzip -c /media/KINGSTON/arxiu.cpio| cpio -i&lt;br /&gt;
&lt;br /&gt;
==ar==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[ar]].&lt;br /&gt;
&lt;br /&gt;
==Empaquetar un fitxer en múltiples fitxers partits. split==&lt;br /&gt;
&lt;br /&gt;
Per exemple, per dividir un fitxer en trossos de 100M:&lt;br /&gt;
&lt;br /&gt;
 $ tar czv UbuntuServer_904_cursos.vmdk | split -b 100M - UbuntuServer.tar.gz &lt;br /&gt;
&lt;br /&gt;
El fitxer es pot recuperar amb:&lt;br /&gt;
&lt;br /&gt;
 $ cat UbuntuServer.tar.gz* | tar xzvf -&lt;br /&gt;
&lt;br /&gt;
==Exemples==&lt;br /&gt;
&lt;br /&gt;
===absolute path names===&lt;br /&gt;
&lt;br /&gt;
 $ sudo tar cvzf /linux2/backups/mysql/wikidb_20090901.sql.tar.gz /linux2/backups/mysql/wikidb_20090901.sql&lt;br /&gt;
 ar: Removing leading `/' from member names&lt;br /&gt;
 /linux2/backups/mysql/wikidb_20090901.sql&lt;br /&gt;
&lt;br /&gt;
Crea el fitxer '''/linux2/backups/mysql/wikidb_20090901.sql.tar.gz''' que conté el fitxer original /linux2/backups/mysql/wikidb_20090901.sql amb tot el path (però sense /). És dir:&lt;br /&gt;
&lt;br /&gt;
 linux2/backups/mysql/wikidb_20090901.sql&lt;br /&gt;
&lt;br /&gt;
Si volem mantenir el /, cal utilitzar la opció:&lt;br /&gt;
&lt;br /&gt;
 -P, --absolute-names&lt;br /&gt;
              don’t strip leading ‘/’s from file names&lt;br /&gt;
&lt;br /&gt;
'''NOTA''': compte que pot ser perillós restaurar aquest tipus de fitxers en segons quins casos (pot sobrescriure fitxers del sistema importants sense previ avís).&lt;br /&gt;
&lt;br /&gt;
Si no el volem mantenir i només volem posar el fitxer sense path:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tar cvzf /linux2/backups/mysql/wikidb_20090901.sql.tar.gz -C /linux2/backups/mysql wikidb_20090901.sql&lt;br /&gt;
&lt;br /&gt;
===Fer una còpia d'un sistema muntat===&lt;br /&gt;
&lt;br /&gt;
 $ sudo tar -cvpzf karmic_ubuntu_server.tar.gz --exclude=/mnt/karmic/proc --exclude=/mnt/karmic/lost+found --exclude=/mnt/karmic/sys -C /mnt/karmic/ .&lt;br /&gt;
&lt;br /&gt;
Per restaurar en un altre partició muntada:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tar -xvpzf /mnt/repositori_maquina_virtual/karmic_ubuntu_server.tar.gz -C /mnt/negrell&lt;br /&gt;
&lt;br /&gt;
*https://help.ubuntu.com/community/BackupYourSystem/TAR&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
*[[zip]] i [[unzip]]&lt;br /&gt;
*[[rar]] i [[unrar]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Monitoritzaci%C3%B3_del_tr%C3%A0nsit</id>
		<title>Monitorització del trànsit</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Monitoritzaci%C3%B3_del_tr%C3%A0nsit"/>
				<updated>2010-04-16T18:07:29Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* ipband */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=iptraf=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install iptraf&lt;br /&gt;
&lt;br /&gt;
 $ sudo iptraf&lt;br /&gt;
&lt;br /&gt;
=ipband=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-cache show ipband&lt;br /&gt;
 Description: daemon for subnet bandwidth monitoring with reporting via email&lt;br /&gt;
 This is a daemon which can monitor as many different subnets (or individual&lt;br /&gt;
 hosts, by specifying a &amp;quot;subnet&amp;quot; of /32) as you'd like. The reporting facility&lt;br /&gt;
 will only be triggered when a defined bandwidth level had been exceeded for a&lt;br /&gt;
 defined time.&lt;br /&gt;
 .&lt;br /&gt;
 Information reported includes the connections which are taking up the most&lt;br /&gt;
 bandwidth (ip address and port pairs). Reporting is done via email.&lt;br /&gt;
 Homepage: http://ipband.sourceforge.net/&lt;br /&gt;
 Bugs: https://bugs.launchpad.net/ubuntu/+filebug&lt;br /&gt;
 Origin: Ubuntu&lt;br /&gt;
&lt;br /&gt;
=ipfm=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-cache show ipfm&lt;br /&gt;
 Description: a bandwidth analysis tool&lt;br /&gt;
 IPFM counts how much data was sent and received by specified hosts through&lt;br /&gt;
 an Internet link.&lt;br /&gt;
&lt;br /&gt;
=bwm. Bandwidth monitor=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install bwm&lt;br /&gt;
&lt;br /&gt;
 $ sudo bwm&lt;br /&gt;
&lt;br /&gt;
===bwm-ng ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install bwm-ng&lt;br /&gt;
&lt;br /&gt;
=cutter. Tallar una connexió no desitjada=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install cutter&lt;br /&gt;
&lt;br /&gt;
Permet tallar una connexió:&lt;br /&gt;
&lt;br /&gt;
 $ cutter 200.1.2.3 22 10.10.0.45 32451&lt;br /&gt;
&lt;br /&gt;
=ethstats=&lt;br /&gt;
&lt;br /&gt;
Permet consultar el throughput:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ethstats&lt;br /&gt;
&lt;br /&gt;
 $ sudo ethstats&lt;br /&gt;
 total: 0.01 Mb/s In 0.00 Mb/s Out - 7.0 p/s In 5.0 p/s Out&lt;br /&gt;
 eth0: 0.01 Mb/s In 0.00 Mb/s Out - 7.0 p/s In 5.0 p/s Out&lt;br /&gt;
 eth1: 0.00 Mb/s In 0.00 Mb/s Out - 0.0 p/s In 0.0 p/s Out&lt;br /&gt;
&lt;br /&gt;
=ethstatus=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ethstatus&lt;br /&gt;
&lt;br /&gt;
=NTOP=&lt;br /&gt;
&lt;br /&gt;
Consulteu [[NTOP]]&lt;br /&gt;
&lt;br /&gt;
=bandwidthd=&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install bandwidthd&lt;br /&gt;
&lt;br /&gt;
Un cop instal·lat podeu consultar les gràfiques (pàgines HTML) accedint a:&lt;br /&gt;
&lt;br /&gt;
 file:///var/lib/bandwidthd/htdocs/index.html&lt;br /&gt;
&lt;br /&gt;
Amb el Navegador web.&lt;br /&gt;
&lt;br /&gt;
'''Fitxer de configuració''':&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/bandwidthd/bandwidthd.conf&lt;br /&gt;
&lt;br /&gt;
=netacct=&lt;br /&gt;
&lt;br /&gt;
Permet tenir un log de l'ús de xarxa per IPs&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install net-acct&lt;br /&gt;
&lt;br /&gt;
És un dimoni que s'encarrega de crear els fitxers de lo de la carpeta '''/var/log/net-acct''':&lt;br /&gt;
&lt;br /&gt;
 $ cat /var/log/net-acct/net-acct.log&lt;br /&gt;
=Slurm=&lt;br /&gt;
&lt;br /&gt;
'''Instal·lació''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install slurm &lt;br /&gt;
&lt;br /&gt;
'''Execució''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo slurm -d 1 -i eth0&lt;br /&gt;
&lt;br /&gt;
=netstat=&lt;br /&gt;
&lt;br /&gt;
 $ sudo netstat -i&lt;br /&gt;
&lt;br /&gt;
 $ netstat -s | head&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[Xarxes_Linux#netstat|netstat]].&lt;br /&gt;
&lt;br /&gt;
=ngrep=&lt;br /&gt;
&lt;br /&gt;
'''Instal·lació''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt.get install ngrep&lt;br /&gt;
&lt;br /&gt;
'''Ús''':&lt;br /&gt;
 $ sudo ngrep -W byline port 80&lt;br /&gt;
&lt;br /&gt;
=vnstat=&lt;br /&gt;
&lt;br /&gt;
'''Instal·lació''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install vnstat&lt;br /&gt;
&lt;br /&gt;
'''Crear una base de dades''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo vnstat -u -i eth0&lt;br /&gt;
&lt;br /&gt;
'''Consultar els informes''':&lt;br /&gt;
 $ vnstat --days&lt;br /&gt;
&lt;br /&gt;
=netperf=&lt;br /&gt;
&lt;br /&gt;
Cal instal·lar netperf tant en el client com en un servidor:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install netperf&lt;br /&gt;
&lt;br /&gt;
Utilitza el port 12865&lt;br /&gt;
&lt;br /&gt;
 $ sudo nmap localhost -p 12865&lt;br /&gt;
 &lt;br /&gt;
 Starting Nmap 4.53 ( http://insecure.org ) at 2008-11-25 12:44 CET&lt;br /&gt;
 Interesting ports on localhost (127.0.0.1):&lt;br /&gt;
 PORT      STATE SERVICE&lt;br /&gt;
 12865/tcp open  unknown&lt;br /&gt;
 &lt;br /&gt;
 Nmap done: 1 IP address (1 host up) scanned in 0.139 seconds&lt;br /&gt;
&lt;br /&gt;
Des de un client podem consultar quina és:&lt;br /&gt;
&lt;br /&gt;
 $ netperf -H localhost&lt;br /&gt;
 TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to localhost (127.0.0.1) port 0 AF_INET&lt;br /&gt;
 Recv   Send    Send                          &lt;br /&gt;
 Socket Socket  Message  Elapsed              &lt;br /&gt;
 Size   Size    Size     Time     Throughput  &lt;br /&gt;
 bytes  bytes   bytes    secs.    10^6bits/sec  &lt;br /&gt;
 &lt;br /&gt;
 87380  16384  16384    10.00    3419.88&lt;br /&gt;
&lt;br /&gt;
Vegeu també:&lt;br /&gt;
&lt;br /&gt;
:*[[Iperf]]&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
*http://immike.net/blog/2007/05/01/top-5-unix-network-monitoring-utilities/&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/DBm</id>
		<title>DBm</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/DBm"/>
				<updated>2010-03-31T04:37:07Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El '''dBm''' és una unitat de mesura utilitzada principalment en telecomunicacions per expressar la potència absoluta mitjançant una relació logarítmica.&lt;br /&gt;
&lt;br /&gt;
El dBm  és el nivell de potència en [[decibelio]]s en relació a un nivell de referencia de 1 mW.&lt;br /&gt;
&lt;br /&gt;
El valor en dBm és una valor de potència que és calcula amb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \text{dBm} = 10\times \log  \frac{P}{1 \text{mW}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El nivell de referència és la potència 1mW.&lt;br /&gt;
&lt;br /&gt;
Per exemple, les antenes de 2,4Ghz WIFI per llei han de limitar la seva potència a 100mW que equival a 20dBm.&lt;br /&gt;
&lt;br /&gt;
L'avantatge d'aquestes unitats logarítmiques és que redueixen a simples restes i sumes els càlculs de potències quan s'utilitzen guanys i atenuacions.&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:RadiosFrequenciesPOtenciesguifinet.png|center]]&lt;br /&gt;
&lt;br /&gt;
==Càlculs de potències==&lt;br /&gt;
&lt;br /&gt;
:*http://guifi.net/files/guificalculator.html&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
:*[[guifi.net]]&lt;br /&gt;
:*[[PIRE]]&lt;br /&gt;
:*[[RSSI]]&lt;br /&gt;
:*[[CCQ]]&lt;br /&gt;
:*[[WIFI]]&lt;br /&gt;
:*[[DFS]]&lt;br /&gt;
&lt;br /&gt;
==Enllaços externs==&lt;br /&gt;
&lt;br /&gt;
:*http://es.wikipedia.org/wiki/DBm&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Debian</id>
		<title>Debian</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Debian"/>
				<updated>2010-03-12T15:09:50Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Vegeu també */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlantillaCurs&lt;br /&gt;
| curs                   = [[IntroduccioLinux]]&lt;br /&gt;
| fitxers                = {{FitxerIOriginalODT|url=https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/IntroduccioLinux/sessio1/transparencies/|nom=IniciacioLinux}}&lt;br /&gt;
| repositori             = https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/IntroduccioLinux&lt;br /&gt;
| autors                 = [[Sergi Tur Badenas]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Debian [[GNU]]/[[Linux]] és un projecte l'objectiu del qual es crear un sistema operatiu lliure complet basat en el treball del projecte GNU.&lt;br /&gt;
&lt;br /&gt;
Algunes de les característiques de Debian són:&lt;br /&gt;
&lt;br /&gt;
:*El formen voluntaris d'arreu del món.&lt;br /&gt;
:*Debian és conegut per la seva per ser una distribució molt lligada a la filosofia del Programari Lliure&lt;br /&gt;
:*És una de les distribucions amb més opcions de programari amb més de 15.000 paquets per a més de 15 arquitectures de computadors.&lt;br /&gt;
:*Debian GNU/Linux és la base d'altres distribucions com Knoppix, Linspire, SkoleLinux (Debian-edu) i  Ubuntu.&lt;br /&gt;
:*Debian esta suportat per les donacions a Software in the Public Interest, Inc.&lt;br /&gt;
&lt;br /&gt;
Debian va ser una de les primeres distribucions Linux, creada el 16 Agost de 1993 per Ian Murdock. L'origen del nom Debian és la combinació del nom de la novia (ara dona) de Ian Murdock (Debra) amb el seu propi nom (Ian).&lt;br /&gt;
&lt;br /&gt;
Debian es regeix pels següents documents:&lt;br /&gt;
&lt;br /&gt;
:*'''Debian Manifesto''':  document que defineix la filosofia de Debian.&lt;br /&gt;
:*'''Debian Social Contract''': contracte entre Debian i els seus usuaris.&lt;br /&gt;
:*'''Debian Free Software Guidelines''': defineix que és programari lliure i que no és programari lliure segons Debian.&lt;br /&gt;
&lt;br /&gt;
==Contracte social==&lt;br /&gt;
&lt;br /&gt;
:*Debian romandrà 100% lliure.&lt;br /&gt;
:*Compensarem a la comunitat de programari lliure.&lt;br /&gt;
:*No amagarem els problemes.&lt;br /&gt;
:*Les nostres prioritats són els nostres usuaris i el programari lliure.&lt;br /&gt;
:*Principis del Software Lliure de Debian (DFSG)&lt;br /&gt;
:*Redistribució lliure&lt;br /&gt;
:*Codi Font&lt;br /&gt;
:*Treballs derivats,&lt;br /&gt;
:*Integritat del codi font de l'autor&lt;br /&gt;
:*Cap discriminació a persones o grups&lt;br /&gt;
:Cap discriminació a finalitats d'aplicació&lt;br /&gt;
:Distribució de llicència&lt;br /&gt;
:La llicència no ha de ser específica a Debian&lt;br /&gt;
:Debian, la llicència no ha de contaminar un altre programa&lt;br /&gt;
&lt;br /&gt;
==Debian Policy==&lt;br /&gt;
&lt;br /&gt;
La política de Debian es pot consultar online a:&lt;br /&gt;
&lt;br /&gt;
 http://www.debian.org/doc/debian-policy/&lt;br /&gt;
&lt;br /&gt;
O podeu instal·lar el paquet:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install debian-policy&lt;br /&gt;
&lt;br /&gt;
==Dipòsits Debian==&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
&lt;br /&gt;
 [[Configuració de Repositoris a Debian]]&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
*[[Instal·lació de Debian]]&lt;br /&gt;
*[[LPI_102.4]]. {{102.4Title}}&lt;br /&gt;
*[[Configuració de Repositoris a Debian]]&lt;br /&gt;
*[[Creació de paquets Debian]]&lt;br /&gt;
*[[Creación de paquetes Debian]]&lt;br /&gt;
*[[Error claus Openssl (SSH) a Debian (descoberta maig 2008)]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Coloraci%C3%B3_de_llenguatges_de_programaci%C3%B3._highlight</id>
		<title>Coloració de llenguatges de programació. highlight</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Coloraci%C3%B3_de_llenguatges_de_programaci%C3%B3._highlight"/>
				<updated>2010-01-11T17:20:46Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Exemple */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Imatge:Logo_highlight.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''highlight''' és un conversor de codi font (suporta múltiples llenguatges) a text formatat (com HTML, Latex)&lt;br /&gt;
&lt;br /&gt;
Del [http://linux.die.net/man/1/highlight manual de highlight]:&lt;br /&gt;
&lt;br /&gt;
 Highlight converts sourcecode to HTML, XHTML, RTF, LaTeX, TeX, XML or ANSI escape sequences. There are 40 colour themes available. Highlight  &lt;br /&gt;
 recognizes keywords, numbers, strings, comments, symbols and preprocessor directives. It supports Action Script, ADA 95, Agda, AMPL, Aspect, &lt;br /&gt;
 Assembler, Amtrix, Avenue, (G)AWK, Bash, BlitzBasic, BMS, C, C++, C#, ClearBasic, Clipper, Cobol, CSS, DOS-Batch, Eiffel, Euphoria, Express, Felix, &lt;br /&gt;
 Frink, Forth, Fortran, Haskell, HTML, HTTPD, IDL, INI, IO, Jasmin, Java, JavaScript, JSP, LaTeX, LDIF, Lotus Script, Lua, Make, Maya, Matlab, &lt;br /&gt;
 MaxScript, Modelica, Modula 3, Nasal, Nice, Oberon, Object Script, OCaml, Pascal, Paradox, PATROL, Perl, PHP, Pike, PL/1, PL/SQL, POV Ray, Progress, &lt;br /&gt;
 Python, Relax NG, Rexx, Ruby, Small, SML, Spin, Sybase, Squirrel, SuperX++, VHDL, Visual Basic, XML and more. &lt;br /&gt;
 &lt;br /&gt;
=Paquet highlight=&lt;br /&gt;
&lt;br /&gt;
=== Instal·lació ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exemple===&lt;br /&gt;
&lt;br /&gt;
 $ [[joe]] holamon.php&lt;br /&gt;
&lt;br /&gt;
I poseu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;brush:php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
echo &amp;quot;Hola Mon!&amp;quot;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ highlight -o holamon.html -i holamon.php &lt;br /&gt;
 $ firefox holamon.html&lt;br /&gt;
&lt;br /&gt;
===Fitxers instal·lats===&lt;br /&gt;
&lt;br /&gt;
'''Executable''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L highlight| grep bin&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/highlight&lt;br /&gt;
&lt;br /&gt;
'''Fitxers de configuració''':&lt;br /&gt;
 &lt;br /&gt;
 $ dpkg -L highlight| grep etc&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/highlight&lt;br /&gt;
 /etc/highlight/filetypes.conf&lt;br /&gt;
&lt;br /&gt;
'''Manual''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L highlight| grep man&lt;br /&gt;
 /usr/share/man&lt;br /&gt;
 /usr/share/man/man1&lt;br /&gt;
 /usr/share/man/man1/highlight.1.gz&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*[http://linux.die.net/man/1/highlight man highlight]&lt;br /&gt;
&lt;br /&gt;
==Extensió de la mediawiki==&lt;br /&gt;
&lt;br /&gt;
 http://www.mediawiki.org/wiki/Extension:ASHighlight&lt;br /&gt;
&lt;br /&gt;
==Recursos==&lt;br /&gt;
*http://www.andre-simon.de/&lt;br /&gt;
*http://www.andre-simon.de/dokuwiki/doku.php&lt;br /&gt;
&lt;br /&gt;
=Geshi=&lt;br /&gt;
&lt;br /&gt;
http://qbnz.com/highlighter/&lt;br /&gt;
&lt;br /&gt;
==Extensió per a la mediawiki==&lt;br /&gt;
&lt;br /&gt;
Consulteu&lt;br /&gt;
&lt;br /&gt;
 [[Mediawiki#Sintax_Highlight]]&lt;br /&gt;
 [[Mediawiki#Instal.C2.B7lar_una_extensi.C3.B3_que_utilitza_Pear]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Mikrotik_RouterBoard_433</id>
		<title>Mikrotik RouterBoard 433</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Mikrotik_RouterBoard_433"/>
				<updated>2010-01-02T07:41:06Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Resolució de problemes. Preguntes més freqüents. Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Imatge:Routerboard433AH.png|thumb|Placa Routerboard RB433AH]]&lt;br /&gt;
&lt;br /&gt;
== Introducció ==&lt;br /&gt;
&lt;br /&gt;
Les característiques es poden trobar a la web de microtik:&lt;br /&gt;
&lt;br /&gt;
 http://www.routerboard.com/comparison.html&lt;br /&gt;
&lt;br /&gt;
Feu clic a la fletxa cap avall on posa '''More'''&lt;br /&gt;
&lt;br /&gt;
*'''CPU''': Atheros AR7161 680MHz&lt;br /&gt;
*'''Memory''': 128Mb&lt;br /&gt;
*'''Ports Ethernet'''': 3 de 10/100mbps&lt;br /&gt;
*'''Expansió''': 3 ràdios miniPCI&lt;br /&gt;
*'''Alimentació per Power Jack''': De 10 a 28V DC; Té una protecció contra excés de voltatge&lt;br /&gt;
*'''Alimentació per PoE''': De 10 a 28V DC;&lt;br /&gt;
*'''Firmware''': RouterOS Level5&lt;br /&gt;
&lt;br /&gt;
Al mateix web podeu accedir als següents documents:&lt;br /&gt;
&lt;br /&gt;
*[http://www.routerboard.com/pdf/rb433ah.pdf Brochure]&lt;br /&gt;
*[http://www.routerboard.com/pdf/rb433mA.pdf Startup guide]&lt;br /&gt;
*[http://www.routerboard.com/pdf/rb433ugA.pdf Users Guide]&lt;br /&gt;
&lt;br /&gt;
=== Encendre la Routerboard (Boot) ===&lt;br /&gt;
&lt;br /&gt;
Hi han 2 formes de fer arribar la alimentació a la placa:&lt;br /&gt;
&lt;br /&gt;
*Mitjançant l'alimentador&lt;br /&gt;
*Mitjançant [[PoE]]&lt;br /&gt;
&lt;br /&gt;
*Abans de fer un primer bip, parpellegin les llums de link i d'activitat de les connexions Ethernet RJ-45 de la placa.&lt;br /&gt;
*Fa un primer bip (o pip), i al cap d'una estona, per indicar que ja està iniciat el firmware, farà dos bips  alhora que parpellegen les senyals de link.&lt;br /&gt;
&lt;br /&gt;
Quan la placa rep alimentació s'encén el LED blau. Per apagar, hem de desconnectar el cable d'alimentació o el cable POE.&lt;br /&gt;
&lt;br /&gt;
=== Winbox ===&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[Winbox]].&lt;br /&gt;
&lt;br /&gt;
== Con connectar-se al dispositiu ==&lt;br /&gt;
&lt;br /&gt;
Consulteu la secció [[Winbox#Connexi.C3.B3_a_un_dispositiu| Connexió a un dispositiu]] de l'article [[Winbox]].&lt;br /&gt;
&lt;br /&gt;
= Configuració per a guifi.net =&lt;br /&gt;
&lt;br /&gt;
Primer cal afegir un node a la web de [http://www.guifi.net guifi.net]. Consulteu l'article [[Exemple_pas_a_pas_de_muntatge_d'un_node_a_l'IES_Nicolau_Copèrnic]] per conèixer els detalls.&lt;br /&gt;
&lt;br /&gt;
== Configuració de la routerboard amb unsolclic ==&lt;br /&gt;
&lt;br /&gt;
Un cop tenim el node, els trastos i la radio i els enllaços creats, podem obtenir la configuració d'unsolclic. Trobareu una opció de menú al vostre node. Aneu a l'apartat '''Trastos'''. Trobareu un enllaç al unsolclic de cada trasto a la columna unsolclic.&lt;br /&gt;
&lt;br /&gt;
Per exemple:&lt;br /&gt;
&lt;br /&gt;
 http://guifi.net/node/13502&lt;br /&gt;
&lt;br /&gt;
Ha de ser quelcom similar al que trobareu a:&lt;br /&gt;
&lt;br /&gt;
 http://guifi.net/guifi/device/13371/view/unsolclic&lt;br /&gt;
&lt;br /&gt;
 # Generat per a: &lt;br /&gt;
 # RouterOSv3.x&lt;br /&gt;
 :log info &amp;quot;Unsolclic for 13371-TRSIESCopernicRd1 going to be executed.&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 # Configuration for RouterOS &amp;gt; 2.9.51 or 3.x&lt;br /&gt;
 # Trasto: 13371-TRSIESCopernicRd1&lt;br /&gt;
 #&lt;br /&gt;
 # ATENCIÓ: Versió Beta&lt;br /&gt;
 #&lt;br /&gt;
 # Methods to upload/execute this script:&lt;br /&gt;
 # 1.-As a script. Upload this output as a script either with:&lt;br /&gt;
 #     a.Winbox (with Linux, wine required)&lt;br /&gt;
 #     b.Terminal (telnet, ssh...)&lt;br /&gt;
 #    Then execute the script with:&lt;br /&gt;
 #      &amp;gt; /system script run script_name&lt;br /&gt;
 # 2.-Fitxer importat:&lt;br /&gt;
 #     Desa aquesta &amp;quot;sortida&amp;quot; a un fitxer, després puja'l al router&lt;br /&gt;
 #     fent servir FTP amb un nom de l'estil &amp;quot;script_name.rsc&amp;quot;.&lt;br /&gt;
 #     (note, l'extensió &amp;quot;.rsc&amp;quot; es un requisit)&lt;br /&gt;
 #     Executa el fitxer importat amb la comanda:&lt;br /&gt;
 #      &amp;gt; /import script_name&lt;br /&gt;
 # 3.-Telnet copia i enganxar:&lt;br /&gt;
 #     Open a terminal session, and cut&amp;amp;paste this output&lt;br /&gt;
 #     directly on the terminal input.&lt;br /&gt;
 #&lt;br /&gt;
 # Notes:&lt;br /&gt;
 # -routing-test package is required, be sure you have it enabled at system packages&lt;br /&gt;
 # -wlans should be enabled manually, be sure to set the correct antenna (a or b)&lt;br /&gt;
 #   according in how did you connect the cable to the miniPCI. Keep the&lt;br /&gt;
 #   power at the minimum possible and check the channel.&lt;br /&gt;
 # -The script doesn't reset the router, you might have to do it manually&lt;br /&gt;
 # -You must have write access to the router&lt;br /&gt;
 # -MAC access (winbox, MAC telnet...) method is recommended&lt;br /&gt;
 #   (the script reconfigures some IP addresses, so communication can be lost)&lt;br /&gt;
 # -No changes are done in user passwords on the device&lt;br /&gt;
 # -A Read Only guest account with no password will be created to allow guest access&lt;br /&gt;
 #   to the router with no danger of damage but able to see the config.&lt;br /&gt;
 # -Be sure that all packages are activated.&lt;br /&gt;
 # -Don't run the script from telnet and being connected through an IP connection at&lt;br /&gt;
 #   the wLan/Lan interface: This interface will be destroyed during the script.&lt;br /&gt;
 #&lt;br /&gt;
 / system identity set name=TRSIESCopernicRd1&lt;br /&gt;
 #&lt;br /&gt;
 # DNS (client &amp;amp; server cache) zone: 8802&lt;br /&gt;
 /ip dns set primary-dns=10.139.7.162 allow-remote-requests=yes&lt;br /&gt;
 :delay 1&lt;br /&gt;
 #&lt;br /&gt;
 # NTP (client &amp;amp; server cache) zone: 8802&lt;br /&gt;
 /system ntp client set enabled=yes mode=unicast primary-ntp=10.139.7.162&lt;br /&gt;
 :delay 1&lt;br /&gt;
 #&lt;br /&gt;
 # Bandwidth-server&lt;br /&gt;
 / tool bandwidth-server set enabled=yes authenticate=no allocate-udp-ports-from=2000&lt;br /&gt;
 #&lt;br /&gt;
 # SNMP&lt;br /&gt;
 /snmp set contact=&amp;quot;guifi@guifi.net&amp;quot; enabled=yes location=&amp;quot;TRSIESCopernic&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 # Guest user&lt;br /&gt;
 /user&lt;br /&gt;
 :foreach i in [find group=read] do={/user remove $i;}&lt;br /&gt;
 add name=&amp;quot;guest&amp;quot; group=read address=0.0.0.0/0 comment=&amp;quot;&amp;quot; disabled=no&lt;br /&gt;
 #&lt;br /&gt;
 # Graphing&lt;br /&gt;
 /tool graphing interface add&lt;br /&gt;
 # Remove current wLan/Lan bridge if exists&lt;br /&gt;
 :foreach i in [/interface bridge find name=wLan/Lan] \&lt;br /&gt;
 do={:foreach i in [/interface bridge port find bridge=wLan/Lan] \&lt;br /&gt;
 do={/interface bridge port remove $i; \&lt;br /&gt;
 :foreach i in [/ip address find interface=wLan/Lan] \&lt;br /&gt;
 do={/ip address remove $i;};};&lt;br /&gt;
 /interface bridge remove $i;}&lt;br /&gt;
 # Construct main bridge on wlan1 &amp;amp; ether1&lt;br /&gt;
 / interface bridge&lt;br /&gt;
 add name=&amp;quot;wLan/Lan&amp;quot;&lt;br /&gt;
 / interface bridge port&lt;br /&gt;
 add interface=ether1 bridge=wLan/Lan&lt;br /&gt;
 add interface=wlan1 bridge=wLan/Lan&lt;br /&gt;
 :delay 1&lt;br /&gt;
 #&lt;br /&gt;
 # Radio#: 0 TRSACprncRd1AP0&lt;br /&gt;
 /interface wireless set wlan1 name=&amp;quot;wlan1&amp;quot; \&lt;br /&gt;
 radio-name=&amp;quot;TRSACprncRd1AP0&amp;quot; mode=ap-bridge ssid=&amp;quot;guifi.net-TRSACprncRd1AP0&amp;quot; \&lt;br /&gt;
 band=&amp;quot;2.4ghz-b&amp;quot; \&lt;br /&gt;
 frequency-mode=manual-txpower country=spain antenna-gain=0 \&lt;br /&gt;
 dfs-mode=radar-detect \&lt;br /&gt;
 antenna-mode=ant-a wds-mode=static wds-default-bridge=none wds-default-cost=100 \&lt;br /&gt;
 wds-cost-range=50-150 wds-ignore-ssid=yes hide-ssid=no&lt;br /&gt;
 :delay 1&lt;br /&gt;
 # Type: wLan/Lan&lt;br /&gt;
 /ip address&lt;br /&gt;
 :foreach i in [find address=&amp;quot;10.139.60.33/27&amp;quot;] do={remove $i}&lt;br /&gt;
 / ip address add address=10.139.60.33/27 network=10.139.60.32 broadcast=10.139.60.63 interface=wLan/Lan disabled=no&lt;br /&gt;
 / routing ospf interface&lt;br /&gt;
 :foreach i in [/routing ospf interface find interface=wLan/Lan] do={/routing ospf interface remove $i;}&lt;br /&gt;
 add interface=wLan/Lan&lt;br /&gt;
 / routing ospf network&lt;br /&gt;
 :foreach i in [/routing ospf network find network=10.139.60.32/27] do={/routing ospf network remove $i;}&lt;br /&gt;
 add network=10.139.60.32/27 area=backbone disabled=no&lt;br /&gt;
   :delay 1&lt;br /&gt;
  #&lt;br /&gt;
 # DHCP&lt;br /&gt;
 /ip dhcp-server lease&lt;br /&gt;
 :foreach i in [find comment=&amp;quot;&amp;quot;] do={remove $i;}&lt;br /&gt;
 :delay 1&lt;br /&gt;
 add address=10.139.60.34 mac-address=00:15:6D:AD:70:EF client-id=TRSCEIPMariaGaliRd1 server=dhcp-wLan/Lan&lt;br /&gt;
 :foreach i in [/ip dhcp-server network find address=&amp;quot;10.139.60.32/27&amp;quot;] do={/ip dhcp-server network remove $i;}&lt;br /&gt;
 :foreach i in [/ip pool find name=dhcp-wLan/Lan] do={/ip pool remove $i;}&lt;br /&gt;
 /ip pool add name=dhcp-wLan/Lan ranges=10.139.60.40-10.139.60.62&lt;br /&gt;
 /ip dhcp-server network add address=10.139.60.32/27 gateway=10.139.60.33 domain=guifi.net comment=dhcp-wLan/Lan&lt;br /&gt;
 :foreach i in [/ip dhcp-server find name=dhcp-wLan/Lan] do={/ip dhcp-server remove $i;}&lt;br /&gt;
 /ip dhcp-server add name=dhcp-wLan/Lan interface=wLan/Lan address-pool=dhcp-wLan/Lan disabled=no&lt;br /&gt;
 #&lt;br /&gt;
 :delay 1&lt;br /&gt;
 # Type: wds/p2p&lt;br /&gt;
 # Remove all existing wds interfaces&lt;br /&gt;
 :foreach i in [/interface wireless wds find master-interface=wlan1] \&lt;br /&gt;
 do={:foreach n in [/interface wireless wds get $i name] \&lt;br /&gt;
 do={:foreach inum in [/ip address find interface=$n] \&lt;br /&gt;
 do={/ip address remove $inum;};}; \&lt;br /&gt;
 /interface wireless wds remove $i;}&lt;br /&gt;
 #&lt;br /&gt;
 :delay 1&lt;br /&gt;
 #&lt;br /&gt;
 # Routed device&lt;br /&gt;
 #&lt;br /&gt;
 # Altres connexions de cable&lt;br /&gt;
 #&lt;br /&gt;
 # Internal addresses NAT&lt;br /&gt;
 :foreach i in [/ip firewall nat find src-address=&amp;quot;172.25.0.0/16&amp;quot;] do={/ip firewall nat remove $i;}&lt;br /&gt;
 :foreach i in [/ip firewall nat find src-address=&amp;quot;192.168.0.0/16&amp;quot;] do={/ip firewall nat remove $i;}&lt;br /&gt;
 /ip firewall nat&lt;br /&gt;
 add chain=srcnat src-address=&amp;quot;192.168.0.0/16&amp;quot; dst-address=!192.168.0.0/16 action=src-nat to-addresses=10.139.60.33 comment=&amp;quot;&amp;quot; disabled=no&lt;br /&gt;
 add chain=srcnat src-address=&amp;quot;172.25.0.0/16&amp;quot; dst-address=!172.25.0.0/16 protocol=!ospf action=src-nat to-addresses=10.139.60.33 comment=&amp;quot;&amp;quot; disabled=no&lt;br /&gt;
 #&lt;br /&gt;
 # Enrutament BGP&lt;br /&gt;
 # Filtres BGP i OSPF&lt;br /&gt;
 :foreach i in [/routing filter find chain=ospf-in] do={/routing filter remove $i;}&lt;br /&gt;
 :foreach i in [/routing filter find chain=ospf-out] do={/routing filter remove $i;}&lt;br /&gt;
 / routing filter&lt;br /&gt;
 add chain=ospf-out prefix=10.0.0.0/8 prefix-length=8-32 invert-match=no action=accept comment=&amp;quot;&amp;quot; disabled=no&lt;br /&gt;
 add chain=ospf-out invert-match=no action=discard comment=&amp;quot;&amp;quot; disabled=no&lt;br /&gt;
 add chain=ospf-in prefix=10.0.0.0/8 prefix-length=8-32 invert-match=no action=accept comment=&amp;quot;&amp;quot; disabled=no&lt;br /&gt;
 add chain=ospf-in invert-match=no action=reject comment=&amp;quot;&amp;quot; disabled=no&lt;br /&gt;
 #&lt;br /&gt;
 # Instància BGP&lt;br /&gt;
 / routing bgp instance&lt;br /&gt;
 set default name=&amp;quot;default&amp;quot; as=13371 router-id=10.139.60.33 redistribute-static=yes \&lt;br /&gt;
 redistribute-connected=yes redistribute-rip=yes redistribute-ospf=yes \&lt;br /&gt;
 redistribute-other-bgp=yes out-filter=ospf-out \&lt;br /&gt;
 client-to-client-reflection=yes comment=&amp;quot;&amp;quot; disabled=no&lt;br /&gt;
 #&lt;br /&gt;
 # Enrutament OSPF&lt;br /&gt;
 /routing ospf set router-id=10.139.60.33 distribute-default=never redistribute-connected=no redistribute-static=no redistribute-rip=no redistribute- bgp=as-type-1 &lt;br /&gt;
 #&lt;br /&gt;
 :log info &amp;quot;Unsolclic for 13371-TRSIESCopernicRd1 executed.&amp;quot;&lt;br /&gt;
 / &lt;br /&gt;
 &lt;br /&gt;
Per aplicar els canvis heu d'utilitzar [[Winbox]] per [[Winbox#Connexi.C3.B3_a_un_dispositiu| connectar-vos al dispositiu]]. Si és el primer cop haureu [[Winbox#Instal.C2.B7laci.C3.B3_i_execuci.C3.B3 | instal·lar Winbox]]. Un cop connectats aneu a l'apartat '''New Terminal''':&lt;br /&gt;
&lt;br /&gt;
[[Imatge:RouterBoardGuifi.png]]&lt;br /&gt;
&lt;br /&gt;
Aquí heu d'enganxar directament (amb les opcions copiar i enganxar del menú contextual del botó dret) la configuració d'unsolclic.&lt;br /&gt;
&lt;br /&gt;
= Upgrade del routerOS=&lt;br /&gt;
&lt;br /&gt;
*http://wiki.mikrotik.com/wiki/Upgrading_RouterOS&lt;br /&gt;
&lt;br /&gt;
= Resolució de problemes. Preguntes més freqüents. Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
=== Com saber la MAC d'una microtik? ===&lt;br /&gt;
&lt;br /&gt;
Cal consultar-la des de winbox a l'apartat interfaces.&lt;br /&gt;
&lt;br /&gt;
==== Targetes WIFI miniPCI ====&lt;br /&gt;
&lt;br /&gt;
Es pot consultar la MAC a la pròpia placa en una enganxina que porta.&lt;br /&gt;
&lt;br /&gt;
== Recursos ==&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Fitxer:RadiosFrequenciesPOtenciesguifinet.png</id>
		<title>Fitxer:RadiosFrequenciesPOtenciesguifinet.png</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Fitxer:RadiosFrequenciesPOtenciesguifinet.png"/>
				<updated>2009-12-24T06:37:19Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Compilaci%C3%B3_del_kernel</id>
		<title>Compilació del kernel</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Compilaci%C3%B3_del_kernel"/>
				<updated>2009-11-28T19:07:39Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Exemple pas a pas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Exemple pas a pas=&lt;br /&gt;
&lt;br /&gt;
cal tenir disponibles les següents eines/paquets:&lt;br /&gt;
&lt;br /&gt;
 $ sudo [[apt-get]] install kernel-package libncurses5-dev fakeroot wget bzip2&lt;br /&gt;
&lt;br /&gt;
Ara obtenim el codi font. El trobareu a:&lt;br /&gt;
&lt;br /&gt;
 www.kernel.org&lt;br /&gt;
&lt;br /&gt;
Per exemple:&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.6.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Ara el descomprimim:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tar xjvf linux-2.6.31.6.tar.bz2 &lt;br /&gt;
 $ sudo ln -s linux-2.6.31.6 linux&lt;br /&gt;
 $ cd /usr/src/linux &lt;br /&gt;
&lt;br /&gt;
Aquest és el moment, si s'escau, d'aplicar pegats. Consulteu [[patch]]&lt;br /&gt;
&lt;br /&gt;
Es una bona idea partir d'un fitxer bàsic de configuració del nucli. Per exemple, el del nucli que estem executant al nostre sistema:&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp /boot/config-`uname -r` ./.config&lt;br /&gt;
&lt;br /&gt;
Ara podem modificar la configuració amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo make menuconfig&lt;br /&gt;
&lt;br /&gt;
ara cal construir (build) el nou kernel amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo make-kpkg clean&lt;br /&gt;
 $ fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers&lt;br /&gt;
&lt;br /&gt;
Finalment cal instal·lar el nou nucli:&lt;br /&gt;
&lt;br /&gt;
 $ cd /usr/src&lt;br /&gt;
 $ ls -l&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -i linux-image-*.deb&lt;br /&gt;
 $ dpkg -i linux-headers-*.deb&lt;br /&gt;
&lt;br /&gt;
Ara editeu grub:&lt;br /&gt;
&lt;br /&gt;
 vi /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
I poseu per exemple:&lt;br /&gt;
 &lt;br /&gt;
 title           Ubuntu, kernel 2.6.31.6-custom&lt;br /&gt;
 root            (hd0,0)&lt;br /&gt;
 kernel          /boot/vmlinuz-2.6.31.6-custom root=/dev/sda1 ro quiet splash&lt;br /&gt;
 initrd          /boot/initrd.img-2.6.31.6-custom&lt;br /&gt;
 savedefault&lt;br /&gt;
 boot   &lt;br /&gt;
 &lt;br /&gt;
 title           Ubuntu, kernel 2.6.31.6-custom (recovery mode)&lt;br /&gt;
 root            (hd0,0)&lt;br /&gt;
 kernel          /boot/vmlinuz-2.6.31.6-custom root=/dev/sda1 ro single&lt;br /&gt;
 initrd          /boot/initrd.img-2.6.31.6-custom&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
{{nota|Segons els sistema operatiu, per exemple Ubuntu, ens podem trobar que a l'instal·lar el paquet Debian ja ens fa totes les tasques}}.&lt;br /&gt;
&lt;br /&gt;
Per exemple:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i linux-image-2.6.31.6-custom_2.6.31.6-custom-10.00.Custom_i386.deb &lt;br /&gt;
 S'està seleccionant el paquet linux-image-2.6.31.6-custom prèviament no seleccionat.&lt;br /&gt;
 (S'està llegint la base de dades ... hi ha 233043 fitxers i directoris instal·lats actualment.)&lt;br /&gt;
 S'està desempaquetant linux-image-2.6.31.6-custom (de linux-image-2.6.31.6-custom_2.6.31.6-custom-10.00.Custom_i386.deb) ...&lt;br /&gt;
 Done.&lt;br /&gt;
 &lt;br /&gt;
 S'està configurant linux-image-2.6.31.6-custom (2.6.31.6-custom-10.00.Custom) ...&lt;br /&gt;
 Running depmod.&lt;br /&gt;
 Finding valid ramdisk creators.&lt;br /&gt;
 Using mkinitramfs-kpkg to build the ramdisk.&lt;br /&gt;
 Running postinst hook script update-grub.&lt;br /&gt;
 Generating grub.cfg ...&lt;br /&gt;
 Found linux image: /boot/vmlinuz-2.6.31.6-custom&lt;br /&gt;
 Found initrd image: /boot/initrd.img-2.6.31.6-custom&lt;br /&gt;
 Found linux image: /boot/vmlinuz-2.6.31-15-generic&lt;br /&gt;
 Found initrd image: /boot/initrd.img-2.6.31-15-generic&lt;br /&gt;
 Found linux image: /boot/vmlinuz-2.6.31-14-generic&lt;br /&gt;
 Found initrd image: /boot/initrd.img-2.6.31-14-generic&lt;br /&gt;
 Found linux image: /boot/vmlinuz-2.6.28-15-generic&lt;br /&gt;
 Found initrd image: /boot/initrd.img-2.6.28-15-generic&lt;br /&gt;
 Found memtest86+ image: /boot/memtest86+.bin&lt;br /&gt;
 Found Microsoft Windows XP Professional on /dev/sdb1&lt;br /&gt;
 Found Ubuntu 9.10 (9.10) on /dev/sdb3&lt;br /&gt;
 done&lt;br /&gt;
 Examining /etc/kernel/postinst.d.&lt;br /&gt;
 run-parts: executing /etc/kernel/postinst.d/dkms&lt;br /&gt;
 run-parts: executing /etc/kernel/postinst.d/nvidia-common&lt;br /&gt;
 run-parts: /etc/kernel/postinst.d/nvidia-common exited with return code 20&lt;br /&gt;
 Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.31.6-custom.postinst line 1186. &lt;br /&gt;
 dpkg: s'ha produït un error en processar linux-image-2.6.31.6-custom (--install):&lt;br /&gt;
 el subprocés installed post-installation script retornà el codi d'eixida d'error 2&lt;br /&gt;
 S'han trobat errors en processar:&lt;br /&gt;
  linux-image-2.6.31.6-custom&lt;br /&gt;
&lt;br /&gt;
L'exemple està executat a una Ubuntu 9.10. Vegeu com configura [[GRUB]] (la versió 2 de GRUB) i dona un error al intentar recompilar els mòduls de [[Virtual Box]].&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.howtoforge.com/kernel_compilation_ubuntu&lt;br /&gt;
*https://help.ubuntu.com/community/Kernel/Compile&lt;br /&gt;
&lt;br /&gt;
=Com obtenir els kernels=&lt;br /&gt;
&lt;br /&gt;
El primer de tot és conèixer quin Kernel estem utilitzant amb la comanda uname:&lt;br /&gt;
&lt;br /&gt;
 $ uname -a&lt;br /&gt;
 Linux portatil 2.6.22-14-generic #1 SMP Tue Dec 18 08:02:57 UTC 2007 i686 GNU/Linux&lt;br /&gt;
&lt;br /&gt;
Hi han dos pàgines web que podem utilitzar com a referència dels kernels de Linux:&lt;br /&gt;
&lt;br /&gt;
*http://www.kernel.org&lt;br /&gt;
*http://www.linux.org&lt;br /&gt;
&lt;br /&gt;
'''Notació dels kernels''':&lt;br /&gt;
&lt;br /&gt;
Quin és el significat del números 2.6.22-14-generic ?&lt;br /&gt;
&lt;br /&gt;
*'''2.6''': És la versió principal del kernel. Els acabats en número imparell són inestables i els acabats en número parell són estables.&lt;br /&gt;
*Els següent números indiquen canvis menors.&lt;br /&gt;
&lt;br /&gt;
==Com obtenir els nuclis==&lt;br /&gt;
&lt;br /&gt;
De les webs:&lt;br /&gt;
&lt;br /&gt;
*http://www.kernel.org&lt;br /&gt;
*http://www.linux.org&lt;br /&gt;
&lt;br /&gt;
Es poden obtenir fitxers comprimits en format tar.gz o tar.bz2&lt;br /&gt;
&lt;br /&gt;
O descarregar-ho dels repositoris de la distribució el paquet .deb corresponent. Codi font:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-cache search linux-source&lt;br /&gt;
 linux-source - Linux kernel source with Ubuntu patches&lt;br /&gt;
 xen-source-2.6.16 - Linux kernel source for version 2.6.17 with Ubuntu patches&lt;br /&gt;
 linux-source-2.6.22 - Linux kernel source for version 2.6.22 with Ubuntu patches&lt;br /&gt;
&lt;br /&gt;
Per instal·lar:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install linux-source&lt;br /&gt;
 S'està llegint la llista de paquets... Fet &lt;br /&gt;
 S'està construint l'arbre de dependències       &lt;br /&gt;
 Reading state information... Fet           &lt;br /&gt;
 '''S'instal·laran els següents paquets extres:'''&lt;br /&gt;
   '''linux-source-2.6.22'''&lt;br /&gt;
 Paquets suggerits:&lt;br /&gt;
   libncurses-dev ncurses-dev kernel-package libqt3-dev&lt;br /&gt;
 S'instal·laran els següents paquets NOUS:&lt;br /&gt;
   linux-source linux-source-2.6.22&lt;br /&gt;
 0 actualitzats, 2 nous a instal·lar, 0 a eliminar i 0 no actualitzats.&lt;br /&gt;
 Es necessita obtenir 45,4MB d'arxius.&lt;br /&gt;
 Després de desempaquetar s'usaran 45,5MB d'espai en disc addicional.&lt;br /&gt;
 Voleu continuar [S/n]? &lt;br /&gt;
&lt;br /&gt;
Noteu que el paquet linux-source és un paquet tonto (dummy package) que realment no instal·la &amp;quot;res&amp;quot; al nostre sistema:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L linux-source&lt;br /&gt;
 /.&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/share&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/linux-source&lt;br /&gt;
 /usr/share/doc/linux-source/copyright&lt;br /&gt;
 /usr/share/doc/linux-source/changelog.gz&lt;br /&gt;
&lt;br /&gt;
Només instal·la documentació. L'important s'instal·la en les dependències. En el cas de l'exemple el paquet instal·lat com a dependència és :&lt;br /&gt;
&lt;br /&gt;
 '''linux-source-2.6.22''' &lt;br /&gt;
&lt;br /&gt;
Per tant si volem veure que ha instal·lat executem:&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -L linux-source-2.6.22&lt;br /&gt;
 /.&lt;br /&gt;
 /usr&lt;br /&gt;
 /usr/src&lt;br /&gt;
 '''/usr/src/linux-source-2.6.22.tar.bz2'''&lt;br /&gt;
 /usr/share&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
 /usr/share/doc/linux-source-2.6.22&lt;br /&gt;
 /usr/share/doc/linux-source-2.6.22/copyright&lt;br /&gt;
 /usr/share/doc/linux-source-2.6.22/changelog.Debian.gz&lt;br /&gt;
&lt;br /&gt;
Aquí el fitxer important és: /usr/src/linux-source-2.6.22.tar.bz2. Les fonts en Debian (i segons l'estàndard FHS) estan a:&lt;br /&gt;
&lt;br /&gt;
 /usr/src/&lt;br /&gt;
&lt;br /&gt;
El kernel esta comprimit amb bz2. Per descomprimir-lo cal executar:&lt;br /&gt;
 &lt;br /&gt;
 $ cd /usr/src&lt;br /&gt;
 $ sudo tar jxvf /usr/src/linux-source-2.6.22.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Enginyeria Inversa==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==2.4 vs 2.6==&lt;br /&gt;
&lt;br /&gt;
El canvi de 2.4 a 2.6 va ser un gran salt i un canvi radical de la política de dispositius linux.&lt;br /&gt;
&lt;br /&gt;
Canvia el nom de dispositius de disc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Altres nuclis==&lt;br /&gt;
&lt;br /&gt;
El kernel Linux no és l'únic nucli lliure que existeix.&lt;br /&gt;
&lt;br /&gt;
*FreeBsd&lt;br /&gt;
*Gnu 0Hurd&lt;br /&gt;
&lt;br /&gt;
Per aquesta raó es va decidir modificar el nom del paquets. Abans es deien kernel-image i ara es diuen linux-image ja que la resta de kernels també son kernels.&lt;br /&gt;
&lt;br /&gt;
=Configuració del kernel=&lt;br /&gt;
&lt;br /&gt;
El paquet [http://acacha.dyndns.org/mediawiki/index.php/Compilaci%C3%B3_del_kernel#kernel-package kernel-package] ens ajuda. &lt;br /&gt;
&lt;br /&gt;
A l'arrel del codi font hi ha d'haver un fitxer anomenat '''.config'''. &lt;br /&gt;
&lt;br /&gt;
Per crear aquest fitxer:&lt;br /&gt;
&lt;br /&gt;
Para crear-lo hi ha diferents possibilitats: &lt;br /&gt;
&lt;br /&gt;
 $ make config &lt;br /&gt;
&lt;br /&gt;
És una aplicació textual amb centenars de preguntes algunes difícils de respondre.&lt;br /&gt;
&lt;br /&gt;
Hi ha una opció que es posar un fitxer config per defecte:&lt;br /&gt;
&lt;br /&gt;
 $ make mrproper&lt;br /&gt;
&lt;br /&gt;
Però no hi ha cap garantia de que funcioni.&lt;br /&gt;
&lt;br /&gt;
L'altre opció és escollir el que tenim en el nostre sistema (que se suposa que funciona). Es troben a la carpeta boot:&lt;br /&gt;
&lt;br /&gt;
 $ ls /boot/config*&lt;br /&gt;
 /boot/config-2.6.22-14-generic  /boot/config-2.6.24-18-generic  /boot/config-2.6.24-19-generic&lt;br /&gt;
&lt;br /&gt;
Podeu utilitzar la versió del kernel que esteu executant. Podeu consultar la versió del vostre kernel amb:&lt;br /&gt;
&lt;br /&gt;
 $ uname -r&lt;br /&gt;
 2.6.24-19-generic &lt;br /&gt;
&lt;br /&gt;
Ara a l'executar:&lt;br /&gt;
&lt;br /&gt;
 $ make config&lt;br /&gt;
&lt;br /&gt;
Només preguntarà el que li falti...&lt;br /&gt;
&lt;br /&gt;
Un altre opció és utilitzar:&lt;br /&gt;
&lt;br /&gt;
 $ make xconfig&lt;br /&gt;
&lt;br /&gt;
Necessita tenir les llibreries de qt. Podem utilitzar:&lt;br /&gt;
&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
Que utilitza ncurses.&lt;br /&gt;
&lt;br /&gt;
=Compilació del kernel=&lt;br /&gt;
&lt;br /&gt;
=Instal·lació del kernel=&lt;br /&gt;
&lt;br /&gt;
Si acabem de baixar el codi font del kernel no cal, però sempre es bona idea començar executant un clean&lt;br /&gt;
&lt;br /&gt;
 $ make clean --&amp;gt; limpia todo&lt;br /&gt;
&lt;br /&gt;
Per crear el menuconfig&lt;br /&gt;
&lt;br /&gt;
 $ make menuconfig&lt;br /&gt;
&lt;br /&gt;
Se cambia opcion con space y con enter entras en opciones o seleccionas y sales. Hay tres opciones Si, no o M -&amp;gt; M deja un apuntador a modulo actualmente a NULL, pero es un punto de montaje de un modulo del kernel sin necesidad de recompilar.&lt;br /&gt;
&lt;br /&gt;
 $ make-kpkg clean -&amp;gt; es un script que llama a make con ciertos argumentos&lt;br /&gt;
 $ make-kpkg –revision=1.sergitur kernel-image&lt;br /&gt;
&lt;br /&gt;
=Documentació del kernel=&lt;br /&gt;
&lt;br /&gt;
Segons l'estàndard FHS la documentació de cada paquet esta a la carpeta:&lt;br /&gt;
&lt;br /&gt;
 /usr/share/doc&lt;br /&gt;
&lt;br /&gt;
Per tant la documentació del paquet esta en '''kernel-package''':&lt;br /&gt;
&lt;br /&gt;
 /usr/share/doc/kernel-package/&lt;br /&gt;
&lt;br /&gt;
=Paquets=&lt;br /&gt;
&lt;br /&gt;
==kernel-package==&lt;br /&gt;
&lt;br /&gt;
Kernel-package és un paquet amb utilitats per construir (build) kernels Linux des de el seu codi font.&lt;br /&gt;
&lt;br /&gt;
Per cercar el paquet:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-cache search kernel-package&lt;br /&gt;
 ...&lt;br /&gt;
 '''kernel-package - A utility for building Linux kernel related Debian packages.'''&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Per conèixer els detalls del paquet:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-cache show kernel-package&lt;br /&gt;
 Package: kernel-package&lt;br /&gt;
 Priority: optional&lt;br /&gt;
 Section: misc&lt;br /&gt;
 Installed-Size: 2192&lt;br /&gt;
 Maintainer: Ubuntu Core Developers &amp;lt;ubuntu-devel-discuss@lists.ubuntu.com&amp;gt;&lt;br /&gt;
 Original-Maintainer: Manoj Srivastava &amp;lt;srivasta@debian.org&amp;gt;&lt;br /&gt;
 Architecture: all&lt;br /&gt;
 Version: 11.001&lt;br /&gt;
 Depends: perl, dpkg (&amp;gt;= 1.4), dpkg-dev (&amp;gt;= 1.4.0.9), gcc | c-compiler, make (&amp;gt;= 3.80-10), po-debconf, gettext, file&lt;br /&gt;
 Recommends: libc6-dev | libc-dev, bzip2&lt;br /&gt;
 Suggests: linux-source | kernel-source, libdb3-dev, libncurses-dev, docbook-utils&lt;br /&gt;
 Filename: pool/main/k/kernel-package/kernel-package_11.001_all.deb&lt;br /&gt;
 Size: 510452&lt;br /&gt;
 MD5sum: fd820c2e3970fc8d300aef4a2b9e15ca&lt;br /&gt;
 SHA1: 34924f84fe4cd604869bf4717d4c0230b3117291&lt;br /&gt;
 SHA256: 3ff71a3e2e69d5073310e8e83fc982baefec983af7139ed7cc7a4ce6cf42c38a&lt;br /&gt;
 Description: A utility for building Linux kernel related Debian packages.&lt;br /&gt;
  This package provides the capability to create a debian kernel-image&lt;br /&gt;
  package by just running make-kpkg kernel_image in a kernel source&lt;br /&gt;
  directory tree.  It can also package the relevant kernel headers into&lt;br /&gt;
  a kernel-headers package. In general, this package is very useful if&lt;br /&gt;
  you need to create a custom kernel, if, for example, the default&lt;br /&gt;
  kernel does not support some of your hardware, or you wish a leaner,&lt;br /&gt;
  meaner kernel.  It also scripts the steps that need be taken to&lt;br /&gt;
  compile the kernel, which is quite convenient (forgetting a crucial&lt;br /&gt;
  step once was the initial motivation for this package). Please look at&lt;br /&gt;
  /usr/share/doc/kernel-package/Rationale.gz for a full list of advantages&lt;br /&gt;
  of this package.&lt;br /&gt;
 Bugs: mailto:ubuntu-users@lists.ubuntu.com&lt;br /&gt;
 Origin: Ubuntu&lt;br /&gt;
&lt;br /&gt;
Instal·lació:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install kernel-package&lt;br /&gt;
&lt;br /&gt;
'''Executables''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L kernel-package | grep bin&lt;br /&gt;
 /usr/bin&lt;br /&gt;
 /usr/bin/make-kpkg&lt;br /&gt;
 /usr/sbin&lt;br /&gt;
 /usr/sbin/kernel-packageconfig&lt;br /&gt;
 /usr/share/kernel-package/Control.bin86&lt;br /&gt;
&lt;br /&gt;
La comanda més important és '''make-kpgp'''.&lt;br /&gt;
&lt;br /&gt;
'''Fitxers de configuració''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L kernel-package | grep etc&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/bash_completion.d&lt;br /&gt;
 /etc/bash_completion.d/make_kpkg&lt;br /&gt;
 /etc/kernel-pkg.conf&lt;br /&gt;
&lt;br /&gt;
==build-essential==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-cache search build-essential&lt;br /&gt;
 build-essential - informational list of build-essential packages&lt;br /&gt;
 devscripts - Scripts to make the life of a Debian Package maintainer easier&lt;br /&gt;
 dh-buildinfo - Debhelper addon to track package versions used to build a package&lt;br /&gt;
 sbuild - Tool for building Debian binary packages from Debian sources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-cache show build-essential |  more&lt;br /&gt;
 Package: build-essential&lt;br /&gt;
 Priority: optional&lt;br /&gt;
 Section: devel&lt;br /&gt;
 Installed-Size: 48&lt;br /&gt;
 Maintainer: Ubuntu Core Developers &amp;lt;ubuntu-devel-discuss@lists.ubuntu.com&amp;gt;&lt;br /&gt;
 Original-Maintainer: Matthias Klose &amp;lt;doko@debian.org&amp;gt;&lt;br /&gt;
 Architecture: i386&lt;br /&gt;
 Version: 11.3ubuntu1&lt;br /&gt;
 '''Depends: libc6-dev | libc-dev, gcc (&amp;gt;= 4:4.1.1), g++ (&amp;gt;= 4:4.1.1), make, dpkg-dev (&amp;gt;= 1.13.5)'''&lt;br /&gt;
 Filename: pool/main/b/build-essential/build-essential_11.3ubuntu1_i386.deb&lt;br /&gt;
 Size: 7066&lt;br /&gt;
 MD5sum: dbf21241506cb04fc6f67a93aaaf991b&lt;br /&gt;
 SHA1: aef5b9f76a05ea23c0370eab53ef0d20b4dac1f5&lt;br /&gt;
 SHA256: 7d3b5efbd44c8e8186e33e3b0e9585fc8a86f4b1cd328f10e3c4a594e50f9da5&lt;br /&gt;
 Description: informational list of build-essential packages&lt;br /&gt;
 If you do not plan to build Debian packages, you don't need this&lt;br /&gt;
 package.  Moreover this package is not required for building Debian&lt;br /&gt;
 packages.&lt;br /&gt;
 .&lt;br /&gt;
 This package contains an informational list of packages which are&lt;br /&gt;
 considered essential for building Debian packages.  This package also&lt;br /&gt;
 depends on the packages on that list, to make it easy to have the&lt;br /&gt;
 build-essential packages installed.&lt;br /&gt;
 .&lt;br /&gt;
 If you have this package installed, you only need to install whatever&lt;br /&gt;
 a package specifies as its build-time dependencies to build the&lt;br /&gt;
 package.  Conversely, if you are determining what your package needs&lt;br /&gt;
 to build-depend on, you can always leave out the packages this&lt;br /&gt;
 package depends on.&lt;br /&gt;
 .&lt;br /&gt;
 This package is NOT the definition of what packages are&lt;br /&gt;
 build-essential; the real definition is in the Debian Policy Manual.&lt;br /&gt;
 This package contains merely an informational list, which is all&lt;br /&gt;
 most people need.   However, if this package and the manual disagree,&lt;br /&gt;
 the manual is correct.&lt;br /&gt;
 Bugs: mailto:ubuntu-users@lists.ubuntu.com&lt;br /&gt;
 Origin: Ubuntu&lt;br /&gt;
&lt;br /&gt;
==modconf==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install modconf&lt;br /&gt;
&lt;br /&gt;
=Comandes=&lt;br /&gt;
&lt;br /&gt;
==make_kpkg==&lt;br /&gt;
&lt;br /&gt;
Del manual:&lt;br /&gt;
&lt;br /&gt;
 $ man make-kpkg&lt;br /&gt;
 NAME&lt;br /&gt;
       make-kpkg - build Debian kernel packages from Linux kernel sources&lt;br /&gt;
&lt;br /&gt;
make-kpkg és una eina per construir el kernel de Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==lsmod==&lt;br /&gt;
&lt;br /&gt;
Mostra els mòduls carregats en un moment donat:&lt;br /&gt;
&lt;br /&gt;
 $ lsmod | more&lt;br /&gt;
 Module                  Size  Used by&lt;br /&gt;
 binfmt_misc            12936  1 &lt;br /&gt;
 rfcomm                 42136  2 &lt;br /&gt;
 l2cap                  26240  11 rfcomm&lt;br /&gt;
 bluetooth              57060  4 rfcomm,l2cap&lt;br /&gt;
 vboxdrv                60208  0 &lt;br /&gt;
 ppdev                  10244  0 &lt;br /&gt;
 fglrx                 656352  50 &lt;br /&gt;
 ipv6                  273892  12  &lt;br /&gt;
 acpi_cpufreq           10568  0 &lt;br /&gt;
 cpufreq_conservative     8072  0 &lt;br /&gt;
 ...........&lt;br /&gt;
&lt;br /&gt;
==modprobe==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[modprobe]]&lt;br /&gt;
&lt;br /&gt;
==insmod==&lt;br /&gt;
&lt;br /&gt;
Consulteu [[insmod]]&lt;br /&gt;
&lt;br /&gt;
==rmmod==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulteu [[rmmod]]&lt;br /&gt;
&lt;br /&gt;
==pushd==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
 pushd&lt;br /&gt;
&lt;br /&gt;
=Fitxers=&lt;br /&gt;
&lt;br /&gt;
==Fitxers /proc==&lt;br /&gt;
&lt;br /&gt;
 $ cat /proc/cpuinfo&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 13&lt;br /&gt;
 model name      : Intel(R) Pentium(R) M processor 1.50GHz&lt;br /&gt;
 stepping        : 6&lt;br /&gt;
 cpu MHz         : 600.000&lt;br /&gt;
 cache size      : 2048 KB&lt;br /&gt;
 fdiv_bug        : no&lt;br /&gt;
 hlt_bug         : no&lt;br /&gt;
 f00f_bug        : no&lt;br /&gt;
 coma_bug        : no&lt;br /&gt;
 fpu             : yes&lt;br /&gt;
 fpu_exception   : yes&lt;br /&gt;
 cpuid level     : 2&lt;br /&gt;
 wp              : yes&lt;br /&gt;
 flags           : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up est tm2&lt;br /&gt;
 bogomips        : 1285.49&lt;br /&gt;
 clflush size    : 64&lt;br /&gt;
&lt;br /&gt;
==/etc/modules==&lt;br /&gt;
&lt;br /&gt;
Mòduls que es carreguen durant el procés d'inicialització de la màquina.&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/modules&lt;br /&gt;
 # /etc/modules: kernel modules to load at boot time.&lt;br /&gt;
 #&lt;br /&gt;
 # This file contains the names of kernel modules that should be loaded&lt;br /&gt;
 # at boot time, one per line. Lines beginning with &amp;quot;#&amp;quot; are ignored.&lt;br /&gt;
 &lt;br /&gt;
 lp&lt;br /&gt;
 sbp2&lt;br /&gt;
 fuse&lt;br /&gt;
&lt;br /&gt;
La resta de mòduls es carreguen mitjançant eines de detecció de maquinari.&lt;br /&gt;
&lt;br /&gt;
==ndiswrapper==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-cache searh ndiswrapper &lt;br /&gt;
&lt;br /&gt;
Permet compilar drivers de WI-FI per a Windows.&lt;br /&gt;
&lt;br /&gt;
=Eines que simplifiquen la navegació pel codi font=&lt;br /&gt;
&lt;br /&gt;
==Cscope==&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install cscope&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[Pas a Pas exemple compilació Kernel]].&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Plantilla:Important</id>
		<title>Plantilla:Important</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Plantilla:Important"/>
				<updated>2009-11-01T10:38:58Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;blockquote style=&amp;quot;background-color: lightyellow; border: solid thin grey;&amp;quot;&amp;gt;&lt;br /&gt;
'''IMPORTANT''': {{{1}}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Plantilla:Nota</id>
		<title>Plantilla:Nota</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Plantilla:Nota"/>
				<updated>2009-11-01T10:30:59Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Es crea la pàgina amb «&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey;&amp;quot;&amp;gt; '''NOTA''': {{{1}}} &amp;lt;/blockquote&amp;gt;».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;blockquote style=&amp;quot;background-color: lightgrey; border: solid thin grey;&amp;quot;&amp;gt;&lt;br /&gt;
'''NOTA''': {{{1}}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Plantilla:102.4Title</id>
		<title>Plantilla:102.4Title</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Plantilla:102.4Title"/>
				<updated>2009-10-18T16:45:44Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Es crea la pàgina amb «Utilitzar els gestors de paquets tipus Debian».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Utilitzar els gestors de paquets tipus Debian&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Plantilla:101.3Title</id>
		<title>Plantilla:101.3Title</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Plantilla:101.3Title"/>
				<updated>2009-10-18T14:06:24Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Es crea la pàgina amb «Canviar els nivells d'execució i apagar o tornar a iniciar el sistema».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Canviar els nivells d'execució i apagar o tornar a iniciar el sistema&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Plantilla:101.2Title</id>
		<title>Plantilla:101.2Title</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Plantilla:101.2Title"/>
				<updated>2009-10-18T14:00:48Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Es crea la pàgina amb «Arrencada del sistema».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Arrencada del sistema&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Chroot</id>
		<title>Chroot</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Chroot"/>
				<updated>2009-09-16T15:34:00Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Entrant a chroot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Binding resources==&lt;br /&gt;
&lt;br /&gt;
Abans d'executar chroot pot ser util lligar (bind) alguns recursos del sistema actual al sistema nou (chroot). Alguns dels recursos que ens pot interessar lligar son:&lt;br /&gt;
{{Box Note|Si els directoris de destí no existeixen s'ha de crear.}}&lt;br /&gt;
  mount --bind /proc /chroot/proc (you need this for system stats) &lt;br /&gt;
  mount --bind /dev /chroot/dev (need to access device nodes)&lt;br /&gt;
  mount -t devpts none /path/to/chroot/dev/pts (don't forget this one or else x won't start in your chrooted environment!)&lt;br /&gt;
  mount --bind /usr/portage /chroot/usr/portage (otherwise you'll do needless multiple emerge --sync's)&lt;br /&gt;
&lt;br /&gt;
  mount --bind /usr/src/linux /chroot/usr/src/linux (otherwise kernel based stuff will die on compile) &lt;br /&gt;
  mount --bind /lib/modules /chroot/lib/modules (module installations) &lt;br /&gt;
  mount --bind /sys /chroot/sys (for more system info)&lt;br /&gt;
  mount --bind /tmp /chroot/tmp (for access with base X ie. sharing 1 X server)&lt;br /&gt;
&lt;br /&gt;
{{Box Warning|Atenció amb no borrar cap sistema vinculat! Es carregaria el sistema actual.}}&lt;br /&gt;
&lt;br /&gt;
==Altres fitxers a copiar==&lt;br /&gt;
&lt;br /&gt;
Per tal d'evitar errors al resoldre noms cal copiar els fitxers:&lt;br /&gt;
  cp -L /etc/resolv.conf /mnt/chroot/etc/resolv.conf&lt;br /&gt;
  cp -L /etc/hosts /mnt/chroot/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
== Entrant a chroot==&lt;br /&gt;
&lt;br /&gt;
 # chroot /mnt/chroot /bin/bash&lt;br /&gt;
&lt;br /&gt;
== Resolució de problemes ==&lt;br /&gt;
&lt;br /&gt;
=== Error urandom al canviar passwd chroot  ===&lt;br /&gt;
&lt;br /&gt;
Cal crear abans el fitxer. Fora de la &amp;quot;jaula&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 $ sudo mknod p/dev/urandom c 1 9 &lt;br /&gt;
&lt;br /&gt;
On p es on està muntat el disc dur.&lt;br /&gt;
&lt;br /&gt;
==Recursos==&lt;br /&gt;
*[http://gentoo-wiki.com/HOWTO_startx_in_a_chroot HOWTO_startx_in_a_chroot]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Plantilla:101.1Title</id>
		<title>Plantilla:101.1Title</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Plantilla:101.1Title"/>
				<updated>2009-09-13T10:00:41Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Es crea la pàgina amb «Determinar i configurar el maquinari».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Determinar i configurar el maquinari&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Diff</id>
		<title>Diff</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Diff"/>
				<updated>2009-08-26T14:31:48Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Vegeu també */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Instal·lació==&lt;br /&gt;
&lt;br /&gt;
El paquet que instal·la la comanda diff, té el mateix nom que la comanda, tal i com podeu veure amb&lt;br /&gt;
&lt;br /&gt;
 $ which diff&lt;br /&gt;
 /usr/bin/diff&lt;br /&gt;
 $ [[dpkg]] -S /usr/bin/diff&lt;br /&gt;
&lt;br /&gt;
Per tant per instal·lar-ho (si és que encara no ho teniu):&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install diff&lt;br /&gt;
&lt;br /&gt;
==Com crear un fitxer de patch amb diff==&lt;br /&gt;
&lt;br /&gt;
Si teniu dos fitxers, anomenats Fitxer1 i Fitxer1Modificat, podeu crear un [[patch]] (pegat) amb&lt;br /&gt;
&lt;br /&gt;
 $ diff -u oldFile newFile &amp;gt; mods.diff&lt;br /&gt;
&lt;br /&gt;
Sovint als fitxers també se'ls anomena amb la extensió patch:&lt;br /&gt;
&lt;br /&gt;
 $ diff -u oldFile newFile &amp;gt; mods.patch&lt;br /&gt;
&lt;br /&gt;
On:&lt;br /&gt;
&lt;br /&gt;
 -u  -U NUM  --unified[=NUM]&lt;br /&gt;
              Output NUM (default 3) lines of unified context.&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://stephenjungels.com/jungels.net/articles/diff-patch-ten-minutes.html&lt;br /&gt;
&lt;br /&gt;
===Crear un pegat d'una carpeta i totes les subcarpetes i subfitxers===&lt;br /&gt;
&lt;br /&gt;
Primer cal obtenir una còpia de la carpeta original:&lt;br /&gt;
&lt;br /&gt;
 $ cp -R original new&lt;br /&gt;
&lt;br /&gt;
Ara feu els canvis a la carpeta new i creeu un pegat amb:&lt;br /&gt;
&lt;br /&gt;
 $ diff -rupN original/ new/ &amp;gt; original.patch&lt;br /&gt;
&lt;br /&gt;
On:&lt;br /&gt;
&lt;br /&gt;
 -r  --recursive&lt;br /&gt;
              Recursively compare any subdirectories found.&lt;br /&gt;
&lt;br /&gt;
 -u  -U NUM  --unified[=NUM]&lt;br /&gt;
              Output NUM (default 3) lines of unified context.&lt;br /&gt;
 &lt;br /&gt;
 -N  --new-file&lt;br /&gt;
              Treat absent files as empty.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La opció -c és només per a C&lt;br /&gt;
&lt;br /&gt;
 -p  --show-c-function&lt;br /&gt;
              Show which C function each change is in.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Patch de carpetes i els seus subdirectoris===&lt;br /&gt;
&lt;br /&gt;
Assumint que el codi font original està a la carpeta '''Tb01''' i el codi modificat a '''Tb02''' i que hi han multiples fitxers i subdirectoris en ambdues carpetes:&lt;br /&gt;
&lt;br /&gt;
 $ diff -crB Fitxer1 Fitxer1Modificat &amp;gt; Fitxer1Modificat.patch&lt;br /&gt;
&lt;br /&gt;
Segons el manual ([man diff]):&lt;br /&gt;
&lt;br /&gt;
 -B  --ignore-blank-lines&lt;br /&gt;
              Ignore changes whose lines are all blank.&lt;br /&gt;
 &lt;br /&gt;
 -c  -C NUM  --context[=NUM]&lt;br /&gt;
              Output NUM (default 3) lines of copied context.&lt;br /&gt;
 &lt;br /&gt;
  -r  --recursive&lt;br /&gt;
              Recursively compare any subdirectories found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
*[[patch]]&lt;br /&gt;
*[[Subversion]]&lt;br /&gt;
*[[CVS]]&lt;br /&gt;
*[[meld]]&lt;br /&gt;
&lt;br /&gt;
==Enllaços externs==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Diff&lt;br /&gt;
*http://www.gnu.org/software/diffutils/&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Plantilla:FitxerIOriginalODP</id>
		<title>Plantilla:FitxerIOriginalODP</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Plantilla:FitxerIOriginalODP"/>
				<updated>2009-06-14T11:30:33Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{{fitxers|{{{fitxers|}}}}}}&lt;br /&gt;
&lt;br /&gt;
[{{{url|{{{url|}}}}}}/{{{nom|{{{nom|}}}}}}.pdf {{{nom|{{{nom|}}}}}}.pdf] ([{{{url|{{{url|}}}}}}/{{{nom|{{{nom|}}}}}}.odp {{{nom|{{{nom|}}}}}}.odp])&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Plantilla:FitxerIOriginalODT</id>
		<title>Plantilla:FitxerIOriginalODT</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Plantilla:FitxerIOriginalODT"/>
				<updated>2009-06-14T11:30:17Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Plantilla:FitxerIOriginalODT s'ha reanomenat com Plantilla:FitxerIOriginalODP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Plantilla:FitxerIOriginalODP]]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/ACPI</id>
		<title>ACPI</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/ACPI"/>
				<updated>2009-05-23T18:25:51Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ACPI són les inicials de '''Advanced Configuration and Power Interface''' un sistema de gestió d'energia.&lt;br /&gt;
&lt;br /&gt;
==Power States==&lt;br /&gt;
&lt;br /&gt;
HI ha 7 estats:&lt;br /&gt;
&lt;br /&gt;
* '''G0''' ('''S0''') ''Working''&lt;br /&gt;
* '''G1''' ''Sleeping'' . Es divideix en 4 subestats:&lt;br /&gt;
** '''S1''': S'aturen tots els processos però però encara hi ha Power a la CPU i a la RAM&lt;br /&gt;
** '''S2''': La CPU està aturada&lt;br /&gt;
** '''S3''': Mode '''StandBy''' o Sleep MOde o Supend to RAM. RAM&lt;br /&gt;
** '''S4''': Hibernar&lt;br /&gt;
* '''G2''' ('''S5''')&lt;br /&gt;
* '''G3''' ''Mechanical Off''&lt;br /&gt;
&lt;br /&gt;
Consulteu:&lt;br /&gt;
*http://msdn.microsoft.com/en-us/library/ms798245.aspx&lt;br /&gt;
&lt;br /&gt;
==Device states==&lt;br /&gt;
&lt;br /&gt;
Els dispositius poden estar en tres estatsThe device states ''D0''-''D3'' are device-dependent:&lt;br /&gt;
&lt;br /&gt;
* '''D0''': ''Fully-On''. És l'estat en que opera.&lt;br /&gt;
* '''D1''' i '''D2''' la definició varia segons el dispositiu.&lt;br /&gt;
* '''D3''': ''Off''. Apagat&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface&lt;br /&gt;
&lt;br /&gt;
==/proc/interrupts==&lt;br /&gt;
&lt;br /&gt;
 $ cat /proc/interrupts&lt;br /&gt;
 &lt;br /&gt;
      CPU0       &lt;br /&gt;
  0:        143   IO-APIC-edge      timer&lt;br /&gt;
  1:     102716   IO-APIC-edge      i8042&lt;br /&gt;
  6:          2   IO-APIC-edge      floppy&lt;br /&gt;
  7:          1   IO-APIC-edge      parport0&lt;br /&gt;
  8:          3   IO-APIC-edge      rtc&lt;br /&gt;
  '''9:          0   IO-APIC-fasteoi   acpi'''&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==APM versus ACPI==&lt;br /&gt;
&lt;br /&gt;
Les primeres implementacions utilitzaven el sistema [http://en.wikipedia.org/wiki/Advanced_Power_Management APM (Advanced Power Management)]. El control del consum (power) es feia a través de la BIOS.&lt;br /&gt;
&lt;br /&gt;
Actualment ACPI substitueix a APM. ACPI permet als sistemes operatius controlar de forma selectiva la corrent (power) dels dispositius de forma individual i a més, APCI, suporta una varietat de &amp;quot;power states&amp;quot;, des de completament apagat a completament encès.&lt;br /&gt;
&lt;br /&gt;
==Comanda acpiconf==&lt;br /&gt;
&lt;br /&gt;
 # acpiconf -s 5&lt;br /&gt;
&lt;br /&gt;
==Vegeu també==&lt;br /&gt;
&lt;br /&gt;
*[[ethtool]]&lt;br /&gt;
*[[Comandes relacionades amb el maquinari]]&lt;br /&gt;
*[[WOL._Wake_on_Lan#Wake_on_LAN_i_ACPI_.28Advanced_Configuration_and_Power_Interface.29]]&lt;br /&gt;
&lt;br /&gt;
==Enllaços externs==&lt;br /&gt;
&lt;br /&gt;
*http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface&lt;br /&gt;
*http://es.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface&lt;br /&gt;
*http://msdn.microsoft.com/en-us/library/ms798245.aspx&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Plantilla:PlantillaCurs</id>
		<title>Plantilla:PlantillaCurs</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Plantilla:PlantillaCurs"/>
				<updated>2009-04-30T10:56:06Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;toccolours&amp;quot; style=&amp;quot;float: right; background-color: #f1f1ff; margin: 0 0 1em 1em; border-right-width: 2px; border-bottom-width: 2px; width: 24em; font-size: 90%; clear: right;&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center; font-size: larger;&amp;quot; | &lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#DEE9FF; padding:8px&amp;quot;&amp;gt;[[Imatge:Alert.png|25px]]&lt;br /&gt;
'''Aquesta wiki forma part dels materials d'un curs'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| '''[[CursosICEUPC|Curs]]:'''&lt;br /&gt;
| {{{curs|{{{curs|}}}}}}&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| '''[https://anonymous@svn.projectes.lafarga.cat/svn/iceupc Fitxers]:'''&lt;br /&gt;
| {{{fitxers|{{{fitxers|}}}}}}&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| '''Repositori [[SVN]]:'''&lt;br /&gt;
| {{{repositori|{{{repositori|}}}}}}&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| '''Usuari:'''&lt;br /&gt;
| anonymous&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| '''Paraula de pas:'''&lt;br /&gt;
| sense paraula de pas&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| '''Autors:'''&lt;br /&gt;
| {{{autors|{{{autors|}}}}}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Buffalo_WHR-HP-G54_high_power_WiFi_125</id>
		<title>Buffalo WHR-HP-G54 high power WiFi 125</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Buffalo_WHR-HP-G54_high_power_WiFi_125"/>
				<updated>2009-04-29T08:24:53Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Accés a DD-WRT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Imatge:WHR-HP-G54CW.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
També conegut a la web de buffalo per:&lt;br /&gt;
&lt;br /&gt;
 Wireless-G MIMO Performance* Router &amp;amp; Access Point&lt;br /&gt;
&lt;br /&gt;
'''Característiques''':&lt;br /&gt;
&lt;br /&gt;
*'''CPU''': Broadcom 5352 CPU a 200 MHz.&lt;br /&gt;
*'''Memòria Flash''': 4 MB &lt;br /&gt;
*'''Memòria RAM''': 16 MB &lt;br /&gt;
*Suport sèrie&lt;br /&gt;
*JTAG&lt;br /&gt;
&lt;br /&gt;
=Proposta de pràctica=&lt;br /&gt;
&lt;br /&gt;
*[[Pràctica Router Buffalo WHR-HP-G54]]&lt;br /&gt;
&lt;br /&gt;
==Guifi.net==&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.comesfa.org/guifi.dir/FIRMWARES/buffalo/dd-guifi/&lt;br /&gt;
&lt;br /&gt;
==Open-WRT==&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://wiki.openwrt.org/OpenWrtDocs/Hardware/Buffalo/WHR-G54S&lt;br /&gt;
&lt;br /&gt;
==DD-WRT==&lt;br /&gt;
&lt;br /&gt;
===Flashejar===&lt;br /&gt;
&lt;br /&gt;
 Cal utilitzar la versió v23 SP1 o superior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per obtenir el firmware cal anar a la web de descàrregues de DD-WRT:&lt;br /&gt;
&lt;br /&gt;
 http://www.dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html&lt;br /&gt;
&lt;br /&gt;
No podem utilitzar la versió mega (calen 8Mb i el router en té 4Mb). A data de 19/10/2008 baixem la versió '''dd-wrt.v24_std_generic.bin''':&lt;br /&gt;
&lt;br /&gt;
 $ wget http://www.dd-wrt.com/dd-wrtv2/downloads/stable/dd-wrt.v24%20SP1/Consumer/Buffalo/WHR-HP-G54/dd-wrt.v24_std_generic.bin&lt;br /&gt;
&lt;br /&gt;
Ara cal connectar el router Buffalo a la nostra xarxa. El connectem al mateix switch o utilitzem un cable creuat. També hem de posar la nostra màquina a la mateixa xarxa que la xarxa per defecte del router Buffalo.&lt;br /&gt;
&lt;br /&gt;
Els valors per defecte (de fàbrica) del dispositiu són:&lt;br /&gt;
&lt;br /&gt;
*'''IP''': 192.168.11.1&lt;br /&gt;
*'''Usuari''': root&lt;br /&gt;
*'''Paraula de pas''': admin&lt;br /&gt;
&lt;br /&gt;
El millor per posar-se a la mateixa xarxa és utilitzar [[IP_Aliasing._M%C3%BAltiples_IP_per_a_una_sola_interf%C3%ADcie | IP Aliasing]]: &lt;br /&gt;
&lt;br /&gt;
 $ sudo ifconfig eth0:1 192.168.11.15 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
Val la pena afegir una ruta estàtica. Per això necessitem la MAC. La trobareu en una etiqueta de la part inferior. De fet hi han 2, cal fixar-se en la que posa Default SSID (2.4Ghz). També podem fer un ping:&lt;br /&gt;
&lt;br /&gt;
 $ ping 192.168.11.1&lt;br /&gt;
&lt;br /&gt;
I consultar la taula ARP:&lt;br /&gt;
&lt;br /&gt;
 $ arp -n &lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 ...&lt;br /&gt;
 192.168.11.1             ether   00:1D:73:3A:CB:AA   C                     eth0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Per afegir la ruta de forma estàtica, dues opcions: &lt;br /&gt;
&lt;br /&gt;
'''Windows/Linux''':&lt;br /&gt;
&lt;br /&gt;
 arp -s 192.168.11.1 00:1D:73:3A:CB:AA&lt;br /&gt;
&lt;br /&gt;
'''Només Linux''':&lt;br /&gt;
&lt;br /&gt;
 ip neigh add 192.168.11.1 lladdr 00:1D:73:3A:CB:AA nud reachable dev eth0&lt;br /&gt;
&lt;br /&gt;
En aquest punt val la pena assegurar-se de que tenim el dispositiu amb la configuració de fàbrica. Premeu el botó init durant 30 segons (consulteu l'apartat [[ROUTER_BUFFALO_WHR-HP-G54_HIGH_POWER_WIFI_125#Hard_reset | hard reset]] si teniu problemes per reiniciar el router a les opcions de fàbrica.).&lt;br /&gt;
&lt;br /&gt;
Ara utilitzem tftp per tal de pujar el nou firmware. Necessitem una eina tftp:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install atftp&lt;br /&gt;
&lt;br /&gt;
Per poder pujar el firmware s'ha de fer durant el boot del dispositiu. &lt;br /&gt;
&lt;br /&gt;
Executeu:&lt;br /&gt;
&lt;br /&gt;
 atftp 192.168.11.1&lt;br /&gt;
 tftp&amp;gt; mode octet&lt;br /&gt;
 tftp&amp;gt; trace&lt;br /&gt;
&lt;br /&gt;
I deixeu preparada (sense executar) la comanda:&lt;br /&gt;
&lt;br /&gt;
 tftp&amp;gt; put dd-wrt.v24_std_generic.bin&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': Una alternativa pot ser fer-ho tot de cop amb:&lt;br /&gt;
&lt;br /&gt;
 $ atftp -i 192.168.11.1 PUT dd-wrt.v24_std_generic.bin&lt;br /&gt;
&lt;br /&gt;
L'apaguem i quan s'estigui encenent, premem enter. Si ens surt un error tipus:&lt;br /&gt;
&lt;br /&gt;
 sent WRQ &amp;lt;file=openwrt-brcm-2.4-squashfs.trx, mode=octet&amp;gt;&lt;br /&gt;
 sent WRQ &amp;lt;file=openwrt-brcm-2.4-squashfs.trx, mode=octet&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Tornem a intentar. Sabrem que funciona quan surtin missatges tipus:&lt;br /&gt;
&lt;br /&gt;
 sent DATA &amp;lt;block: 7340, size: 512&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block: 7340&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block: 7341, size: 512&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block: 7341&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block: 7342, size: 512&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block: 7342&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block: 7343, size: 512&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block: 7343&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block: 7344, size: 512&amp;gt; &lt;br /&gt;
 received ACK &amp;lt;block: 7344&amp;gt; &lt;br /&gt;
 sent DATA &amp;lt;block: 7345, size: 0&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Tarda poc. Un cop acabat cal deixar que el router faci tota la feina i esperar un temps prudencial (2 minuts) per tal que es torni a iniciar.&lt;br /&gt;
&lt;br /&gt;
Ara la IP del router és:&lt;br /&gt;
&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
 '''NOTA IMPORTANT''': Aquesta IP és la típica de molts routers. Si no podeu accedir-hi, tingueu en compte que no sigui perquè el vostre router ADSL també utilitza aquesta IP. En aquest cas desconnecteu-lo i quan hàgiu canviat la IP per defecte del bufallo el podeu tornar a connectar.&lt;br /&gt;
&lt;br /&gt;
==Accés a DD-WRT==&lt;br /&gt;
&lt;br /&gt;
DD-WRT té una interfície WEB. Hi podeu accedir posant la URL del router al navegador:&lt;br /&gt;
&lt;br /&gt;
 http://192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Per tal de poder accedir a aquesta IP heu d'utilitzar [[IP_Aliasing._M%C3%BAltiples_IP_per_a_una_sola_interf%C3%ADcie | IP Aliasing]]. Un exemple (que heu d'adaptar al vostre cas)&lt;br /&gt;
&lt;br /&gt;
 $ sudo ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': Controleu quants aliasings teniu amb la comanda ifconfig&lt;br /&gt;
&lt;br /&gt;
Heu d'introduir l'usuari i la paraula de pas per defecte de DD-WRT.&lt;br /&gt;
&lt;br /&gt;
==Configuració WI-FI==&lt;br /&gt;
&lt;br /&gt;
===Configuració bàsica===&lt;br /&gt;
&lt;br /&gt;
===Xifratge WEP===&lt;br /&gt;
&lt;br /&gt;
===Xifratge WPA===&lt;br /&gt;
&lt;br /&gt;
=Resolució de problemes. TroubleShooting=&lt;br /&gt;
&lt;br /&gt;
==Firmware original i documentació==&lt;br /&gt;
&lt;br /&gt;
 http://www.buffalotech.com/support/downloads/&lt;br /&gt;
&lt;br /&gt;
Busqueu el model WHR-HP-G54&lt;br /&gt;
&lt;br /&gt;
==Hard reset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before you continue below, make sure you've first tried a hard reset to revive your router:&lt;br /&gt;
&lt;br /&gt;
   1. Disconnect the router from UTP cables (not the power cable).&lt;br /&gt;
   2. Push reset button for 30 secs.&lt;br /&gt;
   3. Without releasing reset button, disconnect power cord.&lt;br /&gt;
   4. Hold the reset button for another 30 secs.&lt;br /&gt;
   5. Replug the power cord.&lt;br /&gt;
   6. Still hold the reset button for another 30 secs.&lt;br /&gt;
   7. Release the reset button and give the router about 10 secs to resettle.&lt;br /&gt;
   8. Disconnect power cord for another 10 secs and then reconnect.&lt;br /&gt;
   9. All should be in default settings now.&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
*http://www.dd-wrt.com/wiki/index.php/WHR-HP-G54&lt;br /&gt;
*http://www.comesfa.org/en/buffalo&lt;br /&gt;
*http://www.dd-wrt.com/wiki/index.php/Installation#Buffalo&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/DD-WRT</id>
		<title>DD-WRT</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/DD-WRT"/>
				<updated>2008-11-14T19:08:55Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Com establir la clau WEP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Imatge:DD-WRT logo.png|thumb| DD-WRT és un firmware lliure per a routers SoHo basat en Linux]]&lt;br /&gt;
&lt;br /&gt;
DD-WRT és un firmware lliure per a diversos routers (sobretot orientat a encaminadors WIFI) SoHo.  És molt comú trobar-lo en els famosos '''Linksys WRT54G''' però hi ha una llista llarga de maquinari suportat que podeu consultar a la [http://www.dd-wrt.com/wiki/index.php/Supported_Devices wiki de DD-WRT].&lt;br /&gt;
&lt;br /&gt;
DD-WRT es basa en el sistema operatiu Linux i es distribueix amb la llicència GNU General Public License versió 2. DD-WRT és mantingut per BrainSlayer i la seva pàgina principal és [[http://www.dd-wrt.com www.dd-wrt.com]]. &lt;br /&gt;
&lt;br /&gt;
Les versions v22 es basaven en Alchemy però a partir de v23 es basa en el firmware [[openWrt]]. &lt;br /&gt;
&lt;br /&gt;
=Característiques=&lt;br /&gt;
&lt;br /&gt;
DD-WRT té suport per a:&lt;br /&gt;
&lt;br /&gt;
*Radius&lt;br /&gt;
*WDS&lt;br /&gt;
*IPV6&lt;br /&gt;
*Control de la potència d'emissió&lt;br /&gt;
*Controls avançats de qualitat de servei&lt;br /&gt;
*Xarxes Mesh&lt;br /&gt;
*Hotspots&lt;br /&gt;
*VPN&lt;br /&gt;
*Accés per Telnet i SSH&lt;br /&gt;
&lt;br /&gt;
=Instal·lació=&lt;br /&gt;
&lt;br /&gt;
==Flashejar==&lt;br /&gt;
&lt;br /&gt;
S'utilitza la expressió Flashejar en referència a instal·lar/modificar la memòria Flahs dels dispositius. Precisament per a instal·lar DD-WRT necessitem &amp;quot;flashejar&amp;quot; la memòria Flash del dispositiu. &lt;br /&gt;
&lt;br /&gt;
Els passos exactes a seguir per instal·lar DD-WRT depenen del dispositiu.&lt;br /&gt;
&lt;br /&gt;
En aquest apartat penjaré els enllaços a exemples de com instal·lar DD-WRT segons el dispositiu:&lt;br /&gt;
&lt;br /&gt;
*[[ROUTER_BUFFALO_WHR-HP-G54_HIGH_POWER_WIFI_125#Flashejar | Router Buffalo WHR-HP-G54]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Com ... HOWTOs=&lt;br /&gt;
&lt;br /&gt;
==Com establir la clau WEP==&lt;br /&gt;
&lt;br /&gt;
 $ nvram set ath0_key1=&amp;quot;E599A3A450A5952FF6608B818D&amp;quot;&lt;br /&gt;
 $ nvram commit&lt;br /&gt;
 nvram_commit(): end&lt;br /&gt;
 $ reboot&lt;br /&gt;
&lt;br /&gt;
'''Recursos'''&lt;br /&gt;
*http://www.dd-wrt.com/phpBB2/viewtopic.php?t=35582&lt;br /&gt;
&lt;br /&gt;
==Com desactivar el tallafocs d'entrada al router des de la línia de comandes==&lt;br /&gt;
&lt;br /&gt;
Si manteniu l'accés SSH o Telnet, però no podeu accedir al router d'altres formes (p.ex. web), podeu desactivar temporalment el tallafocs amb:&lt;br /&gt;
&lt;br /&gt;
 $ telnet 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
 # iptables -D INPUT -j DROP&lt;br /&gt;
&lt;br /&gt;
=Hotspots=&lt;br /&gt;
&lt;br /&gt;
 '''IMPORTANT''': Per tal que funcionin els hotspots, l'accés a Internet (el gateway) s'ha d'aconseguir a través del port WAN i no la LAN. Si l'accés a &lt;br /&gt;
 Internet (gateway) es troba a la LAN, no hi haurà cap control en l'accés, funcionant com un simple punt d'accés (no router).&lt;br /&gt;
&lt;br /&gt;
===Sputnik===&lt;br /&gt;
&lt;br /&gt;
'''Crear una compte''':&lt;br /&gt;
*http://www.sputnik.com/support/lessons/Creating_a_new_SputnikNet_Account.html&lt;br /&gt;
&lt;br /&gt;
*http://www.sputnik.com/support/lessons/Using_Sputnik-Powered_DD-WRT_Firmware.html&lt;br /&gt;
&lt;br /&gt;
===Chilispot===&lt;br /&gt;
&lt;br /&gt;
*http://www.wi-fiplanet.com/tutorials/article.php/10724_3730746_3&lt;br /&gt;
&lt;br /&gt;
'''Worlspot''':&lt;br /&gt;
*http://worldspot.net/&lt;br /&gt;
&lt;br /&gt;
'''Altres'''&lt;br /&gt;
*http://hotspotexpress.in/products/ispot.html&lt;br /&gt;
*http://www.hotspotsystem.com/&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
&lt;br /&gt;
*http://es.wikipedia.org/wiki/DD-WRT&lt;br /&gt;
*http://en.wikipedia.org/wiki/DD-WRT&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Bridges_amb_Linux</id>
		<title>Bridges amb Linux</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Bridges_amb_Linux"/>
				<updated>2008-10-24T05:50:33Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Paquet bridge-utils */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Utilitats de bridge a Linux=&lt;br /&gt;
&lt;br /&gt;
==Paquet bridge-utils==&lt;br /&gt;
&lt;br /&gt;
'''Instal·lació''':&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install bridge-utils&lt;br /&gt;
&lt;br /&gt;
'''Comandes''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L bridge-utils | grep bin&lt;br /&gt;
 /usr/sbin&lt;br /&gt;
 '''/usr/sbin/brctl'''&lt;br /&gt;
&lt;br /&gt;
'''Fitxers de configuració''':&lt;br /&gt;
&lt;br /&gt;
 $ dpkg -L bridge-utils | grep etc&lt;br /&gt;
 /etc&lt;br /&gt;
 /etc/network&lt;br /&gt;
 /etc/network/if-pre-up.d&lt;br /&gt;
 /etc/network/if-pre-up.d/bridge&lt;br /&gt;
 /etc/network/if-post-down.d&lt;br /&gt;
 /etc/network/if-post-down.d/bridge&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
&lt;br /&gt;
*[http://linux.die.net/man/8/brctl brctl]&lt;br /&gt;
&lt;br /&gt;
===Comanda brctl===&lt;br /&gt;
&lt;br /&gt;
'''Mostrar els bridges''':&lt;br /&gt;
&lt;br /&gt;
 $ brctl show &lt;br /&gt;
  bridge name     bridge id               STP enabled     interfaces&lt;br /&gt;
  br0             8000.001601a1a9b7       no              eth0&lt;br /&gt;
                                                          wlan0&lt;br /&gt;
  br1             8000.000000000000       no              &lt;br /&gt;
&lt;br /&gt;
'''Crear un nou bridge''':&lt;br /&gt;
&lt;br /&gt;
 $ brctl addbr br1&lt;br /&gt;
&lt;br /&gt;
'''Afegir/treure interfícies a un bridge''':&lt;br /&gt;
&lt;br /&gt;
 $ brctl delif&lt;br /&gt;
&lt;br /&gt;
 $ brctl addif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Creació del bridge===&lt;br /&gt;
&lt;br /&gt;
Instal·lem el paquet [[Bridges_amb_Linux#Paquet_bridge-utils | bridge-utils]] i al fitxer '''/etc/network/interfaces''' creem una interfície que sigui un bridge de la eth0:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/network/interfaces&lt;br /&gt;
 &lt;br /&gt;
 auto lo&lt;br /&gt;
 iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
 auto br0&lt;br /&gt;
 iface br0 inet static&lt;br /&gt;
  address 192.168.1.2&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  gateway 192.168.1.1&lt;br /&gt;
  '''bridge_ports eth0'''&lt;br /&gt;
 &lt;br /&gt;
 auto eth0&lt;br /&gt;
 '''iface eth0 inet manual'''&lt;br /&gt;
&lt;br /&gt;
També podem utilitzar DHCP:&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/network/interfaces&lt;br /&gt;
 &lt;br /&gt;
 auto lo&lt;br /&gt;
 iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
 auto br0&lt;br /&gt;
 iface br0 inet dhcp&lt;br /&gt;
  '''bridge_ports eth0'''&lt;br /&gt;
 &lt;br /&gt;
 auto eth0&lt;br /&gt;
 '''iface eth0 inet manual'''&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': Noteu com la interfície eth0 es configura com manual i la línia '''bridge_ports eth0'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I tornem a iniciar la xarxa:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
A partir d'ara la interfície eth0, tal i com podem observar a l'executar '''ifconfig''':&lt;br /&gt;
&lt;br /&gt;
 $ ifconfig&lt;br /&gt;
 br0       Link encap:Ethernet  HWaddr 00:30:1B:B7:CD:B6  &lt;br /&gt;
           inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;
           inet6 addr: fe80::230:1bff:feb7:cdb6/64 Scope:Link&lt;br /&gt;
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
           RX packets:28932 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
           TX packets:28277 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
           collisions:0 txqueuelen:0 &lt;br /&gt;
           RX bytes:24356075 (23.2 MB)  TX bytes:17213164 (16.4 MB)&lt;br /&gt;
 &lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 00:30:1B:B7:CD:B6  &lt;br /&gt;
           inet6 addr: fe80::230:1bff:feb7:cdb6/64 Scope:Link&lt;br /&gt;
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
           RX packets:20788 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
           TX packets:14681 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
           collisions:0 txqueuelen:1000 &lt;br /&gt;
           RX bytes:23664360 (22.5 MB)  TX bytes:1995733 (1.9 MB)&lt;br /&gt;
           Interrupt:20 &lt;br /&gt;
&lt;br /&gt;
És una interfície no configurada ('''TONTA''' o Dummy). Això és normal, comproveu com la xarxa funciona igualment&lt;br /&gt;
&lt;br /&gt;
==Paquet uml-utilities==&lt;br /&gt;
&lt;br /&gt;
Instal·lació de User Mode Linux utilities package (uml-utilities):&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install uml-utilities&lt;br /&gt;
&lt;br /&gt;
Conté eines per crear interfícies TAP.&lt;br /&gt;
&lt;br /&gt;
Afegir permissos a l'usuari per accedir a la interfície:&lt;br /&gt;
&lt;br /&gt;
 $ sudo gpasswd -a &amp;lt;user&amp;gt; uml-net&lt;br /&gt;
&lt;br /&gt;
Per exemple&lt;br /&gt;
&lt;br /&gt;
 $ sudo gpasswd -a sergi uml-net&lt;br /&gt;
   &lt;br /&gt;
Cal tornar a iniciar per aplicar els permissos&lt;br /&gt;
&lt;br /&gt;
Per afegir la interfície TAP editem el fitxer '''/etc/network/interfaces''' i afegim:&lt;br /&gt;
&lt;br /&gt;
 auto tap0&lt;br /&gt;
 iface tap0 inet manual&lt;br /&gt;
      up ifconfig $IFACE 0.0.0.0 up&lt;br /&gt;
      down ifconfig $IFACE down&lt;br /&gt;
      tunctl_user &amp;lt;user&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a user posem el nostre usuari. Per exemple:&lt;br /&gt;
&lt;br /&gt;
 auto tap0&lt;br /&gt;
 iface tap0 inet manual&lt;br /&gt;
      up ifconfig $IFACE 0.0.0.0 up&lt;br /&gt;
      down ifconfig $IFACE down&lt;br /&gt;
      tunctl_user sergi&lt;br /&gt;
      bridge_ports eth0 tap0&lt;br /&gt;
&lt;br /&gt;
Tornar a iniciar la xarxa:&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
=tunctl=&lt;br /&gt;
&lt;br /&gt;
Ara creem un bridge:&lt;br /&gt;
&lt;br /&gt;
 $ sudo tunctl -t tap1 -u sergi&lt;br /&gt;
 $ sudo chmod 666 /dev/net/tun&lt;br /&gt;
&lt;br /&gt;
I:&lt;br /&gt;
&lt;br /&gt;
 $ sudo brctl addbr br0 &lt;br /&gt;
&lt;br /&gt;
 $ sudo ifconfig eth0 0.0.0.0 promisc &lt;br /&gt;
 $ sudo brctl addif br0 eth0&lt;br /&gt;
 $ dhclient br0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ sudo brctl addif br0 tap1 &lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*https://help.ubuntu.com/community/VirtualBox#head-ac88c03223e773c78dbb46b4b13c109de1143a03&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
&lt;br /&gt;
*[http://gentoo-wiki.com/HOWTO_setup_a_gentoo_bridge HOWTO_setup_a_gentoo_bridge]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Bufffalo_WBMR-G54</id>
		<title>Bufffalo WBMR-G54</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Bufffalo_WBMR-G54"/>
				<updated>2008-10-20T07:12:08Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: Pàgina nova, amb el contingut: «thumb  També conegut a la web de buffalo per:   Wireless-G MIMO Performance* Router &amp;amp; Access Point  '''Característiques''':  *'''CPU'''...».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Imatge:Wbmr-g54.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
També conegut a la web de buffalo per:&lt;br /&gt;
&lt;br /&gt;
 Wireless-G MIMO Performance* Router &amp;amp; Access Point&lt;br /&gt;
&lt;br /&gt;
'''Característiques''':&lt;br /&gt;
&lt;br /&gt;
*'''CPU''': &lt;br /&gt;
*'''Memòria Flash''': &lt;br /&gt;
*'''Memòria RAM''': &lt;br /&gt;
*Mòdem ADSL&lt;br /&gt;
&lt;br /&gt;
==Guifi.net==&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
&lt;br /&gt;
==Open-WRT==&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
&lt;br /&gt;
==DD-WRT==&lt;br /&gt;
&lt;br /&gt;
===Flashejar===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per obtenir el firmware cal anar a la web de descàrregues de DD-WRT:&lt;br /&gt;
&lt;br /&gt;
 http://www.dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html&lt;br /&gt;
&lt;br /&gt;
No podem utilitzar la versió mega (calen 8Mb i el router en té 4Mb). A data de 19/10/2008 baixem la versió '''dd-wrt.v24_std_generic.bin''':&lt;br /&gt;
&lt;br /&gt;
 $ wget http://www.dd-wrt.com/dd-wrtv2/downloads/stable/dd-wrt.v24%20SP1/Consumer/Buffalo/WHR-HP-G54/dd-wrt.v24_std_generic.bin&lt;br /&gt;
&lt;br /&gt;
Ara cal connectar el router Buffalo a la nostra xarxa. El connectem al mateix switch o utilitzem un cable creuat. També hem de posar la nostra màquina a la mateixa xarxa que la xarxa per defecte del router Buffalo.&lt;br /&gt;
&lt;br /&gt;
Els valors per defecte (de fàbrica) del dispositiu són:&lt;br /&gt;
&lt;br /&gt;
*'''IP''': 192.168.11.1&lt;br /&gt;
*'''Usuari''': root&lt;br /&gt;
*'''Paraula de pas''': admin&lt;br /&gt;
&lt;br /&gt;
El millor per posar-se a la mateixa xarxa és utilitzar [[IP_Aliasing._M%C3%BAltiples_IP_per_a_una_sola_interf%C3%ADcie | IP Aliasing]]: &lt;br /&gt;
&lt;br /&gt;
 $ sudo ifconfig eth0:1 192.168.11.15 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
Val la pena afegir una ruta estàtica. Per això necessitem la MAC. La trobareu en una etiqueta de la part inferior. De fet hi han 2, cal fixar-se en la que posa Default SSID (2.4Ghz). També podem fer un ping:&lt;br /&gt;
&lt;br /&gt;
 $ ping 192.168.11.1&lt;br /&gt;
&lt;br /&gt;
I consultar la taula ARP:&lt;br /&gt;
&lt;br /&gt;
 $ arp -n &lt;br /&gt;
 Address                  HWtype  HWaddress           Flags Mask            Iface&lt;br /&gt;
 ...&lt;br /&gt;
 192.168.11.1             ether   00:1D:73:3A:CB:AA   C                     eth0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Per afegir la ruta de forma estàtica, dues opcions: &lt;br /&gt;
&lt;br /&gt;
'''Windows/Linux''':&lt;br /&gt;
&lt;br /&gt;
 arp -s 192.168.11.1 00:1D:73:3A:CB:AA&lt;br /&gt;
&lt;br /&gt;
'''Només Linux''':&lt;br /&gt;
&lt;br /&gt;
 ip neigh add 192.168.11.1 lladdr 00:1D:73:3A:CB:AA nud reachable dev eth0&lt;br /&gt;
&lt;br /&gt;
En aquest punt val la pena assegurar-se de que tenim el dispositiu amb la configuració de fàbrica. Premeu el botó init durant 30 segons (consulteu l'apartat [[ROUTER_BUFFALO_WHR-HP-G54_HIGH_POWER_WIFI_125#Hard_reset | hard reset]] si teniu problemes per reiniciar el router a les opcions de fàbrica.).&lt;br /&gt;
&lt;br /&gt;
Ara utilitzem tftp per tal de pujar el nou firmware. Necessitem una eina tftp:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install atftp&lt;br /&gt;
&lt;br /&gt;
Per poder pujar el firmware s'ha de fer durant el boot del dispositiu. &lt;br /&gt;
&lt;br /&gt;
Executeu:&lt;br /&gt;
&lt;br /&gt;
 atftp 192.168.11.1&lt;br /&gt;
 tftp&amp;gt; mode octet&lt;br /&gt;
 tftp&amp;gt; trace&lt;br /&gt;
&lt;br /&gt;
I deixeu preparada (sense executar) la comanda:&lt;br /&gt;
&lt;br /&gt;
 tftp&amp;gt; put dd-wrt.v24_std_generic.bin&lt;br /&gt;
&lt;br /&gt;
L'apaguem i quan s'estigui encenent, premem enter. Si ens surt un error tipus:&lt;br /&gt;
&lt;br /&gt;
 sent WRQ &amp;lt;file=openwrt-brcm-2.4-squashfs.trx, mode=octet&amp;gt;&lt;br /&gt;
 sent WRQ &amp;lt;file=openwrt-brcm-2.4-squashfs.trx, mode=octet&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Tornem a intentar. Sabrem que funciona quan surtin missatges tipus:&lt;br /&gt;
&lt;br /&gt;
 sent DATA &amp;lt;block: 7340, size: 512&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block: 7340&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block: 7341, size: 512&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block: 7341&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block: 7342, size: 512&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block: 7342&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block: 7343, size: 512&amp;gt;&lt;br /&gt;
 received ACK &amp;lt;block: 7343&amp;gt;&lt;br /&gt;
 sent DATA &amp;lt;block: 7344, size: 512&amp;gt; &lt;br /&gt;
 received ACK &amp;lt;block: 7344&amp;gt; &lt;br /&gt;
 sent DATA &amp;lt;block: 7345, size: 0&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Tarda poc. Un cop acabat cal deixar que el router faci tota la feina i esperar un temps prudencial (2 minuts) per tal que es torni a iniciar.&lt;br /&gt;
&lt;br /&gt;
Ara la IP del router és:&lt;br /&gt;
&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
&lt;br /&gt;
 '''NOTA IMPORTANT''': Aquesta IP és la típica de molts routers. Si no podeu accedir-hi, tingueu en compte que no sigui perquè el vostre router ADSL també utilitza aquesta IP. En aquest cas desconnecteu-lo i quan hàgiu canviat la IP per defecte del bufallo el podeu tornar a connectar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 $ atftp -i 192.168.11.1 PUT dd-wrt.v24_std_generic.bin&lt;br /&gt;
&lt;br /&gt;
=Resolució de problemes. TroubleShooting=&lt;br /&gt;
&lt;br /&gt;
==Firmware original i documentació==&lt;br /&gt;
&lt;br /&gt;
 http://www.buffalotech.com/support/downloads/&lt;br /&gt;
&lt;br /&gt;
Busqueu el model WHR-HP-G54&lt;br /&gt;
&lt;br /&gt;
==Hard reset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before you continue below, make sure you've first tried a hard reset to revive your router:&lt;br /&gt;
&lt;br /&gt;
   1. Disconnect the router from UTP cables (not the power cable).&lt;br /&gt;
   2. Push reset button for 30 secs.&lt;br /&gt;
   3. Without releasing reset button, disconnect power cord.&lt;br /&gt;
   4. Hold the reset button for another 30 secs.&lt;br /&gt;
   5. Replug the power cord.&lt;br /&gt;
   6. Still hold the reset button for another 30 secs.&lt;br /&gt;
   7. Release the reset button and give the router about 10 secs to resettle.&lt;br /&gt;
   8. Disconnect power cord for another 10 secs and then reconnect.&lt;br /&gt;
   9. All should be in default settings now.&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
*http://www.dd-wrt.com/wiki/index.php/WHR-HP-G54&lt;br /&gt;
*http://www.comesfa.org/en/buffalo&lt;br /&gt;
*http://www.dd-wrt.com/wiki/index.php/Installation#Buffalo&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Comandes_relacionades_amb_mem%C3%B2ria</id>
		<title>Comandes relacionades amb memòria</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Comandes_relacionades_amb_mem%C3%B2ria"/>
				<updated>2008-07-08T12:05:11Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* vmstat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=free=&lt;br /&gt;
&lt;br /&gt;
Mostra l'ús de la memòria:&lt;br /&gt;
&lt;br /&gt;
 $ free&lt;br /&gt;
              total       used       free     shared    buffers     cached&lt;br /&gt;
 Mem:       1035636    1017560      18076          0      18460     521304&lt;br /&gt;
 -/+ buffers/cache:     477796     557840&lt;br /&gt;
 Swap:      2048248      34872    2013376&lt;br /&gt;
&lt;br /&gt;
És molt útil l'opció -m que ens mostra la informació en MBytes (l'opció per defecte és kbytes):&lt;br /&gt;
&lt;br /&gt;
 $ free -m&lt;br /&gt;
              total       used       free     shared    buffers     cached&lt;br /&gt;
 Mem:          1011        973         37          0         14        493&lt;br /&gt;
 -/+ buffers/cache:        465        545&lt;br /&gt;
 Swap:         2000         34       1966&lt;br /&gt;
&lt;br /&gt;
També podem consultar els totals amb:&lt;br /&gt;
&lt;br /&gt;
 $ free -tm&lt;br /&gt;
              total       used       free     shared    buffers     cached&lt;br /&gt;
 Mem:          1011        974         36          0         14        493&lt;br /&gt;
 -/+ buffers/cache:        465        545&lt;br /&gt;
 Swap:         2000         34       1966&lt;br /&gt;
 Total:        3011       1008       2003&lt;br /&gt;
&lt;br /&gt;
I l'opció '''-s''' s'utilitza per mostrar la comanda cada x segons:&lt;br /&gt;
&lt;br /&gt;
 $ free -om -s 2&lt;br /&gt;
              total       used       free     shared    buffers     cached&lt;br /&gt;
 Mem:          1011        975         36          0         14        494&lt;br /&gt;
 Swap:         2000         34       1966  &lt;br /&gt;
 &lt;br /&gt;
              total       used       free     shared    buffers     cached&lt;br /&gt;
 Mem:          1011        975         36          0         14        494&lt;br /&gt;
 Swap:         2000         34       1966&lt;br /&gt;
 ... &lt;br /&gt;
&lt;br /&gt;
=vmstat=&lt;br /&gt;
&lt;br /&gt;
Mostra l'estat de la memòria&lt;br /&gt;
&lt;br /&gt;
 $ vmstat&lt;br /&gt;
 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----&lt;br /&gt;
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa&lt;br /&gt;
 0  0 284892  40012 144580 391576    8   27   250   977  220  999 38  5 48  9&lt;br /&gt;
&lt;br /&gt;
'''Consulteu''':&lt;br /&gt;
*https://acacha.dyndns.org/mediawiki/index.php/Processos_Linux#vmstat&lt;br /&gt;
&lt;br /&gt;
==dstat ==&lt;br /&gt;
&lt;br /&gt;
vmstat amb coloraines:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install dstat&lt;br /&gt;
&lt;br /&gt;
 $ dstat&lt;br /&gt;
 ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--&lt;br /&gt;
 usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw &lt;br /&gt;
  45   7  37  11   0   1| 557k 1669k|   0     0 |  19k   34k| 337  2408 &lt;br /&gt;
  44   3  53   0   0   0|   0     0 | 241k  147k|   0     0 | 389  2225 &lt;br /&gt;
  33   3  61   2   0   1|4096B   72k| 113k  230k|4096B    0 | 548  2385 &lt;br /&gt;
  37   2  61   0   0   0|   0   156k| 144k  231k|   0     0 | 428  2081 &lt;br /&gt;
  21   3  75   0   0   1| 128k  508k| 120k  218k|   0     0 | 409  2346 &lt;br /&gt;
  44   1  52   2   0   1| 164k   12k| 131k  227k| 160k    0 | 409  2249 &lt;br /&gt;
  26   1  73   0   0   0|   0     0 | 120k  233k|   0     0 | 333  2243 &lt;br /&gt;
  40   5  53   1   1   0|8192B    0 |  95k  222k|8192B    0 | 283  2980 &lt;br /&gt;
  56   5  37   0   1   1|   0    96k|  89k  218k|   0     0 | 571  2810 &lt;br /&gt;
 ....&lt;br /&gt;
&lt;br /&gt;
=top=&lt;br /&gt;
&lt;br /&gt;
'''Consulteu''':&lt;br /&gt;
*https://acacha.dyndns.org/mediawiki/index.php/Processos_Linux#top&lt;br /&gt;
&lt;br /&gt;
=Sistema de fitxers proc=&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.redhat.com/magazine/001nov04/features/vm/&lt;br /&gt;
*http://www.csn.ul.ie/~mel/docs/vm/&lt;br /&gt;
&lt;br /&gt;
==Consulta dels mapes de memòria==&lt;br /&gt;
&lt;br /&gt;
Amb la comanda ps podem consultar els PIDS dels processos&lt;br /&gt;
&lt;br /&gt;
 $ ps -A&lt;br /&gt;
   PID TTY          TIME CMD&lt;br /&gt;
     1 ?        00:00:00 init&lt;br /&gt;
     2 ?        00:00:00 ksoftirqd/0 &lt;br /&gt;
&lt;br /&gt;
Un cop sabem el PID podem consultar la informació del procés a /proc/PID. Per exemple el mapa de memòria es troba a:&lt;br /&gt;
&lt;br /&gt;
 $ cat /proc/1/maps&lt;br /&gt;
 08048000-08050000 r-xp 00000000 16:46 493923     /sbin/init (executable code)&lt;br /&gt;
 08050000-08051000 rw-p 00007000 16:46 493923     /sbin/init (data)&lt;br /&gt;
 08051000-08072000 rw-p 08051000 00:00 0          [heap]&lt;br /&gt;
 b7e2b000-b7e2c000 rw-p b7e2b000 00:00 0&lt;br /&gt;
 b7e2c000-b7f4c000 r-xp 00000000 16:46 3770390    /lib/libc-2.5.so&lt;br /&gt;
 b7f4c000-b7f4d000 r--p 00120000 16:46 3770390    /lib/libc-2.5.so&lt;br /&gt;
 b7f4d000-b7f4f000 rw-p 00121000 16:46 3770390    /lib/libc-2.5.so&lt;br /&gt;
 b7f4f000-b7f53000 rw-p b7f4f000 00:00 0&lt;br /&gt;
 b7f6f000-b7f70000 r-xp b7f6f000 00:00 0          [vdso]&lt;br /&gt;
 b7f70000-b7f8a000 r-xp 00000000 16:46 3770498    /lib/ld-2.5.so&lt;br /&gt;
 b7f8a000-b7f8b000 r--p 00019000 16:46 3770498    /lib/ld-2.5.so&lt;br /&gt;
 b7f8b000-b7f8c000 rw-p 0001a000 16:46 3770498    /lib/ld-2.5.so&lt;br /&gt;
 bf8fc000-bf911000 rw-p bf8fc000 00:00 0          [stack]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*[http://linux.die.net/man/1/free man free]&lt;br /&gt;
&lt;br /&gt;
==/proc/meminfo==&lt;br /&gt;
&lt;br /&gt;
 cat /proc/meminfo &lt;br /&gt;
 MemTotal:      1035636 kB&lt;br /&gt;
 MemFree:         35580 kB&lt;br /&gt;
 Buffers:         15960 kB&lt;br /&gt;
 Cached:         506444 kB&lt;br /&gt;
 SwapCached:        660 kB&lt;br /&gt;
 Active:         686404 kB&lt;br /&gt;
 Inactive:       256572 kB&lt;br /&gt;
 HighTotal:      131008 kB&lt;br /&gt;
 HighFree:          852 kB&lt;br /&gt;
 LowTotal:       904628 kB&lt;br /&gt;
 LowFree:         34728 kB&lt;br /&gt;
 SwapTotal:     2048248 kB&lt;br /&gt;
 SwapFree:      2013376 kB&lt;br /&gt;
 Dirty:             572 kB&lt;br /&gt;
 Writeback:           0 kB&lt;br /&gt;
 AnonPages:      419928 kB&lt;br /&gt;
 Mapped:         107604 kB&lt;br /&gt;
 Slab:            33016 kB&lt;br /&gt;
 SReclaimable:    20324 kB&lt;br /&gt;
 SUnreclaim:      12692 kB&lt;br /&gt;
 PageTables:       3772 kB&lt;br /&gt;
 NFS_Unstable:        0 kB&lt;br /&gt;
 Bounce:              0 kB&lt;br /&gt;
 CommitLimit:   2566064 kB&lt;br /&gt;
 Committed_AS:  1198368 kB&lt;br /&gt;
 VmallocTotal:   114680 kB&lt;br /&gt;
 VmallocUsed:      8140 kB&lt;br /&gt;
 VmallocChunk:   105460 kB&lt;br /&gt;
&lt;br /&gt;
'''Recursos''':&lt;br /&gt;
*http://www.redhat.com/advice/tips/meminfo.html&lt;br /&gt;
&lt;br /&gt;
==/proc/iomem==&lt;br /&gt;
&lt;br /&gt;
Mostra com esta mapejada la memòria:&lt;br /&gt;
&lt;br /&gt;
 $ cat /proc/iomem &lt;br /&gt;
 00000000-0009f7ff : System RAM&lt;br /&gt;
   00000000-00000000 : Crash kernel&lt;br /&gt;
 0009f800-0009ffff : reserved&lt;br /&gt;
 000a0000-000bffff : Video RAM area&lt;br /&gt;
 000c0000-000ccfff : Video ROM&lt;br /&gt;
 000d4000-000d4fff : Adapter ROM&lt;br /&gt;
 000d5000-000d7fff : pnp 00:01&lt;br /&gt;
 000f0000-000fffff : System ROM&lt;br /&gt;
 00100000-3ffeffff : System RAM&lt;br /&gt;
   00100000-002f7e85 : Kernel code&lt;br /&gt;
   002f7e86-003dce83 : Kernel data&lt;br /&gt;
 3fff0000-3fff2fff : ACPI Non-volatile Storage&lt;br /&gt;
 3fff3000-3fffffff : ACPI Tables&lt;br /&gt;
 50000000-500fffff : PCI Bus #02&lt;br /&gt;
   50000000-5001ffff : 0000:02:08.0&lt;br /&gt;
 d0000000-dfffffff : PCI Bus #01&lt;br /&gt;
   d0000000-dfffffff : 0000:01:00.0&lt;br /&gt;
 e0000000-e3ffffff : 0000:00:00.0&lt;br /&gt;
   e0000000-e3ffffff : aperture&lt;br /&gt;
 e4000000-e4ffffff : PCI Bus #01&lt;br /&gt;
   e4000000-e401ffff : 0000:01:00.0&lt;br /&gt;
  e4020000-e402ffff : 0000:01:00.0&lt;br /&gt;
 e5000000-e5ffffff : PCI Bus #02&lt;br /&gt;
   e5020000-e5023fff : 0000:02:08.0&lt;br /&gt;
     e5020000-e5023fff : skge&lt;br /&gt;
   e5024000-e50247ff : 0000:02:07.0&lt;br /&gt;
     e5024000-e50247ff : ohci1394&lt;br /&gt;
 e6000000-e6000fff : 0000:00:06.0&lt;br /&gt;
   e6000000-e6000fff : NVidia CK8S&lt;br /&gt;
 e6002000-e6002fff : 0000:00:02.0&lt;br /&gt;
   e6002000-e6002fff : ohci_hcd&lt;br /&gt;
 e6003000-e6003fff : 0000:00:02.1&lt;br /&gt;
   e6003000-e6003fff : ohci_hcd&lt;br /&gt;
 e6004000-e60040ff : 0000:00:02.2&lt;br /&gt;
   e6004000-e60040ff : ehci_hcd&lt;br /&gt;
 fec00000-fec00fff : reserved&lt;br /&gt;
 fee00000-feefffff : reserved&lt;br /&gt;
 fefffc00-feffffff : reserved&lt;br /&gt;
 ffff0000-ffffffff : reserved&lt;br /&gt;
&lt;br /&gt;
=Sysctl=&lt;br /&gt;
&lt;br /&gt;
Consulteu l'article [[Sysctl._Tunning_del_kernel | Sysctl. Tunning del kernel]]&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
*http://gentoo-wiki.com/FAQ_Linux_Memory_Management&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Cablatge_Estructurat_de_xarxa</id>
		<title>Cablatge Estructurat de xarxa</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Cablatge_Estructurat_de_xarxa"/>
				<updated>2008-03-31T17:45:37Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: /* Recursos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El cablatge estructurat es defineix com el sistema col·lectiu de cables, canalitzacions, connectors, etiquetes, espais i resta de dispositius que han de ser instal·lat per establir una infraestructura de telecomunicacions en un edifici, conjunt d'edificis o campus. Les característiques i instal·lació d'aquests elements s'ha de fer seguint un sèrie d'estàndards per tal que puguin ser qualificats com a cablejat estructurat. &lt;br /&gt;
&lt;br /&gt;
Els avantatges d'utilitzar cablatge estructurat són:&lt;br /&gt;
&lt;br /&gt;
*Independència de proveïdor i protocols (infraestructura genérica)&lt;br /&gt;
*Flexibilitat d'instal·lació&lt;br /&gt;
*Capacitat de creixement i escalabilitat &lt;br /&gt;
*Facilitat d'administració&lt;br /&gt;
&lt;br /&gt;
El cablatge estructurat consisteix en l'estesa de cables a l'interior d'un edifici amb el propòsit d'instal·lar una o vàries xarxes d'àrea local. Les xarxes solen ser xarxes Ethernet IEE 802.3 (o variants IEE 802.x) però no obstant, també pot tractar-se de xarxes de fibra òptica o coaxial.&lt;br /&gt;
&lt;br /&gt;
=Descripció=&lt;br /&gt;
&lt;br /&gt;
Al 1991 l'associació d'indústries electròniques van desenvolupar l'estàndard comercial de telecomunicacions EIA/TIA568. Aquest estàndard especifica com ha de ser el:&lt;br /&gt;
&lt;br /&gt;
*Cablatge horitzontal&lt;br /&gt;
*Cablatge troncal (&amp;quot;backbone&amp;quot;)&lt;br /&gt;
*Cablatge d'interiors: rosetes d'estacions de treball, cablatge i connectors.&lt;br /&gt;
&lt;br /&gt;
Al 1991 quan es va desenvolupar aquest estàndard els cables UTP estaven en desenvolupament.&lt;br /&gt;
&lt;br /&gt;
Més tard es van presentar el estandards&lt;br /&gt;
&lt;br /&gt;
*TSB36 y TSB40A para proveer lo cables UTP y especificaciones para conexiones del hardware, definiendo él número de propiedades físicos y eléctricos particularmente para atenuaciones y crostock, el revisado estandart fue designado &amp;quot;ANSI/TIA/EIA568A&amp;quot;, el cual incorpora la forma original de EIA/TIA568 más TSB36 aprobado en TSB40A.&lt;br /&gt;
&lt;br /&gt;
Actualment s'utilitzen sobretot [[Nivell_d%27interf%C3%ADcie_de_xarxa_TCP/IP#Cables_de_parells_creuats_sense_protecci.C3.B3_electromagn.C3.A8tica_.28UTP._Unshielded_Twisted_Pair.29 | cables UTP]] pels avantatges que podeu llegir a l'enllaç anterior i la seva facilitat d'instal·lació.&lt;br /&gt;
&lt;br /&gt;
El cablatge estructurat permet les comunicacions de veu i dades, pensat per a la convivència de:&lt;br /&gt;
*Xarxes d'àrea local&lt;br /&gt;
*Xarxa de veu. Centrals Telefòniques&lt;br /&gt;
*Fax&lt;br /&gt;
*Videoconferència&lt;br /&gt;
*Intranet i Internet&lt;br /&gt;
&lt;br /&gt;
El tendido de cable para una red de área local tiene cierta complejidad cuando se trata de cubrir áreas extensas tales como un edificio de varias plantas. En este sentido hay que tener en cuenta las limitaciones de diseño que impone la tecnología de red de área local que se desea implantar:&lt;br /&gt;
&lt;br /&gt;
*La segmentación del tráfico de red.&lt;br /&gt;
*La longitud máxima de cada segmento de red.&lt;br /&gt;
*La presencia de interferencias electromagnéticas.&lt;br /&gt;
*La necesidad de redes locales virtuales.&lt;br /&gt;
*Etc.&lt;br /&gt;
&lt;br /&gt;
El cablatge estructurat en un edifici és basa en dues parts:&lt;br /&gt;
&lt;br /&gt;
*L'estesa de cables a cada planta de l'edifici.&lt;br /&gt;
*Interconnectar els cables de cada planta.&lt;br /&gt;
&lt;br /&gt;
==Cablatge horitzontal o &amp;quot;de planta&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
*Punts de connexió terminals o rosetes&lt;br /&gt;
*Estesa de cables per canals o sostres o terres fals&lt;br /&gt;
*Cada planta té un o més armaris de distribució i sempre hi ha com a mínim un armari de distribució de planta&lt;br /&gt;
&lt;br /&gt;
 '''NOTA''': Cal fer notar que el cablatge estructurat s'encarrega de les parts fixes de la xarxa i es per aquesta raó que el cablatge estructurat acaba als punts de connexió terminals o rosetes i no inclou els latiguillos que connecten els nodes de xarxa (PC, telèfon, etc.) amb les rosetes.&lt;br /&gt;
&lt;br /&gt;
==Cablatge vertical o &amp;quot;troncal&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Els armaris de distribució de planta es connecten entre si mitjançant un altre conjunt de cables que travessen verticalment l'edifici. Tots aquest cables acaben en un sala anomenada Sala de Comunicacions. Aquí sovint és on se situen les infraestructures de telecomunicacions (pasarel·les a xarxes WAW com Internet o a altres xarxes com pot ser la xarxa telefònica). També potser el lloc on se situa el Centre de Processament de Dades o Centre de Càlcul on típicament se situen el servidors i altres màquines de la xarxa.&lt;br /&gt;
&lt;br /&gt;
El cablatge vertical doncs, compleix amb la funció de cablatge troncal. Cal fer notar que en aquest cablatge es concentra tot el tràfic de totes les plantes i per tant és recomanable utilitzar tècniques de major capacitat que les utilitzades en la distribució en planta com pot ser Fibra Òptica (FDDI) o tècnologia Gigabit Ethernet.&lt;br /&gt;
&lt;br /&gt;
==Subsistemes de cablatge estructurat==&lt;br /&gt;
&lt;br /&gt;
El cablatge estructurat esta format per diversos subsitemes:&lt;br /&gt;
&lt;br /&gt;
*Sistema de cablatge troncal (vertical)&lt;br /&gt;
*Sistema de cablatge horizontal&lt;br /&gt;
* Salida de área de trabajo.&lt;br /&gt;
* Cuarto o espacio de telecomunicaciones.&lt;br /&gt;
* Cuarto o espacio de equipo.&lt;br /&gt;
* Cuarto o espacio de entrada de servicios.&lt;br /&gt;
*Administració, etiquetat i proves.&lt;br /&gt;
*Sistemes de posta a terra per a telecomunicacions.&lt;br /&gt;
&lt;br /&gt;
==Estàndards==&lt;br /&gt;
&lt;br /&gt;
Hi han molts estàndards relacionats amb el cablatge estructurat però el més important és:&lt;br /&gt;
*[http://es.wikipedia.org/wiki/TIA/EIA-568-B TIA/EIA-568-B]&lt;br /&gt;
&lt;br /&gt;
Podeu consultar una llista completa a [http://es.wikipedia.org/wiki/Cableado_estructurado#Est.C3.A1ndares_de_Cableado_Estructurado | Est.C3.A1ndares_de_Cableado_Estructurado]&lt;br /&gt;
&lt;br /&gt;
=Recursos=&lt;br /&gt;
*[http://www.xtec.net/formaciotic/suport/htm/administraciodexarxes/configuraciodelaxarxa/materials/cablatge/cablatge.pdf Cablatge estructura en un centre docent]&lt;br /&gt;
*http://www.xtec.cat/formaciotic/dvdformacio/materials/td129/d129m5/d129m5p3.htm&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Electronic_Industries_Alliance EIA (Electronic_Industries_Alliance) a la wikipedia anglès]&lt;br /&gt;
*[http://es.wikipedia.org/wiki/Electronic_Industries_Alliance EIA (Electronic_Industries_Alliance) a la wikipedia castellà]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Structured_cabling Structured_cabling a la wikipedia]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/TIA/EIA-568-B TIA/EIA-568-B]&lt;br /&gt;
*[http://es.wikipedia.org/wiki/TIA/EIA-568-B TIA/EIA-568-B]&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Codecs,_formats_de_codificaci%C3%B3_i_contenidors</id>
		<title>Codecs, formats de codificació i contenidors</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Codecs,_formats_de_codificaci%C3%B3_i_contenidors"/>
				<updated>2008-01-10T12:05:15Z</updated>
		
		<summary type="html">&lt;p&gt;Sergi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=NOTA=&lt;br /&gt;
&lt;br /&gt;
Extret d'un correu d'Orestes Mas a la llista pública d'ubuntu-cat.&lt;br /&gt;
&lt;br /&gt;
=Formats de codificació=&lt;br /&gt;
&lt;br /&gt;
El format (de codificació) és el mètode que s'utilitza per desar el vídeo al &lt;br /&gt;
disc, ja sigui sense comprimir o comprimit. Exemples de formats poden ser &lt;br /&gt;
CorePNG o Huffyuv (sense pèrdues, poc usats) o també mjpeg, mpeg-2, MPEG-4 &lt;br /&gt;
(ASP i AVC), theora, RealVideo,o dvvideo (amb pèrdues). També hi ha formats &lt;br /&gt;
per àudio, com mp3, AC3 (dolby), RealAudio o ogg vorbis.&lt;br /&gt;
 &lt;br /&gt;
=Codecs=&lt;br /&gt;
&lt;br /&gt;
S'anomena codec al _programa_ que s'encarrega de codificar i descodificar el &lt;br /&gt;
vídeo en el format desitjat. A vegades el còdec adopta el nom del format &lt;br /&gt;
(d'aquí la majoria de confusions), però no sempre. Per exemple, DivX i XviD &lt;br /&gt;
són dos codecs que poden codificar i descodificar vídeo en format (estàndard) &lt;br /&gt;
MPEG-4 ASP, i que són compatibles entre sí (encara que no al 100% perquè no &lt;br /&gt;
tots respecten l'estàndard al 100%). Per àudio igual: per exemple, LAME és un &lt;br /&gt;
codec que codifica àudio al format mp3, però no és l'únic que ho fa.&lt;br /&gt;
&lt;br /&gt;
=Contenidors=&lt;br /&gt;
 &lt;br /&gt;
Finalment, un contenidor és un format de fitxer que ha de resoldre el &lt;br /&gt;
problema d'ajuntar el vídeo, l'àudio (1 o més canals) i els subtítols (si &lt;br /&gt;
s'escau) de forma completament sincronitzada. Hi ha contenidors, com MPEG, &lt;br /&gt;
que només estan pensats per contenir vídeo i àudio en formats de la família &lt;br /&gt;
mpeg, però la majoria de contenidors poden contenir fluxes en diversos &lt;br /&gt;
formats. Per exemple, un AVI pot contenir vídeo en mjpeg o en mpeg-4.&lt;br /&gt;
Els contenidors més populars són: ASF, AVI, WMV (els 3 de Microsoft), Matroska &lt;br /&gt;
(MKV), Ogg Media (OGM), Quicktime (.MOV), RealMedia (.RM), Flash (.FLV), DV &lt;br /&gt;
etc...&lt;br /&gt;
 &lt;br /&gt;
=Referències=&lt;br /&gt;
 &lt;br /&gt;
*[1] http://en.wikipedia.org/wiki/Template:Compression_Methods&lt;br /&gt;
*[2] http://en.wikipedia.org/wiki/Template:Compression_Formats&lt;br /&gt;
*[3] http://en.wikipedia.org/wiki/Comparison_of_video_codecs&lt;br /&gt;
*[4] http://www.avidemux.org/admWiki/index.php?title=Common_myths&lt;/div&gt;</summary>
		<author><name>Sergi</name></author>	</entry>

	</feed>