Está en la página 1de 7

EJERCICIOS DE REDES

1.

Configurar por completo la red mostrada en el siguiente diagrama:


NOTA: no tenemos la posibilidad de
configurar el router con ip 192.168.1.1
(manejado por otro administrador), de
ah que hemos introducido un router
que gestionar toda nuestra red
(192.168.1.10).

Aspectos a tener en cuenta a la hora de realizar el diseo:


Las redes 172.16.0.0/16 y 172.17.0.0/16 no deben estar comunicadas, a excepcin de los
equipos U4 y U7 que deben estarlo para poder establecer una VPN entre ellos (no son
accesibles a travs de internet, por eso se tendr que aadir una ruta esttica a mayores).
En U2 y U5 hay firewalls que impiden el acceso del exterior, pero permiten que los PCs de
la red interna puedan acceder a internet a travs de los puertos destinados a servicios
web, dns y ftp.
Mediante el acceso desde la red 192.168.1.0 al router U1 se deben servir los servicios FTP,
Web y Servidor multimedia al exterior (NAT). El resto de servicios sern servidos por el PC
situado en la zona desmilitarizada (U8).

SOLUCIONES

U1
Fichero de configuracin:
#!/bin/bash
#Permitir reenvo de paquetes IP
echo 1 > /proc/sys/net/ipv4/ip_forward
#Establecer direcciones ip de las interfaces
ip addr add 192.168.1.10/24 dev eth0
ip addr add 192.168.0.1/24 label eth0:0 dev eth0
#Activar la interfaz
ip link set eth0 up
#Definir rutas para este router
ip route add default via 192.168.1.1
#Iniciar el firewall (iptables - netfilter)
/etc/init.d/firewall start
#Nota: se debe crear un enlace simblico (ln -s) en /etc/init.d/firewall que apunte al fichero
./iptables_001

Fichero iptables
#!/bin/bash
IPTABLES="/sbin/iptables"
MODPROBE="/sbin/modprobe"
RMMOD="/sbin/rmmod"
case $1 in
start)
#Polticas por defecto: aceptar todos los paquetes
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
#redirigimos al servidor en la zona DMZ todas las peticiones de la red externa
$IPTABLES -t nat -A PREROUTING -s 192.168.1.0 -j DNAT --to 192.168.0.2
#redirigimos a los respectivos servidores las peticiones externas
#servidor web
$IPTABLES -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j DNAT --to
192.168.0.10:80
$IPTABLES -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 443 -j DNAT --to
192.168.0.10:80
#servidor multimedia
$IPTABLES -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 14220 -j DNAT --to
192.168.0.10:14220
#servidor ftp
$IPTABLES -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 21 -j DNAT --to
192.168.0.20:21
#ip masking: dar internet a toda la red interna
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
#mdulos para trabajar con FTP (connection tracking y nat)
$MODPROBE nf_conntrack_ftp

$MODPROBE nf_nat_ftp
;;
stop)
#Poltica no restrictiva al detener el servicio
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
#Eliminar las reglas definidas
$IPTABLES -t filter -F INPUT
$IPTABLES -t filter -F OUTPUT
$IPTABLES -t filter -F FORWARD
$IPTABLES -t nat -F PREROUTING
$IPTABLES -t nat -F POSTROUTING
#Desactivar los mdulos para trabajar con FTP
$RMMOD nf_nat_ftp
$RMMOD nf_conntrack_ftp
;;
restart)
$0 stop
$0 start
;;
esac

U2
Fichero de configuracin
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ip addr add 192.168.0.10/24 dev eth0
ip addr add 172.16.0.1/16 label eth0:0 dev eth0
ip link set eth0 up
ip route add default via 192.168.0.1
/etc/init.d/firewall restart

Fichero de iptables
#!/bin/bash
IPTABLES="/sbin/iptables"
MODPROBE="/sbin/modprobe"
RMMOD="/sbin/rmmod"
case $1 in
start)
#Polticas por defecto: ignorar todos los paquetes
$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P OUTPUT DROP
$IPTABLES -t filter -P FORWARD ACCEPT
#Aceptar peticiones icmp
$IPTABLES -t filter -A INPUT -p icmp -j ACCEPT
$IPTABLES -t filter -A OUTPUT -p icmp -j ACCEPT

#Aceptar peticiones DNS (necesario para resolucin de nombres)


$IPTABLES -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
#Aceptar peticiones de pginas web en el exterior
$IPTABLES -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
#Aceptar peticiones FTP salientes
$IPTABLES -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
#Servicios de la red
#Aceptar conexiones por SSH de la red 192.168.0.0/24
$IPTABLES -t filter -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
#aceptar los paquetes relacionados con la web y el servidor multimedia
$IPTABLES -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
$IPTABLES -t filter -A INPUT -s 172.16.0.0/16 -p tcp --dport 14220 -j ACCEPT
#Redirigimos a los respectivos servidores
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 172.16.0.2:80
$IPTABLES -t nat -A PREROUTING -p tcp --dport 14220 -j DNAT --to 172.16.0.3:14220
#ip masking
$IPTABLES -t nat -A POSTROUTING -s 172.16.0.0/16 -j MASQUERADE
#Connection tracking, necesario para dar y recibir respuestas
$IPTABLES -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$MODPROBE nf_conntrack_ftp
$MODPROBE nf_nat_ftp
;;
stop)
#Poltica no restrictiva al detener el servicio
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
#Eliminar las reglas definidas
$IPTABLES -t filter -F INPUT
$IPTABLES -t filter -F OUTPUT
$IPTABLES -t filter -F FORWARD
$IPTABLES -t nat -F PREROUTING
$IPTABLES -t nat -F POSTROUTING
$RMMOD nf_nat_ftp
$RMMOD nf_conntrack_ftp
;;
restart)
$0 stop
$0 start
;;
esac

U3
Fichero de configuracin
#!/bin/bash
ip addr add 172.16.0.2/16 dev eth0
ip link set eth0 up
ip route add default via 172.16.0.1

U4
Fichero de configuracin
#!/bin/bash
ip addr add 172.16.0.3/16 dev eth0
ip link set eth0 up
ip route add default via 172.16.0.1
#Iniciar el servidor multimedia en segundo plano
/home/bruno/multimedia_server.sh &

Fichero multimedia_server.sh
#!/bin/bash
while [ 0 = 0 ]
do
#Escuchar en el puerto 14220, a la espera de la entrega de ficheros multimedia a partir de una tubera
de datos con socat (se guarda un log en el directorio home del usuario)
socat tcp4-listen:14220 stdio | madplay - >> $HOME/multimedia.log
done

U5
Fichero de configuracin
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ip addr add 192.168.0.20/24 dev eth0
ip addr add 172.17.0.1/16 label eth0:0 dev eth0
ip link set eth0 up
ip route add default via 192.168.0.1
#ruta necesaria para la creacin de tneles con 172.16.0.3
ip route add 172.16.0.3 via 192.168.0.10
/etc/init.d/firewall restart

Fichero de iptables
#!/bin/bash
IPTABLES="/sbin/iptables"
MODPROBE="/sbin/modprobe"
RMMOD="/sbin/rmmod"
case $1 in

start)
#Denegar todos los paquetes de entrada o salida
$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P OUTPUT DROP
$IPTABLES -t filter -P FORWARD ACCEPT
#Aceptar peticiones icmp
$IPTABLES -t filter -A INPUT -p icmp -j ACCEPT
$IPTABLES -t filter -A OUTPUT -p icmp -j ACCEPT
#Permitir acceder a sitios web (puerto 80 y 443)
$IPTABLES -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
#Y a peticiones dns
$IPTABLES -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
#Y peticiones FTP
$IPTABLES -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
#Y peticiones del servidor multimedia
$IPTABLES -t filter -A OUTPUT -p tcp --dport 14220 -j ACCEPT
#Y conexiones por SSH provenientes de la red 192.168.0.0/24
$IPTABLES -t filter -A INPUT -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
#Aceptar puerto FTP
$IPTABLES -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
#Redirigilo a la mquina que lo gestiona
$IPTABLES -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to 172.17.0.2:21
#ip masking -> dar internet a toda la red
$IPTABLES -t nat -A POSTROUTING -s 172.17.0.0/16 -j MASQUERADE
#Respuesta para conexiones necesarias para comunicaciones o ya establecidas
$IPTABLES -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#FTP Connection tracking necesita el mdulo correspondiente
$MODPROBE nf_conntrack_ftp
$MODPROBE nf_nat_ftp
;;
stop)
#Poltica no restrictiva al detener el servicio
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
#Eliminar las reglas definidas
$IPTABLES -t filter -F INPUT
$IPTABLES -t filter -F OUTPUT
$IPTABLES -t filter -F FORWARD
$IPTABLES -t nat -F PREROUTING
$IPTABLES -t nat -F POSTROUTING
#Desactivar el mdulo connection tracking de ftp
$RMMOD nf_nat_ftp
$RMMOD nf_conntrack_ftp

;;
restart)
$0 stop
$0 start
;;
esac

U6
Fichero de configuracin
#!/bin/bash
ip addr add 172.17.0.2/16 dev eth0
ip link set eth0 up
ip route add default via 172.17.0.1

U7
Fichero de configuracin
#!/bin/bash
ip addr add 172.17.0.3/16 dev eth0
ip link set eth0 up
ip route add default via 172.17.0.1
#Crear el tnel con 172.16.0.3 (ssh y socat)
#NOTA: necesita configuracin previa con ssh-keygen (creacin de claves asimtricas para
autenticacin)
socat tun:10.0.0.1/8 exec:"ssh -i /root/.ssh/id_rsa root@172.16.0.3 'socat tun:10.0.0.2/8 stdio'" &
ip link set tun0 up
ssh -i /root/.ssh/id_rsa root@172.16.0.3 "ip link set tun0 up"

U8
Fichero de configuracin
#!/bin/bash
ip addr add 192.168.0.2/24 dev eth0
ip link set eth0 up
ip route add default via 192.168.0.1

También podría gustarte