Redirección de puertos con iptables + contrack

Pues seguimos con éstos pequeños errores que hemos cometido siempre y que ahora en un momento de cambios y con mucho mas entendimiento llegan mejores soluciones para que las cosas funcionen mejor (tanto a nivel técnico como personal). Hoy estoy tiernecilla y quiero agradecer con éste post todas éstas personas que seguís los posts que publico y tenéis al igual que yo éste blog como una herramienta de consulta, un lugar claro, sin muchas complicaciones donde encontrar justo aquello que necesito en cada momento o me da la pista para poder seguir avanzando con algo mas grande que estoy construyendo con el paso de los días.

Ésta vez me encuentro solucionando un problema que inicialmente parecía de nginx pero ha resultado ser de iptables, y es que las cosas nunca son lo que parecen a primera vista y es necesario tener un gran conocimiento del sistema para entender como poder solucionar los problemas de base y encontrar una solución definitiva que evita fallos futuros, para casos como hoy que ya en producción me encuentro con un problema grave de base. Para que un sistema funcione bien, las capas inferiores (base) deben estar bien.

Me dejo ya de palabrerías y comentarios dobles y me pongo en materia. El post que rectifico es éste: Proxmox + nat + iptables.

Gracias a las configuraciones de las antenas en los supernodos entiendo que se deben marcar los paquetes tanto de entrada (prerouting) como de salida (postrouting). En TCP hay una llamada de un …

Proxy apache con https

Cuando tienes pocas IPs y muchas maquinas una de las opciones que tienes para preservar IPs es usar proxy_http de apache, pero ¿qué ocurre cuando quieres proxyear conexiones https?

Lo lógico ha sido crear el certificado en la máquina que contiene el servicio bajo ssl, hasta aquí todo OK, pero se complicaba la cosa al tratar de hacerlo pasar por el servidor que hace de proxy apache.

Vamos a ver como lo he hecho, no es exactamente como quería, pero la cosa es que funciona :P

Para recopilar un poco y como ha habido cambios en la web startssl voy a poner el paso a paso, además que el post que tengo es un poco viejuno ya!…

Generar certificados válidos startssl en apache

Es importante que ciertas comunicaciones estén cifradas, para ello vamos a generar un certificado y lo vamos a verificar con la entidad certificadora startssl que nos permite validar certificados SSL. También podríamos hacer este paso sin validarlo en startssl, pero luego nos saldría cuando navegamos en el servidor que el certificado no es válido, pero la navegación sería segura igualmente.

Lo primero es generar los ficheros de certificado, el .csr, el .key y el .crt en nuestro servidor. Vamos a generar las claves para admin.sip.polaris.capa8.cat.

Verificaremos que tenemos instalado el paquete openssl, si no es así, lo instalamos:

root@polaris-pbx:~# apt-get install openssl

Nos iremos al directorio /etc/ssl/private y ahí generamos las claves…

Limitar el ancho de banda de apache

Cuando tienes un datacenter montado en casa, probablemente tengas una conexión con un ancho de banda de subida de mierda (hablando en claro hehe), así que cuando algún usuario se dedica a descargar algún vídeo o imagen un poco grande te encuentras que una sola instancia de apache hace que la red no funcione en absoluto, ya que para descargar, necesitas mandar datos a internet, pero como tienes la subida colapsada, la descarga no funciona.

Así que limitaremos el ancho de banda de subida para que así las peticiones de apache no causen problemas en nuestra conexión :)

Instalamos el módulo de apache libapache2-mod-bw

# apt-get install libapache2-mod-bw

Lo activamos

# a2enmod bw

Modificamos el virtualhost



#... el resto de cosas de este virtualhost

BandWidthModule On
ForceBandWidthModule On
BandWidth 192.168.1.0/24 0
BandWidth all 32000

32000 = 4Mbps, Mbps*100/8

Y reiniciamos apache

# service apache2 restart