En mi CentOS 6, agregué reglas de IPtables como DROP, todas las políticas como
iptables -P INPUT DROP
Luego permito el puerto NO 22,80,443 con este comando,
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
Ahora puede acceder a SSH con masilla. Pero no puedo acceder a Internet. Tengo que saber el problema exacto de esto. Por favor, ayúdame.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
para esto. En la mayoría de las situaciones, esa debería estar entre las primeras reglas de la cadena.)Respuestas:
Para diagnosticar esto con precisión, necesitaríamos ver sus reglas de IPTables, que puede proporcionar usando 'iptables -vnL'
Las reglas de IPTables son específicas de la orden.
Lo más probable es que tenga una regla "DENY" antes de las reglas -A que acaba de agregar. Estoy bastante seguro de que, por defecto, Redhat / CentOS permite el puerto 22 en la configuración predeterminada, pero no los otros puertos, razón por la cual SSH está funcionando. Puede probar fácilmente esta teoría modificando "-A INPUT" a "-I INPUT". El -I inserta las reglas al comienzo del filtro, el -A está al final.
Nuevamente, el uso de iptables -vnL le mostrará los contadores y, si tiene un entorno controlado, puede ayudarlo a determinar qué regla está afectando a qué paquete.
fuente
Primero, no podemos ver todas sus reglas, pero necesita esta con seguridad.
iptables -I INPUT 1 -m conntrack -j ACCEPT --ctstate RELACIONADO, ESTABLECIDO
fuente