<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Sessi%C3%B3_4</id>
	<title>Sessió 4 - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Sessi%C3%B3_4"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Sessi%C3%B3_4&amp;action=history"/>
	<updated>2026-08-30T08:42:21Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Sessi%C3%B3_4&amp;diff=674&amp;oldid=prev</id>
		<title>Joan a 17:19, 13 nov 2008</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Sessi%C3%B3_4&amp;diff=674&amp;oldid=prev"/>
		<updated>2008-11-13T17:19:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;SESSIÓ 4. 18/01/2008&lt;br /&gt;
&lt;br /&gt;
=====================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aclaracions Sessió 2&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
-UDEV: és el device manager per al Kernel 2.6.&lt;br /&gt;
&lt;br /&gt;
S'encarrega de muntar els dispositius.&lt;br /&gt;
&lt;br /&gt;
Els dispositius van a la carpeta dev (això ho diu el FHS, File Hierarchy System)&lt;br /&gt;
&lt;br /&gt;
Els dispositius, en la carpeta dev, estan marcats com a c (crw-rw---)&lt;br /&gt;
&lt;br /&gt;
El UDEV és el que diu que el nostre dispositiu de xarxa es digui eth1 i no eth0.&lt;br /&gt;
&lt;br /&gt;
Les interfícies de xarxa són una mica especials, perquè la xarxa ja està dins el kernel. Per tant, no esperem veure un dispositiu-fitxer que es digui eth1.&lt;br /&gt;
&lt;br /&gt;
fitxers de configuració:&lt;br /&gt;
&lt;br /&gt;
/etc/udev/rules.d/70-persistent-net.rules&lt;br /&gt;
&lt;br /&gt;
/etc/udev/rules.d/z25_persistent-net.rules -&amp;gt; troba 3 MAC, i a una de les MAC li associa eth1 (aquest fitxer el genera automàticament). Si canvia la MAC, en el fitxer es genera de forma automàtica una nova línia i el número de eth puja. Això pot passar quan canvies la targeta de xarxa, o quan fas una imatge i la volques sobre una altra màquina.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
en el fitxer interfaces no hi ha el eth1 sinó el eth0.&lt;br /&gt;
&lt;br /&gt;
Aleshores, com és que funciona? doncs perquè qui ens configura la xarxa és el Network Manager (a la barra de dalt, un ratolí que surt-diferent entre Debian i Ubuntu).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
ifup/ifdown -&amp;gt; només es poden aplicar sobre interfícies que estan en el fitxer d'interfaces. La nostra eth1 no està en aquest fitxer.&lt;br /&gt;
&lt;br /&gt;
sudo ifup eth1 -&amp;gt; Ignoring unknown interface eth1=eth1&lt;br /&gt;
&lt;br /&gt;
sudo ifup eth0 -&amp;gt; intenta fer-ho (està en el fitxer interfaces), però no la troba físicament &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
això está documentat en la documentació del curs:&lt;br /&gt;
&lt;br /&gt;
ttp://atenea.upc.edu/moodle/course/view.php?id=13593&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Documentació Xarxes Linux (wiki)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sessió 4 18-01-2008&lt;br /&gt;
&lt;br /&gt;
==============================&lt;br /&gt;
&lt;br /&gt;
VIRTUAL BOX (màquina virtual)&lt;br /&gt;
&lt;br /&gt;
L'altra dia el Sergi no podia instalar el Virtual Box per culpa del REMBO (ara ja està solucionat)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REMBO -&amp;gt; sistema per carregar imatges (no-lliure, val força pasta).&lt;br /&gt;
&lt;br /&gt;
és el sistema que tenen a la UPC. Les imatges es guarden en el servidor.&lt;br /&gt;
&lt;br /&gt;
El problema són les actualitzacions. La carrega del sistema es fa des del servidor.&lt;br /&gt;
&lt;br /&gt;
uname -r -&amp;gt; dóna la versió del Kernel &lt;br /&gt;
&lt;br /&gt;
no coincideix amb la versió del kernel que vam configurar en la sessió 3 (2.6.18-5)&lt;br /&gt;
&lt;br /&gt;
Quan es desenvolupa un projecte Linux (i altres) es guarda en sistemes CVS/SUBVERSION, de manera que es pot consultar els fonts del projecte en una versió anterior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo apt-cache search linux-headers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
VMWare és l'altre conegut, però el Virtual Box és lliure i hi ha altres detalls que van molt bé (per ex, canviar de la màquina virtual al Host).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per instal.lar el Virtual Box necessitem:&lt;br /&gt;
&lt;br /&gt;
-haver solucionat el tema del REMBO&lt;br /&gt;
&lt;br /&gt;
-necessita linux-headers&lt;br /&gt;
&lt;br /&gt;
-instal.lar el mòdul vboxdrv (intenta comunicar el hardware virtual amb el hardware real) -&amp;gt; el virtual box utilitza el hardware real.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La majoria de les aplicacions, amb els linux-headers en tenen prou per a compilar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
la versió que estem utilitzant de Debian és etch (a Ubuntu: feisty)&lt;br /&gt;
&lt;br /&gt;
des de la pàgina web del curs (Atenea), on posa documentació del curs va a la wiki del Sergi tur. Aquí hi ha un cercador que pots posar Virtual Box&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hem d'afegir un repositori al fitxer /etc/apt/sources.list:&lt;br /&gt;
&lt;br /&gt;
gksu gedit /etc/apt/sources.list (gedit és el editor, gksu és per obrir el fitxer en mode root)&lt;br /&gt;
&lt;br /&gt;
afegeixo la línia:&lt;br /&gt;
&lt;br /&gt;
deb http://www.virtualbox.org/debian etch non-free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
instal.lo el virtual box:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install virtualbox (en algun lloc ha de posar linux-headers)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I finalment per tal de poder utilitzar VirtualBox ens hem d'afegir al grup vboxusers:&lt;br /&gt;
&lt;br /&gt;
$groups -&amp;gt; ens diu els grups als quals estem&lt;br /&gt;
&lt;br /&gt;
ens afegima al grup:&lt;br /&gt;
&lt;br /&gt;
$ sudo usermod -a -G vboxusers cursice&lt;br /&gt;
&lt;br /&gt;
si faig groups, encara no se n'entera. He de reiniciar l'entorn gràfic, o bé l'ordinador.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ara ja puc fer groups, i efectivament s'ha afegit&lt;br /&gt;
&lt;br /&gt;
NOTA. És important treballar amb el usuari cursice, i per això poso al davant sudo. Aquesta ha de ser la regla general.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
queda instal.lat a eines del sistema els fitxers del virtual box són .vdi -&amp;gt; un vdi és una imatge de disc virtual. El Sergi ha creat aquest fitxer de la seva màquina, i nosaltres quan importem aquest fitxer vdi com estiguéssim en la seva màquina.&lt;br /&gt;
&lt;br /&gt;
el virtual box suporta els fitxers del vmware (.vmdk), però no es pot fer alguna cosa.&lt;br /&gt;
&lt;br /&gt;
els vdi files estan a /home/cursice/.VirtualBox/VDI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
anem a http://147.83.75.130/&lt;br /&gt;
&lt;br /&gt;
http://147.83.75.130/~sergi&lt;br /&gt;
&lt;br /&gt;
~(AltGr-4) ~sergi significa que té un directori&lt;br /&gt;
&lt;br /&gt;
html-public dins de l'apache&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Espacio web para cada usuario&lt;br /&gt;
&lt;br /&gt;
Cada usuario del sistema dispondrá de un espacio web que se almacena dentro de su carpeta home en una carpeta llamada 'public_html'. Si dicha carpeta no existe, el propio usuario puede crearla y copiar dentro de ella su página web. Los permisos recomendados son 644 para que el 'grupo' y el 'resto' de usuarios tengan acceso de lectura y así se puedan visualizar las páginas.&lt;br /&gt;
&lt;br /&gt;
Para acceder vía web a la página de un usuario, desde un navegador debemos acceder directamente con la dirección IP a: http://ip-del-servidor/login-usuario/&lt;br /&gt;
&lt;br /&gt;
El caracter ''comúnmente conocido como gusanillo y que se obtiene con Alt Gr + 4 sirve para indicar a apache que debe servir la página desde el home del usuario (en Linux el 'gusanillo' equivale a la carpeta home). Ejemplo, si hemos creado un usuario javier y éste ha creado la carpeta /home/javier/public_html y ha copiado en ella su página web, desde cualquier PC de la red podremos acceder a dicha carpeta yendo a la dirección http://ip-del-servidor/javier/. Para que la página aparezca automáticamente, es necesario crear un archivo llamado index.html&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
aquí trobem el fitxer de configuració que necessitem:&lt;br /&gt;
&lt;br /&gt;
IPCOP1.vdi&lt;br /&gt;
&lt;br /&gt;
creem la carpeta dins el home:&lt;br /&gt;
&lt;br /&gt;
$mkdir MaquinesVirtuals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
copiem el fitxer de configuració en aquesta carpeta:&lt;br /&gt;
&lt;br /&gt;
$wget http://147.83.75.130/~sergi/IPCOP1.vdi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fem el mateix per als fitxers .sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
donem d'ata una nova màquina virtual (per ex, li diem JOAN).&lt;br /&gt;
&lt;br /&gt;
Treballem en un Linux 2.6&lt;br /&gt;
&lt;br /&gt;
fiquem la RAM. Per ex, 100MB per al IPCOP&lt;br /&gt;
&lt;br /&gt;
Busquem un disc dur existent, i seleccionem el fitxer vdi que tenim&lt;br /&gt;
&lt;br /&gt;
No agafem USB per defecte.&lt;br /&gt;
&lt;br /&gt;
vdi-&amp;gt; imatge de disc virtual&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Les màquines virtuals es convertiran en una eina imprescindible per treballar a l'aula, per exemple per explicar xarxes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Analitzadors de xarxa (sniffer)&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
tcpdump (a windows hi ha el windump), ethereal&lt;br /&gt;
&lt;br /&gt;
mode promiscu: llegim tots els paquets que circulen per la xarxa. Amb un Switch això ja no és cert, doncs només captures els paquets que vinguin o vagin a la teva xarxa, o els paquets broadcast.&lt;br /&gt;
&lt;br /&gt;
Un Hub és com un lladre de xarxa: tot està connectat amb tot.&lt;br /&gt;
&lt;br /&gt;
Un Switch és més intel.ligent&lt;br /&gt;
&lt;br /&gt;
Hi ha eines que enganyen el switch per poder rebre tota la informació.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(mirem les transparències de la sessió 2:&lt;br /&gt;
&lt;br /&gt;
protocols_de_xarxes_unix.odp) &lt;br /&gt;
&lt;br /&gt;
Instal.lem el tcpdump:&lt;br /&gt;
&lt;br /&gt;
$sudo apt-get install tcpdump&lt;br /&gt;
&lt;br /&gt;
El ping utilitza el protocol ICMP&lt;br /&gt;
&lt;br /&gt;
utiltizem el tcpdump filtrant:&lt;br /&gt;
&lt;br /&gt;
$sudo tcpdump -i eth1 icmp&lt;br /&gt;
&lt;br /&gt;
$sudo tcpdump -i lo icmp -&amp;gt; lo: loopback. per capturar&lt;br /&gt;
&lt;br /&gt;
un ping localhost&lt;br /&gt;
&lt;br /&gt;
-n per tal que no faci la resolució de DNS, que només&lt;br /&gt;
&lt;br /&gt;
es vegi la IP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ethereal ha canviat el nom. Ara es diu WireShark&lt;br /&gt;
&lt;br /&gt;
$sudo apt-get install wireshark&lt;br /&gt;
&lt;br /&gt;
és una eina gràfica&lt;br /&gt;
&lt;br /&gt;
pràctica recomanada: &lt;br /&gt;
&lt;br /&gt;
hem de capturar&lt;br /&gt;
&lt;br /&gt;
http://acacha.dyndns.org/~sergi/privat&lt;br /&gt;
&lt;br /&gt;
i ficar un usuari i un password, i veure com el ethereal ha capturat el login i password&lt;br /&gt;
&lt;br /&gt;
el password està a la capçalera del protocol HTTP -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
trobar-lo&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
&lt;br /&gt;
        GET /~sergi/privat HTTP/1.1\r\n&lt;br /&gt;
&lt;br /&gt;
                Host: acacha.dyndns.org\r\n&lt;br /&gt;
&lt;br /&gt;
                ...&lt;br /&gt;
&lt;br /&gt;
                Authorization: Basic am9hbjoxNzMy\r\n&lt;br /&gt;
&lt;br /&gt;
                        Credentials: joan:****&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; ja ho he trobat&lt;br /&gt;
&lt;br /&gt;
en la finestra intermitja apareixen diferents línies per cada paquet, que és una línia per cada capa OSI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SOHO: small office home office (petites empreses i ordinadors domèstics)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables: important&lt;br /&gt;
&lt;br /&gt;
sudo iptables -L&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; t'ensenya les normes que tens a la teva màquina&lt;br /&gt;
&lt;br /&gt;
Resultat: input, forward i output són acceptats (política per defecte, acceptar-ho tot)&lt;br /&gt;
&lt;br /&gt;
sudo iptables -L -t nat -&amp;gt; per defecte està buit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sessió 4 (continuació). 25/01/2007&lt;br /&gt;
&lt;br /&gt;
===================================&lt;br /&gt;
&lt;br /&gt;
(seguim les transparències)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
la comanda ping no utilitza ports. Utilitza protocol icmp.&lt;br /&gt;
&lt;br /&gt;
La manera de filtrar el ping en la màquina local és filtrar tot el protocol:&lt;br /&gt;
&lt;br /&gt;
$sudo iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP&lt;br /&gt;
&lt;br /&gt;
(localhost està associat a la loopback, lo)&lt;br /&gt;
&lt;br /&gt;
ping localhost no va&lt;br /&gt;
&lt;br /&gt;
ping meva_ip sí que va (147.83.75.132)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
i bloquejar els pings que vinguin d'una màquina remota&lt;br /&gt;
&lt;br /&gt;
$sudo iptables -A INPUT -s ip_company -p icmp -j DROP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$sudo iptables -L -&amp;gt; veig les regles que he ficat en el meu iptables. Quan reinicio l'ordinador es perden. La manera de fer-ho fix és ficar-ho en un fitxer de configuració (que veurem).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
en source (-s) puc ficar xarxes, per bloquejar una xarxa o subxarxa. Per ex: -s 147.83.75.129/25&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tcpdump ens serveix per veure els paquets que estan passant per una interfície:&lt;br /&gt;
&lt;br /&gt;
$sudo tcpdump -i lo icmp (només vull veure el protocol icmp)&lt;br /&gt;
&lt;br /&gt;
i faig un ping locahost&lt;br /&gt;
&lt;br /&gt;
amb el tcpdump rebo el ping, però no faig el reply. És a dir, el paquet sí que es rep, però no es processa.&lt;br /&gt;
&lt;br /&gt;
Si no hi ha filtre es veu la parella request-reply.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per debugar puc utilitzar el nmap (per escanejar ports):&lt;br /&gt;
&lt;br /&gt;
$sudo apt-get install nmap&lt;br /&gt;
&lt;br /&gt;
$sudo nmap localhost&lt;br /&gt;
&lt;br /&gt;
(en el cas del ping no em val, perquè el nmap fa referència a ports)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El iptables és ideal per fer pràctiques de classe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per esborrar una lína del iptables:&lt;br /&gt;
&lt;br /&gt;
$sudo iptables -D INPUT -s 147.83.75.132 -p icmp -j DROP&lt;br /&gt;
&lt;br /&gt;
$sudo iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(compte perquè si una norma la introdueixo dues vegades, l'he d'esborrar dues vegades)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per bloquejar un servei (un protocol, un port):&lt;br /&gt;
&lt;br /&gt;
$sudo iptables -A INPUT -s ip_company -p tcp --dport 22 -j DROP&lt;br /&gt;
&lt;br /&gt;
dport vol dir port de destí. També es pot filtrar per port d'origen, encara que no té massa sentit.&lt;br /&gt;
&lt;br /&gt;
Port 22: SSH, que funciona per TCP. Si fico el port, també he de ficar el protocol&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ip_company: 147.83.75.133&lt;br /&gt;
&lt;br /&gt;
$sudo iptables -A INPUT -s 147.83.75.133 -p tcp --dport 22 -j DROP&lt;br /&gt;
&lt;br /&gt;
ara si el company fa nmap sobre la meva màquinaveurà que tindrà filtrar el port 22:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
company$sudo nmap 147.83.75.132 (meva_ip)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Va molt bé per fer coses del tipus: permeto entrar a tots menys un. Per fer-ho al revés, utilitzo la negació lògica: !147.83.75.133 (només permeto a un)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diferència entre DROP i REJECT&lt;br /&gt;
&lt;br /&gt;
DROP: filtres el paquet, el llences, no fas cap reply&lt;br /&gt;
&lt;br /&gt;
REJECT: fas uns reply avisant de què no l'admets: Destination port unreachable&lt;br /&gt;
&lt;br /&gt;
(per fer el reject, s'ha d'esborrar el drop, si la teníem, i afegir el reject)&lt;br /&gt;
&lt;br /&gt;
$sudo iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP&lt;br /&gt;
&lt;br /&gt;
$sudo iptables -A INPUT -s 127.0.0.1 -p icmp -j REJECT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$sudo tcpdump -i lo icmp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Firewalls personal per a Linux: Firestater&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$sudo apt-get install firestarter&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; consultar que hi ha unes normes posades per defecte en el iptables&lt;br /&gt;
&lt;br /&gt;
per tal que funcioni s'ha de reiniciar la interfície gràfica (per ex, tancar la sessió)&lt;br /&gt;
&lt;br /&gt;
$sudo apt-get remove --purge firestarter&lt;br /&gt;
&lt;br /&gt;
Tenir engegat un firewall és una molèstia. --purge: borra les configuracions. És la manera que l'aplicació no deixi res a la màquina.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$sudo iptables -nvL -&amp;gt; dóna més informació, concretament nº de paquets o bytem filtrats (per defecte, només filtrats). la v és de verbose&lt;br /&gt;
&lt;br /&gt;
si ho combino amb el watch és una eina perfecta per depurar, doncs si va incrementant el nº de bytes vol dir que en aquest moment estic bloquejant.&lt;br /&gt;
&lt;br /&gt;
$sudo watch iptable -nvL (per defecte s'executa cada 2seg)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una possibilitat d'aplicació a l'aula és filtrar el messanger (port 1863)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$sudo iptables-save -&amp;gt; ens volca per la sortida estàndard les normes que tenim&lt;br /&gt;
&lt;br /&gt;
si fem una redirecció unix a un fitxer, aquesta és la base per guardar les normes de forma permanent.&lt;br /&gt;
&lt;br /&gt;
El contrari és iptables-restore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ echo &amp;quot;#!/bin/sh&amp;quot; &amp;gt; /etc/network/if-up.d/iptables&lt;br /&gt;
&lt;br /&gt;
$ echo &amp;quot;iptables-restore &amp;lt; /etc/firewall.conf&amp;quot; &amp;gt;&amp;gt; /etc/network/if-up.d/iptables&lt;br /&gt;
&lt;br /&gt;
$ chmod +x /etc/network/if-up.d/iptables&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Explicació:&lt;br /&gt;
&lt;br /&gt;
1a línia: escric la línia '#!/bin/sh', que vol dir que és un fitxer de bash, al fitxer iptables (es crea o existeix) que s'executarà en el if-up.d (tot el que hi ha aquí són scripts que s'executaran en iniciar la xarxa del sistema).&lt;br /&gt;
&lt;br /&gt;
2a línia: faig un iptables-restore de les normes que havia guardat en el fitxer firewall.conf&lt;br /&gt;
&lt;br /&gt;
el resultat ho afegeixo a  /etc/network/if-up.d/iptables&lt;br /&gt;
&lt;br /&gt;
3a línia. dono permisos d'execució&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si vull més seguretat, en comptes de posar-ho en el if-up ho poso en el if-pre-up&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hi ha altres maneres de fer el mateix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NAT (Network Address Translation)&lt;br /&gt;
&lt;br /&gt;
=================================&lt;br /&gt;
&lt;br /&gt;
la idea és compartir una IP pública connectada a Inet, amb tota la intranet que té IPs privades.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
veure la diferència entre el resultat de:&lt;br /&gt;
&lt;br /&gt;
ipcalc ip_privada&lt;br /&gt;
&lt;br /&gt;
ipcalc ip_publica&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
quan els paquets passen pel nostre router s'ha de fer una traducció.&lt;br /&gt;
&lt;br /&gt;
El router (per ex el de casa) té dues interfícies: la privada (192.168.0.1) i la pública (per ex 80.83.70.14, que pot ser fixa o dinàmica depenent del contracte)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SNAT (Source Nat)&lt;br /&gt;
&lt;br /&gt;
Si faig una petició d'una web a Inet, el meu paquet és:&lt;br /&gt;
&lt;br /&gt;
...|192.168.0.4|ip_dest www.google.es | dades&lt;br /&gt;
&lt;br /&gt;
i el que fa el router és traduir-ho per:&lt;br /&gt;
&lt;br /&gt;
...|80.83.70.14|ip_dest www.google.es | dades&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
el DNAT (Destination Nat) servei per tenir servidors dins la xarxa. Per ex, tenim un servidor web&lt;br /&gt;
&lt;br /&gt;
si rebo un paquet pel port 80, vull que es redireccioni a una ip de la xarxa:&lt;br /&gt;
&lt;br /&gt;
...|ip_origen|80.83.70.14| dades&lt;br /&gt;
&lt;br /&gt;
i el router es tradueix a (també es podria modificar el port):&lt;br /&gt;
&lt;br /&gt;
...|ip_origen|192.168.0.4| dades&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DNAT també es coneix com 'Obrir ports' (per ex, el EMule)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El router sempre deixa passar la informació de resposta d'alguna cosa que jo he demanat (per ex, petició d'una pàgina web). A aquest nivell no cal obrir el port 80. Això és perquè la ip d'origen sempre es guarda en el paquet, i quan faig una petició d'una web retorna a la màquina local correcta.&lt;br /&gt;
&lt;br /&gt;
Ara bé, quan hi ha una petició externa des de fora, s'ha d'obrir el port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un socket (endoll) és una IP+ un port (+ un protocol). La metàfora és:&lt;br /&gt;
&lt;br /&gt;
vols connectar dues màquines, les connectes (la IP i el port)&lt;br /&gt;
&lt;br /&gt;
el destination port (dport) és l'important. Per ex, 80, vull connectar-me a una web. &lt;br /&gt;
&lt;br /&gt;
Informació sobre tot això amb la comanda netstat:&lt;br /&gt;
&lt;br /&gt;
$sudo netstat --inet&lt;br /&gt;
&lt;br /&gt;
$sudo netstat --inet -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SNAT també es conegut com Masquerade&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
en la fase de postrouting totes les ip d'origen de la xarxa local (per ex, 192.168.1.5) en faré masquerade, que vol dir traduir-la per la ip pública. Com sé quina és la ip_pública: amb el eth0&lt;br /&gt;
&lt;br /&gt;
-o eth0 (output interface)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -A PREROUTNG -d 10.10.20.99 -j DNAT --to-destination 10.10.14.2&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiarse cualquier flujo de datos, generalmente de manera fiable y ordenada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que dos programas puedan comunicarse entre sí es necesario que se cumplan ciertos requisitos:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Que un programa sea capaz de localizar al otro.&lt;br /&gt;
&lt;br /&gt;
    * Que ambos programas sean capaces de intercambiarse cualquier secuencia de octetos, es decir, datos relevantes a su finalidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para ello son necesarios los tres recursos que originan el concepto de socket:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Un protocolo de comunicaciones, que permite el intercambio de octetos.&lt;br /&gt;
&lt;br /&gt;
    * Una dirección del Protocolo de Red (Dirección IP, si se utiliza el Protocolo TCP/IP), que identifica una computadora.&lt;br /&gt;
&lt;br /&gt;
    * Un número de puerto, que identifica a un programa dentro de una computadora.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los sockets permiten implementar una arquitectura cliente-servidor. La comunicación ha de ser iniciada por uno de los programas que se denomina programa cliente. El segundo programa espera a que otro inicie la comunicación, por este motivo se denomina programa servidor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un socket es un fichero existente en la máquina cliente y en la máquina servidora, que sirve en última instancia para que el programa servidor y el cliente lean y escriban la información. Esta información será la transmitida por las diferentes capas de red.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPCOP és una distribució Linux, que té serveis FireWall, DNS,...&lt;br /&gt;
&lt;br /&gt;
utilitzant el IPCOP amb una màquina virtual, puc fer pràctiques de xarxa de manera fàcil.&lt;br /&gt;
&lt;br /&gt;
hi ha la xarxa interna entre la màquina anfitriona i la màquina virtual. La màquina anfitriona fa de NAT, fa de router, i puc enviar les peticions de la màquina virtual cap a l'exterior.&lt;br /&gt;
&lt;br /&gt;
En la màquina virtual puc tenir un servidor web, i accedir-hi des de l'exterior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
un altre mode és el bridged: tant la màquina anfitriona com la màquina virtual estan a la mateixa xarxa, amb dos ip diferents.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veure la configuració del IPCOP a la wiki del curs (apartat 9.2)(http://acacha.dyndns.org/mediawiki/index.php/Virtual_Box)&lt;br /&gt;
&lt;br /&gt;
els fitxers de configuració estan a ~/MaquinesVirtuals&lt;br /&gt;
&lt;br /&gt;
modificar el fitxer setuptap.sh. Canviar sergi per cursice. canviar eth0 per eth1 (que és la meva interfície)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
instal.lar dos paquets:&lt;br /&gt;
&lt;br /&gt;
$sudo apt-get install uml-utilities bridge-utils&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
executar el scrpt:&lt;br /&gt;
&lt;br /&gt;
$sudo chmod +x setuptap.sh&lt;br /&gt;
&lt;br /&gt;
$sudo ./setuptap.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fent un ifconfig (en la màquina host), veiem que s'ha creat les interfícies br0 i tap0. Aquesta és la manera que tenen el VMware i el VirtualBox per utilitzar dues interfícies a partir d'una sola.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
aquests fitxers de configuració (.sh) es poden posar en el Virtual Box per tal que s'executin en l'inici de la màquina virtual.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fixar-se que ara la meva IP (147.83.75.132) la té la interfície br0&lt;br /&gt;
&lt;br /&gt;
En el Adaptador0 del VirtualBox fico el tap0&lt;br /&gt;
&lt;br /&gt;
des del IPCOP engegat, quan faig el ifconfig veix que hi ha dues IP en comptes d'una.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el Adaptador 0 es fica Interface Anfitrión, i en Adaptador 1 es fica NAT&lt;br /&gt;
&lt;br /&gt;
login i pwd de la màquina virtual: root/cursice o admin/cursice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un cop logat, s'ha de configurar la xarxa:&lt;br /&gt;
&lt;br /&gt;
$setup&lt;br /&gt;
&lt;br /&gt;
escollir xarxa, i seguir els passos&lt;br /&gt;
&lt;br /&gt;
xarxa RED+GREEN&lt;br /&gt;
&lt;br /&gt;
la xarxa verda és la intranet local&lt;br /&gt;
&lt;br /&gt;
la xarxa vermella és la que accedeix a Inet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
quan acabo, si acabo bé, fent el ifconfig veig que té dues interfícies. Una privada (147.83.75.170)i una pública (10.0.2.15).&lt;br /&gt;
&lt;br /&gt;
IPCOP és un paranoic de la seguretat, i tots els ports estan canviat. El port web és el 81&lt;br /&gt;
&lt;br /&gt;
El Sergi utilitza el IPCOP per fer pràctiques amb els alumnes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$clear -&amp;gt; esborrar pantalla&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>