poner anuncio de servicio suspendido en un servidor con apache

Forums: 

mi inquitud es que estoy tratando de mostrar una pagina a algunas personas que estan en mi lan y que tienen internet conmigo yo les vendo internet a ellos, pero en mi servidor tengo una pagina web actualmente como puedo en iptables que me muestre una pagina de servicio suspendido, lo que pasa es que con el virtual host de apache me funciona cuando le ponen el ip virtual que le asigne para no entrar en conflicto con el ip de la web y funciona bien pero con iptables siempre me muestra la pagina web de mi servidor y lo que quiero es que aparezca un mensaje de servicio suspendido para los morosos ;), que me sugieren para este proposito que me ha tenido buenas horas luchando y no lo he logrado.
he tratado con DNAT y nada pero cuando ponen el ip si muestra la web de servicio suspendido y cuando ponen la otra ip de la pagina muestra perfectamente la pagina del servidor. lo que quiero es que cuando pongan una direccion web que no sea de la lan sino que sea de internet se direccione siempre al servidor y muestre el mensaje de servicio suspendido, lo he logrado con hacer que cuando pongan microsoft.com se vayan a google.com ;) pero no logro en mi propio servidor que haga lo mismo solo con sitios remotos lo logro pero localmente no he podido.

Con iptables puedes usar

Imagen de Monkito

Con iptables puedes usar REDIRECT como cuando se redirecciona a un proxy transparente. pero mejor es con las acls del squid, cuando quieres que a un cliente se le muestre ese mensaje lo sacas de la lista de acceso, y el mensaje o editas en los archivos de error, creo que es el ERR_ACCESS_DENIED.html.

bye.

------------
counter.li.org

Cogito Ergo Sum

------------
counter.li.org

Cogito Ergo Sum

Así es, digamos que la ip

Imagen de Monkito

Así es, digamos que la ip 192.168.1.130 tiene suspendido el servicio, y que el host 192.168.1.2 es un linux con apache publicando un mensaje que diga ==> Lo sentimos ud no nos ha pagado, por lo tanto no podrá navegar


# para que no se salte el control cambiandose sólo de ip
ip neig replace 192.168.1.130 lladdr $La_Mac_del_Cliente dev eth1 nud perm
# para que pueda hacer consultas DNS y así no le salga error antes de ir al mensaje
iptables -t filter -A FORWARD -s 192.168.1.130 -d $un_dns_de_confianza -j ACCEPT
iptables -t filter -A FORWARD -d 192.168.1.130 -s $un_dns_de_confianza -j ACCEPT
# para que cuando intente navegar sea redirigido al mensaje
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.1.130 -j REDIRECT -to 192.168.1.2:80
# para que luego de eso no pueda hacer ni ping.
iptables -t nat -A PREROUTING -p all -s 192.168.1.130 -j DROP
iptables -t filter -A FORWARD -p all -s 192.168.1.130 -j DROP
iptables -t filter -A FORWARD -p all -d 192.168.1.130 -j DROP
iptables -t filter -A INPUT -p all -s 192.168.1.130 -j DROP

PD: una u otras reglas se deberían agregar dependiendo de las políticas por defecto que uses y el esquema en sí de tu firewall.

------------
counter.li.org

Cogito Ergo Sum

------------
counter.li.org

Cogito Ergo Sum

probe de todas las formas que me expusistes monkito

Imagen de juandarcy2000

les agradezco a todos pero al momento de navegar con las reglas explicadas por monkito la solicitud se queda colgada y no muestra la pagina de error lo que hice para resolver el dilema fue hacer que el usuario reciba de squid el mensaje de error ERR_ACCESS_DENIED y lo reemplace por la pagina de suspendido como explico monkito al inicio pero voy a seguir investigando el asunto talvez alguien que lo alla probado comente si funciono su metodo con iptables. gracias por haberme apoyado en el problema pero si no se gana por un lado se gana por otro eso es lo bueno de linux.

Si definitivamente Squid es

Imagen de isacnet

Si definitivamente Squid es mas eficaz en esos menesteres, mantiene todo simple y facil, que es lo mejor que uno debe tener en un entorno al que hay que administrarlo dinamicamente

Saludos
_______________________________________
Trend Micro el mejor antivirus del mundo 40% del mercado mundial de gateway
240 millones de usuarios no pueden equivocarse
http://www.trendmicro.com.ec
Mercadeo@trendmicro.com.ec

_______________________________________
ISACNET S.A.
Ecuador: +593-2-3238590
Perú: +51-1-4223796

HP y Trend Micro, lo mejor de 2 mundos en un solo Socio de Negocios
http://www.isacnet.com.pe

Para que te funcione lo que

Imagen de Monkito

Para que te funcione lo que te dije tienes que dejar que tus clientes puedan hacer resoluciones DNS, si no se va a colgar y te va a salir error antes que se redireccione a la página de error.

------------
counter.li.org

Cogito Ergo Sum

------------
counter.li.org

Cogito Ergo Sum

lo probe y aun se cuelga

Imagen de juandarcy2000

es que ni siquiera lo deja hacer consulta se queda contactando ecualug.org y no me muestra error de navegacion simplemente no logra hacer contacto con la web y no da error hasta que pasa unos segundos y a un imposible contactar con el servidor, incluso lo deje igual que tu ejemplo e igual se muere no deja hacer ni una consulta y menos que redireccione. esta medio complicado esto :(

Hay varios factores a

Imagen de Monkito

Hay varios factores a considerar para determinar el error, ej:

- El servidor web con el mensaje de error está en la misma red que los clientes?, está afuera?
- que políticas por defecto usas en tu script de iptables?, lo podrías postear?
- El servidor web es accesible con http://ipdelservidor/ ..?
- si pasan unos segundos y la conexión no avanza, es muy posible que los clientes ni siquiera puedan hacer peticiones DNS, lo cual es necesario

------------
counter.li.org

Cogito Ergo Sum

------------
counter.li.org

Cogito Ergo Sum

asi esta el servidor monkito

Imagen de juandarcy2000

- el mismo servidor que hace de router nat y es proxy transparente es el que tiene la pagina web y es accesible con el ip desde la misma red y desde internet.
- la politica del firewall de iptables es aceptar todo no hago bloqueos de ningun tipo.