Configuración básica de la red

Anuncio
Configuración básica de la red
Departamento de Sistemas Telemáticos y Computación (GSyC)
http://gsyc.urjc.es
Octubre de 2011
GSyC - 2011
Configuración básica de la red
1
c
2011
GSyC
Algunos derechos reservados.
Este trabajo se distribuye bajo la licencia
Creative Commons Attribution Share-Alike 3.0
GSyC - 2011
Configuración básica de la red
2
Nombres de máquinas
Nombre de la propia máquina
Nombre de la propia máquina
Hay dos maneras de cambiar el nombre de la máquina
1
Usar la orden hostname
hostname <nuevo_nombre_de_maquina>
2
El efecto es inmediato, pero se pierde al reiniciar
Modificar un fichero de configuración
/etc/HOSTNAME (Red Hat)
/etc/hostname (Debian)
/etc/config/system (OpenWrt)
El cambio es persistente, pero solo tiene efecto tras reiniciar
GSyC - 2011
Configuración básica de la red
3
Nombres de máquinas
Nombre de la propia máquina
El nombre cambiado de esta manera afecta al prompt, a la
variable de entorno HOSTNAME y poco más
(El prompt es la lı́nea que muestra la shell para indicar que
está a la espera de órdenes)
milogin@zeta40:~$
Los servicios de red no usan ni consultan este nombre, sino
que resuelven nombres en /etc/hosts o en el DNS
El usuario no suele percibir la diferencia porque lo normal y
razonable es usar el mismo nombre en /etc/hostname y en
/etc/hosts
Pero en una máquina a medio configurar podrı́an ser distintos
GSyC - 2011
Configuración básica de la red
4
Nombres de máquinas
Nombre de la propia máquina
Nombres de otras máquinas: /etc/hosts
El fichero /etc/hosts era la única manera de resolver nombres de
máquina cuando no existı́a DNS
127.0.0.1
82.159.1.186
212.128.4.4
193.147.73.136
localhost
mi_pc
pantuflo.es
zeta40.aulas.gsyc.es
pantuflo
zeta40
En la actualidad es útil para
Resolver direcciones que no están en ningún servidor de DNS
Resolver direcciones muy frecuentes sin usar su nombre de
dominio completo (FQDN)
Este fichero tiene precedencia sobre el DNS
Algunas aplicaciones exigen que tanto localhost como el nombre de
la máquina puedan resolverse
Su ubicación es la misma en prácticamente todas las distribuciones
Linux
GSyC - 2011
Configuración básica de la red
5
Nombres de máquinas
Nombre de la propia máquina
Servidores de DNS
Dentro de la URJC
193.147.184.2
193.147.184.11
En las redes domésticas normalmente podremos apuntar al
router proporcionado por el ISP, que frecuentemente tiene la
dirección
192.168.1.1
En otro lugar, debemos averiguar la dirección del servidor de
nuestro ISP
También podemos emplear (en cualquier parte) los servidores
de google
8.8.8.8
8.8.4.4
GSyC - 2011
Configuración básica de la red
6
Interfaces de red
Interfaces de red
El Hardware de red puede ser muy variable, pero en TCP/IP se
define un interfaz abstracto. Permite enviar y recibir paquetes
siempre de la misma forma, con independencia del tipo de
dispositivo
Interfaz loopback: lo
Interfaces ethernet: eth0, eth1, eth2,...
Interfaces wifi: wlan0, wlan1...
Pueden tener otros nombres, dependiendo del driver
Interfaces ppp (teléfonos fijos o móviles):
ppp0, ppp1, ppp2,...
GSyC - 2011
Configuración básica de la red
7
Interfaces de red
Cada máquina normalmente tendrá varios interfaces
Según el diseño original de IPv4, cada interfaz tiene
exactamente 1 dirección
En rigor, las máquinas no tienen dirección IP. (Pertenecen a
los interfaces)
GSyC - 2011
Configuración básica de la red
8
Interfaces de red
El interfaz lo
El interfaz lo
En las máquinas tipo Unix al interfaz loopback se le suele llamar lo
Es un interfaz especial, virtual. Se usa para establecer
conexiones dentro de una misma máquina,
En /etc/hosts tiene que haber una entrada para la dirección
127.0.0.1 asociada al nombre localhost
Que no debe mezclarse con la entrada para el nombre y
dirección ordinario
Ejemplo correcto:
127.0.0.1
193.147.73.136
localhost
zeta40.aulas.gsyc.es
zeta40
Ejemplo INCORRECTO
127.0.0.1
GSyC - 2011
localhost
zeta40
# ESTO ES UN ERROR!!
Configuración básica de la red
9
Interfaces de red
El interfaz lo
Las tramas con destino a lo no se envı́an a ningún dispositivo
de red fı́sico, permanecen dentro de la red interna de la
máquina
Es necesario que lo siempre esté activo, incluso cuando se
identifique a la máquina con una dirección de un rango
distinto
Ejemplo: Si desactivamos lo y desde una máquina con
dirección 193.147.73.136 enviamos un ping a la propia
193.147.73.136 , no habrá respuesta
GSyC - 2011
Configuración básica de la red
10
Interfaces de red
Nombre y estado de los interfaces
Nombre y estado de los interfaces
Para conocer los nombres de los interfaces reconocidos por el
núcleo, podemos hacer búsquedas sobre los mensajes del proceso
de arranque
dmesg | grep eth
dmesg | grep ath
dmesg | grep wlan
Para conocer el estado actual de los interfaces activos (solo de los
activos) podemos usar la orden ifconfig, sin argumentos
GSyC - 2011
Configuración básica de la red
11
Interfaces de red
Nombre y estado de los interfaces
koji@mazinger:~$ ifconfig
eth0
Link encap:Ethernet direcciónHW 00:23:8b:26:b5:81
Direc. inet:193.147.71.119 Difus.:193.147.71.127 Másc:255.25
Dirección inet6: fe80::223:8bff:fe26:b581/64 Alcance:Enlace
ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1
Paquetes RX:5321 errores:0 perdidos:0 overruns:0 frame:5
Paquetes TX:82 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:1000
Bytes RX:438333 (438.3 KB) TX bytes:13002 (13.0 KB)
eth1
Link encap:Ethernet direcciónHW 00:21:00:8b:77:2a
Dirección inet6: fe80::221:ff:fe8b:772a/64 Alcance:Enlace
ACTIVO DIFUSIÓN MULTICAST MTU:1500 Métrica:1
Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:1000
Bytes RX:0 (0.0 B) TX bytes:0 (0.0 B)
lo
Link encap:Bucle local
Direc. inet:127.0.0.1 Másc:255.0.0.0
[...]
GSyC - 2011
Configuración básica de la red
12
Interfaces de red
Nombre y estado de los interfaces
iwconfig
En el caso de interfaces inalámbricos, podemos tener información
adicional con la orden iwconfig
koji@mazinger:~$ iwconfig
lo
no wireless extensions.
eth0
no wireless extensions.
eth1
IEEE 802.11 Access Point: Not-Associated
Link Quality:5 Signal level:0 Noise level:0
Rx invalid nwid:0 invalid crypt:0 invalid misc:0
GSyC - 2011
Configuración básica de la red
13
Interfaces de red
Nombre y estado de los interfaces
Configuración de los interfaces de red
Hay dos maneras de configurar los interfaces de red: con
herramientas de bajo nivel o con herramientas de alto nivel. No
deben usarse ambos métodos simultáneamente
Con herramientas de bajo nivel:
El administrador invoca a
ifconfig, route pasando párametros directamente. Esta
configuración se pierde al reiniciar la máquina.
GSyC - 2011
Configuración básica de la red
14
Interfaces de red
Nombre y estado de los interfaces
Configuración de alto nivel
El administrador (o algunos demonios) editan ciertos ficheros de
configuración, especificando todos los parámetros de los interfaces
La ubicación y el formato de estos ficheros es variable
Sistemas basado en Red Hat
/etc/sysconfig/network-scripts
Sistemas basados en Debian
/etc/network
OpenWrt
/etc/config
GSyC - 2011
Configuración básica de la red
15
Interfaces de red
Nombre y estado de los interfaces
Modificar los ficheros de configuración, sin más, no provoca ningún
efecto. Es necesario desactivar el interfaz (si estaba activo) y
volverlo a activar
ifdown eth0
Desactiva el interfaz eth0
ifup eth0
Activa el interfaz eth0, atendiendo a lo indicado en el fichero
de configuración
GSyC - 2011
Configuración básica de la red
16
Interfaces de red
Nombre y estado de los interfaces
Otra manera de que los cambios en el fichero de configuración
pasen a tener efecto es reiniciar el demonio de red
/etc/init.d/networking stop
/etc/init.d/networking start
O lo que es lo mismo
/etc/init.d/networking restart
GSyC - 2011
Configuración básica de la red
17
Interfaces de red
Interfaces de red en Debian/Ubuntu
Interfaces de red en Debian/Ubuntu
Fichero /etc/network/interfaces
Interfaz lo
auto lo
iface lo inet loopback
Configuración estática (fijada a mano por el administrador)
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
8.8.8.8
8.8.4.4
Configuración dinámica (DHCP)
auto eth1
iface eth1 inet dhcp
GSyC - 2011
Configuración básica de la red
18
Interfaces de red
Interfaces de red en Debian/Ubuntu
Se pueden poner comentarios con #, pero solo a comienzo de
lı́nea
auto eth0
Todos los interfaces precedidos por auto se activan
automáticamente al hacer ifup -a
(El sistema hace ifup -a cada vez que se inicia)
GSyC - 2011
Configuración básica de la red
19
Interfaces de red
Interfaces de red en Debian/Ubuntu
El lugar tradicional para especificar la dirección de los
servidores de DNS es el fichero /etc/resolv.conf
nameserver 193.147.184.2
nameserver 8.8.8.8
Las distribuciones actuales suelen usar la aplicación resolvconf,
que modifica dinámicamente /etc/resolv.conf a partir de
la opción dns-nameservers de /etc/network/interfaces
o del resultado de las consultas DHCP
En un ubuntu actual administrado desde la shell, es
recomendable especificar los servidores de DNS en ambos
sitios, en /etc/resolv.conf y en
/etc/network/interfaces
GSyC - 2011
Configuración básica de la red
20
Interfaces de red
Interfaces de red en Debian/Ubuntu
Interfaces Inalámbricos
Para configurar una red WiFi (abierta o WEP) los parámetros son:
wireless-essid mi identificador de red
wireless-mode [Ad-Hoc|Managed]
Ad-Hoc: Sin Access Point
Managed: Con Access Point
wireless-key mi clave
wireless-keymode [restricted|open]
restricted: El interfaz solo acepta conexiones encriptadas
open: El interfaz acepta conexiones de cualquier tipo
wireless-channel mi canal
GSyC - 2011
Configuración básica de la red
21
Interfaces de red
Interfaces de red en Debian/Ubuntu
Ejemplo:
iface wlan0 inet dhcp
wireless-essid WLAN_01
wireless-mode Managed
wireless-key 58303030313338345630443031
wireless-keymode open
wireless-channel 6
El essid es sensible a mayúsculas/minúsculas
GSyC - 2011
Configuración básica de la red
22
Interfaces de red
Interfaces de red en Debian/Ubuntu
Red con seguridad WPA/WPA2
Es necesario tener instalado el paquete wpasupplicant
auto wlan0
iface wlan0 inet dhcp
wpa-ssid mi_identificador_de_red
wpa-psk mi_clave
GSyC - 2011
Configuración básica de la red
23
Interfaces de red
Interfaces de red en OpenWrt
Interfaces de red en OpenWrt
Los interfaces de red en OpenWrt se configuran en
/etc/config/network:
Ejemplos:
Dirección estática
config interface
option ifname
option proto
option ipaddr
option netmask
option gateway
option dns
lan
eth0
static
192.168.1.1
255.255.255.0
192.168.1.254
192.168.1.254
Dirección dinámica (DHCP)
config interface lan
option ifname eth0
option proto dhcp
GSyC - 2011
Configuración básica de la red
24
Interfaces de red
Interfaces de red en OpenWrt
En OpenWRT es habitual agrupar los interfaces fı́sicos en puentes
(bridges)
Un puente es un interfaz virtual formado al agregar uno o más
interfaces fı́sicos
Usando puentes, ya no se puede aplicar ifup, ifdown al
interfaz fı́sico, sino al puente completo
El nombre del interfaz fı́sico que conocemos p.e. con
dmesg|grep eth ya no sirve. Tenemos que fijarnos en la
definición del puente (en /etc/config/network)
ifdown lan
ifup lan
GSyC - 2011
Configuración básica de la red
25
NAT: Network Address Translation
NAT: Network Address Translation
Según el diseño original de IPv4, todos los equipos están
conectados directamente a la red
Pero la escasez de direcciones IPv4 y la reticencia a desplegar
IPv6 ha hecho omnipresente el uso de NAT, que complica la
estructura de toda la red
GSyC - 2011
Configuración básica de la red
26
NAT: Network Address Translation
Puertos
Puertos
En el nivel de red, la dirección IP identifica el interfaz de una
máquina.
Dentro de una máquina, es necesario distinguir un proceso de
otro. Por eso el nivel de transporte introduce el concepto de
puerto
En cada dirección se distinguen 65535 puertos TCP y 65535
puertos UDP Cada servicio tiene asociado un puerto por
omisión. (En Unix puede consultarse el fichero
/etc/services)
Es habitual, aunque no obligatorio, que se reserve tanto el
puerto TCP como el UDP para el mismo servicio
En los puertos hasta el 1023, inclusive, solo pueden atarse
procesos cuyo dueño sea root
En los puertos del 1024 al 65535 se puede atar cualquier
proceso.
GSyC - 2011
Configuración básica de la red
27
NAT: Network Address Translation
Puertos
/etc/services
ssh
ssh
smtp
www
www
pop3
pop3
sunrpc
sunrpc
ntp
ntp
irc
irc
ldap
ldap
https
https
rsync
rsync
GSyC - 2011
22/tcp
22/udp
25/tcp mail
80/tcp http
80/udp
110/tcp pop-3
110/udp pop-3
111/tcp portmapper
111/udp portmapper
123/tcp
123/udp
194/tcp
194/udp
389/tcp
389/udp
443/tcp
443/udp
873/tcp
873/udp
Configuración básica de la red
28
NAT: Network Address Translation
Direcciones públicas y privadas
Direcciones públicas y privadas
NAT permite que una red con rango de direcciones IP
privadas pueda acceder a máquinas con direcciones IP
públicas compartiendo una única dirección pública, la del
router que hace NAT
En el router que hace NAT, se asocia una dirección pública y
un puerto (del router) con una dirección privada y un puerto
(de una máquina de la red privada)
GSyC - 2011
Configuración básica de la red
29
NAT: Network Address Translation
Direcciones públicas y privadas
En la arquitectura cliente/servidor, normalmente es el cliente quien
inicia la conexión
Cliente detrás del NAT:
por ser el cliente quien empieza, el router puede ver
qué dirección privada:puerto está usando, y automáticamente
asociarlo con la dirección pública:puerto
Servidor detrás del NAT:
Cuando el cliente envı́a una petición, el servidor aún no ha
hablado, por tanto no se puede establecer automáticamente la
relación dirección privada:puerto
Hay que hacerlo a mano, lo que se denomina Port forwarding,
o en español, informalmente, abrir puertos
GSyC - 2011
Configuración básica de la red
30
NAT: Network Address Translation
Configuración del Port Forwarding
Configuración del Port Forwarding
El Port forwarding, es esencialmente igual en todos los routers
Las instrucciones concretas para prácticamente cualquier
router podemos encontrarlas en www.portforward.com
En nuestro caso lo haremos en el router integrado en
VirtualBox
El NAT de virtualbox se configura con el mandato VBoxManage
(Se ejecuta en el Host, que es donde esá el router)
Como es largo y mezcla mayúsculas y minúsculas, podemos
definir
alias vbm=’VBoxManage’
GSyC - 2011
Configuración básica de la red
31
NAT: Network Address Translation
Configuración del Port Forwarding
Ejemplo:
Definimos la regla apache para que las conexiones a la IP del
host, puerto 10080 TCP, vayan al interfaz 0 del la dirección IP
del guest mv01, puerto 80
vbm setextradata "mv01" "VBoxInternal/Devices/e1000/0/LUN#0/Config/regla_apache/Protocol" TCP
vbm setextradata "mv01" "VBoxInternal/Devices/e1000/0/LUN#0/Config/regla_apache/GuestPort" 80
vbm setextradata "mv01" "VBoxInternal/Devices/e1000/0/LUN#0/Config/regla_apache/HostPort" 10080
(e1000 se corresponde con la tarjeta de red Intel Network Adapter, podrı́a
ser pcnet)
Para verificar que la regla está bien instalada
vbm getextradata mv01 enumerate
Para borrar una regla, la creamos sin argumento
vbm setextradata "mv01" "VBoxInternal/Devices/e1000/0/LUN#0/Config/regla_apache/Protocol"
Tras cargar las reglas, es necesario detener y reiniciar
VirtualBox
Para ver en el router las conexiones abiertas
netstat -t -u
GSyC - 2011
Configuración básica de la red
32
NAT: Network Address Translation
Llamadas a un servidor tras un NAT
Llamadas a un servidor tras un NAT
Como usamos un puerto no estándar para el servicio, hay que
indicarlo explı́citamente en el cliente.
La sintaxis cambia con cada aplicación
scp -P 10080 usuario@maquina:/trayecto/fichero .
http://maquina:10080
ssh user@localhost -p 10080
GSyC - 2011
Configuración básica de la red
33
NAT: Network Address Translation
Llamadas a un servidor tras un NAT
Observaciones:
Es un error frecuente intentar emplear en el cliente la
dirección y/o el puerto que tiene el servidor en la red privada.
La dirección y el puerto que ve el cliente es la de la máquina
que hace NAT
En Debian/Ubuntu, la configuración por omisión no incluye
servidor de SSH. Si lo necesitamos, debemos instalarlo
explı́citamente
GSyC - 2011
Configuración básica de la red
34
Descargar