Navigation

Ejercicio sobre NAT

Compártelo:


Monta en tu equipo un escenario con las siguientes características:
  • La máquina virtual esté conectada a la máquina anfitriona a través de un bridge denominado br-lan formando una red local interna
  • El direccionamiento de la red local interna es 10.10.10.0/24, la máquina anfitriona tiene la dirección IP 10.10.10.1 y la máquina virtual la 10.10.10.2
  • La máquina virtual puede acceder al exterior gracias a que la máquina anfitriona hace SNAT
  • Es posible acceder por ssh a la máquina virtual desde el exterior a través del puerto 2222/tcp

 SOLUCION


Creo el puente "br-lan":
brctl addbr br-lan


Creo la interfaz "tap":
ip tuntap add mode tap user alex


Conecto el puente con la interfaz "tap":
brctl addif br-lan tap0


Creo la MAC para la máquina virtual:
MAC0=$(echo "02:"`openssl rand -hex 5 | sed 's/\(..\)/\1:/g; s/.$//'`)


Los levanto y posteriormente le asigno una IP al puente "b-lan", en este caso la IP: 10.10.10.1:
ip l set dev tap0 up
ip l set dev br-lan up
ip a add 10.10.10.1/24 dev br-lan


Gracias al comando "echo" cambio el valor del bit de forwarding a 1 para que mi ordenador anfrition sea capaz de reenviar los paquetes por la interfaz más adecuada para que llegue a su destino:
echo '1' > /proc/sys/net/ipv4/ip_forward


Agrego las siguientes reglas gracias al comando "iptables":
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to 172.22.7.42
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 10.10.10.2:22


Ejecuto la máquina virtual con el siguiente comando:
kvm -m 512 -hda jessie1.qcow2 \
-device virtio-net,netdev=n0,mac=$MAC0 \
-netdev tap,id=n0,ifname=tap0,script=no,downscript=no


Le asigno una ip a la máquina virtual, levanto la interfaz gráfica y le asigno como via por defecto la IP 10.10.10.1:
ip a add 10.10.10.2/24 dev eth0
ip l set dev eth0 up
ip r add default via 10.10.10.1


Compruebo que funcione todo correctamente:
ping 10.10.10.1
ping 172.22.0.1


Y por último accedo a la máquina virtual desde el exterior:
ssh -p 2222 usuario@172.22.7.42

Compártelo:

redes

Post A Comment:

0 comments: