Escenario:
He instalado x aplicación, la cual tiene un interfaz de administración web, en mi Raspberry Pi.Puedo acceder por SSH a la Pi y al interfaz web desde ella, pero desde otro equipo en la misma red, no.
Comandos útiles para comprobaciones:
netstat -punta | grep LISTEN #localmente
netstat -punta | grep miaplicacion
nmap -p80 dirección.ip.raspberry #desde el exterior
Troubleshooting:
Puesto que podemos hacer SSH a la Pi, nuestro abanico de posibles problemas se cierra bastante y nos quedamos con problemas de firewall, iptables, selinux o errores de configuración.
Firewall
Iptables
Solución rápida; borrar nuestra configuración:
iptables -F
Solución menos rápida, comprobar la configuración y hacer los ajustes necesarios, en caso de ver algún error:
iptables -L #Configuración actual
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT #Abrir puerto TCP 80 (ejemplo)
Un poco de ayuda con el tema de Iptables -> https://help.ubuntu.com/community/IptablesHowTo
Selinux (desgraciado...)
En caso de que no esté ya, lo deshabilitamos:
vi /etc/selinux/config #la ruta puede variar un poco dependiendo de vuestro OS
Cambiamos
SELINUX=permissive
por SELINUX=disabled
sestatus #comprobamos que, en efecto, lo hemos deshabilitado
Errores de configuración
Si has llegado a este punto, es porque todo lo anterior ha fallado y sigues sin poder acceder a tu aplicación. En ese caso, solo nos queda lidiar con los ficheros de configuración de dicha aplicación
(y su manual) para comprobar que no hay ninguna opción que impida aceptar tráfico desde el exterior. Una opción común de este tipo hace referencia a algo como LISTEN, NETWORK o INTERFACES seguido de una dirección de red (en caso de ser 127.0.0.1, habría que cambiarla por la de nuestra red o 0.0.0.0 para aceptar tráfico desde cualquier parte).