Lo primero: No utilices reglas de iptables, a menos que tengan amplios conocimientos de IP y UDP/TCP. De lo contrario, utiliza algún firewall ya hecho, que te hará las cosas más fáciles. Te sugiero dos alternativas:
- Firehol. Es simple, suficiente si sólamente quieres controlar acceso en un servidor, es decir, si no tienes VMs ni nada por el estilo. Una opción útil es que puedes activarlo con "firehol try", y esperará hasta 30 segundos a que escribas "COMMIT"; de lo contrario, anulará los cambios hechos. Esto permite que, si perdieses conexión, el firewall se restauraría sólo a como estaba antes. Web:
http://www.firehol.org
- Shorewall. Es más avanzado, y mi opción preferida. Es fácil de configurar; no tanto como firehol, pero fácil igualmente. Tiene una opción equivalente a la que mencioné sobre firehol, ejecutando "shorewall try /etc/shorewall 1m", esperará un minuto antes de deshacer los cambios; en vez de escribir "COMMIT" como en firehol, le das Ctrl + C para confirmar los cambios. También, como medida de seguridad al crear tu primera configuración, aunque lo habilites en inicio automático(systemctl o chkconfig), no se iniciará mientras no le cambies el parámetro correspondiente en shorewall.conf, evitando así una activación accidental cuando comienzas a configurarlo. Web:
http://www.shorewall.net
Ambos los puedes encontrar en el repositorio EPEL para CentOS.
Un detalle que me olvidaba: si estás en un VPS, siempre puedes utilizar la función KVM desde el Manager, que te permitirá acceder a tu VPS aún cuando no puedas por problemas de configuración del firewall.