A la hora de desplegar un servicio o servidor en una máquina qué utiliza Ubuntu, tenemos el problema de qué no conseguimos conectar al sitio. Ya sea un apache2 (que trabaja sobre puerto 80 por defecto) o cualquier otro servidor con cualquier otro puerto.
Primero podemos comprobar si el servicio funciona sobre el puerto que esperamos, poniendo el siguiente comando:
netstat -tulnp | grep:80
En este caso ponemos grep:80 para saber qué servicio está escuchando por el puerto 80, si queremos utilizar otro puerto tendremos que poner:
netstat -tulnp | grep:NUMERO_PUERTO
Una vez ejecutado el comando, nos devolverá qué servicio está a la escucha por el puerto indicado en NUMERO_PUERTO.
Y ahora para permitir las conexiones a través de ese puerto tenemos que ejecutar el siguiente comando:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
Es posible que los comandos indicados requieran usar sudo en algún caso.
Este comando permite tráfico TCP por el puerto 80 y escribe la regla en iptables.
Aviso a navegantes, el comando qué indico no es persistennte y solo se aplica la regla hasta qué reiniciamos la máquina. En siguientes POST indicaré cómo realizar estas reglas de forma persistente.
Y si queremos indicar otro puerto, solo tenemos que cambiar el 80 por cualquier otro puerto que elijamos.
iptables -I INPUT -p tcp --dport NUMERO_PUERTO -j ACCEPT
En NUMERO_PUERTO va el número de puerto qué queremos exponer.
Y hasta aquí el tutorial de hoy.
Ingeniero en Informática, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.
6 comentarios en «Cómo abrir un puerto o puertos en Ubuntu (Linux) por defecto utilizando ip-tables»